Skip to content

Commit 0451f1b

Browse files
Support ?debug=1 parameter in URL of stepper to render DebugPane
1 parent 35ce366 commit 0451f1b

2 files changed

Lines changed: 22 additions & 7 deletions

File tree

examples/nextjs-import-airbyte-github-export-seafowl/components/ImportExportStepper/Stepper.tsx

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,22 @@ import { ImportPanel } from "./ImportPanel";
44
import { ExportPanel } from "./ExportPanel";
55

66
import styles from "./Stepper.module.css";
7+
import { useRouter } from "next/router";
78

89
const StepperOrLoading = ({ children }: { children: React.ReactNode }) => {
9-
const [{ stepperState }] = useStepper();
10+
const [{ stepperState, debug }] = useStepper();
1011

1112
return (
12-
<>{stepperState === "uninitialized" ? <div>........</div> : children}</>
13+
<>
14+
{stepperState === "uninitialized" ? (
15+
<div>........</div>
16+
) : (
17+
<>
18+
{debug && <DebugPanel />}
19+
{children}
20+
</>
21+
)}
22+
</>
1323
);
1424
};
1525

@@ -18,7 +28,6 @@ export const Stepper = () => {
1828
<StepperContextProvider>
1929
<div className={styles.stepper}>
2030
<StepperOrLoading>
21-
<DebugPanel />
2231
<ImportPanel />
2332
<ExportPanel />
2433
</StepperOrLoading>

examples/nextjs-import-airbyte-github-export-seafowl/components/ImportExportStepper/stepper-states.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export type StepperState = {
2626
exportedTablesLoading?: Set<ExportTable>;
2727
exportedTablesCompleted?: Set<ExportTable>;
2828
exportError?: string;
29+
debug?: string | null;
2930
};
3031

3132
export type StepperAction =
@@ -55,6 +56,7 @@ const initialState: StepperState = {
5556
exportedTablesCompleted: new Set<ExportTable>(),
5657
importError: null,
5758
exportError: null,
59+
debug: null,
5860
};
5961

6062
const getQueryParamAsString = <T extends string = string>(
@@ -91,6 +93,7 @@ const queryParamParsers: {
9193
getQueryParamAsString(query, "splitgraphNamespace"),
9294
splitgraphRepository: (query) =>
9395
getQueryParamAsString(query, "splitgraphRepository"),
96+
debug: (query) => getQueryParamAsString(query, "debug"),
9497
};
9598

9699
const requireKeys = <T extends Record<string, unknown>>(
@@ -151,6 +154,7 @@ const parseStateFromRouter = (router: NextRouter): StepperState => {
151154
exportError: queryParamParsers.exportError(query),
152155
splitgraphNamespace: queryParamParsers.splitgraphNamespace(query),
153156
splitgraphRepository: queryParamParsers.splitgraphRepository(query),
157+
debug: queryParamParsers.debug(query),
154158
};
155159

156160
void stepperStateValidators[stepperState](stepper);
@@ -169,6 +173,7 @@ const serializeStateToQueryParams = (stepper: StepperState) => {
169173
exportError: stepper.exportError ?? undefined,
170174
splitgraphNamespace: stepper.splitgraphNamespace ?? undefined,
171175
splitgraphRepository: stepper.splitgraphRepository ?? undefined,
176+
debug: stepper.debug ?? undefined,
172177
})
173178
);
174179
};
@@ -339,6 +344,11 @@ const useMarkAsComplete = (
339344
throw new Error("Failed to mark import/export as complete");
340345
}
341346

347+
if (response.status === 204) {
348+
console.log("Repository already exists in metadata table");
349+
return;
350+
}
351+
342352
const data = await response.json();
343353

344354
if (!data.status) {
@@ -397,10 +407,6 @@ export const useStepperReducer = () => {
397407
return;
398408
}
399409

400-
console.log("push", {
401-
pathname: router.pathname,
402-
query: serializeStateToQueryParams(state),
403-
});
404410
router.push(
405411
{
406412
pathname: router.pathname,

0 commit comments

Comments
 (0)