Skip to content

Commit 1117e98

Browse files
committed
chore: move parameters from zustand
1 parent 629063d commit 1117e98

File tree

2 files changed

+15
-19
lines changed

2 files changed

+15
-19
lines changed

src/client/Preview.tsx

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,14 @@ export const Preview: FC<PreviewProps> = ({
5858
output,
5959
}) => {
6060
const $errors = useStore((state) => state.errors);
61-
const $parameters = useStore((state) => state.parameters);
6261
const $resetForm = useStore((state) => state.resetForm);
63-
6462
const [params] = useSearchParams();
6563
const isDebug = useMemo(() => params.has("debug"), [params]);
66-
6764
const [tab, setTab] = useState(() => "preview");
6865

66+
const parameters = output?.output?.parameters ?? [];
67+
console.info(parameters);
68+
6969
const onDownloadOutput = () => {
7070
const blob = new Blob([JSON.stringify(output, null, 2)], {
7171
type: "application/json",
@@ -232,20 +232,20 @@ export const Preview: FC<PreviewProps> = ({
232232
<UserSelect />
233233
</div>
234234
}
235-
{$parameters.length === 0 ? (
235+
{parameters.length === 0 ? (
236236
<div className="flex h-full w-full items-center justify-center overflow-x-clip rounded-xl border p-4">
237237
<PreviewEmptyState />
238238
</div>
239239
) : (
240240
<div className="flex h-full w-full flex-col items-center justify-start gap-5 overflow-x-clip overflow-y-scroll rounded-xl border p-6">
241-
<Form parameters={$parameters} />
241+
<Form parameters={parameters} />
242242
</div>
243243
)}
244244
<div className="flex w-full justify-between gap-3">
245245
<Button variant="outline" onClick={$resetForm} className="w-fit">
246246
Reset form
247247
</Button>
248-
<ViewOutput />
248+
<ViewOutput parameters={parameters} />
249249
</div>
250250
</div>
251251
</Tabs.Content>
@@ -688,12 +688,14 @@ const TableDrawer: FC<TableDrawerProps> = ({
688688
);
689689
};
690690

691-
const ViewOutput: FC = () => {
692-
const $parameters = useStore((state) => state.parameters);
691+
type ViewOutputProps = {
692+
parameters: ParameterWithSource[];
693+
};
694+
const ViewOutput: FC<ViewOutputProps> = ({ parameters }) => {
693695
const [isOpen, setIsOpen] = useState(() => false);
694696

695697
const onView = async () => {
696-
const invalidParameter = $parameters.find((p) => {
698+
const invalidParameter = parameters.find((p) => {
697699
try {
698700
if (!p.value.valid) {
699701
return true;
@@ -721,11 +723,11 @@ const ViewOutput: FC = () => {
721723

722724
const data = useMemo(
723725
() =>
724-
$parameters.reduce<Record<string, string>>((acc, p) => {
726+
parameters.reduce<Record<string, string>>((acc, p) => {
725727
acc[p.name] = p.value.value;
726728
return acc;
727729
}, {}),
728-
[$parameters],
730+
[parameters],
729731
);
730732

731733
return (
@@ -737,7 +739,7 @@ const ViewOutput: FC = () => {
737739
>
738740
<Button
739741
variant="default"
740-
disabled={$parameters.length === 0}
742+
disabled={parameters.length === 0}
741743
onClick={onView}
742744
>
743745
<SearchCodeIcon />

src/client/store.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { Diagnostic } from "@/client/diagnostics";
2-
import type { ParameterWithSource, WorkspaceOwner } from "@/gen/types";
2+
import type { WorkspaceOwner } from "@/gen/types";
33
import type { editor } from "monaco-editor";
44
import { create } from "zustand";
55
import { defaultCode } from "./snippets";
@@ -19,13 +19,11 @@ const defaultErrorsState: ErrorsState = {
1919
type State = {
2020
_force: number;
2121
editor: editor.IStandaloneCodeEditor | null;
22-
parameters: ParameterWithSource[];
2322
form: FormState;
2423
owner: WorkspaceOwner;
2524
errors: ErrorsState;
2625
setError: (diagnostics: Diagnostic[]) => void;
2726
toggleShowError: (open?: boolean) => void;
28-
setParameters: (parameters: ParameterWithSource[]) => void;
2927
setFormState: (key: string, value: string) => void;
3028
setEditor: (editor: editor.IStandaloneCodeEditor) => void;
3129
setWorkspaceOwner: (owner: WorkspaceOwner) => void;
@@ -36,8 +34,6 @@ export const useStore = create<State>()((set) => ({
3634
_force: 0,
3735
code: window.CODE ?? defaultCode,
3836
editor: null,
39-
parameters: [],
40-
wasmState: "loading",
4137
owner: mockUsers.admin,
4238
form: {},
4339
errors: defaultErrorsState,
@@ -58,7 +54,6 @@ export const useStore = create<State>()((set) => ({
5854
},
5955
};
6056
}),
61-
setParameters: (parameters) => set((_) => ({ parameters })),
6257
setFormState: (key, value) =>
6358
set((state) => {
6459
const form = { ...state.form };
@@ -78,6 +73,5 @@ export const useStore = create<State>()((set) => ({
7873
owner,
7974
_force: state._force + 1,
8075
form: {},
81-
parameters: [...state.parameters],
8276
})),
8377
}));

0 commit comments

Comments
 (0)