From 650d2e85ebdf8aee41172d5c5b926c4344fcce65 Mon Sep 17 00:00:00 2001 From: LynithDev <61880709+LynithDev@users.noreply.github.com> Date: Sun, 21 Jul 2024 19:17:18 +0200 Subject: [PATCH] feat: Disable buttons if the setup isn't ready --- .../overlay/cluster/ClusterCreationModal.tsx | 23 +++++++------ .../overlay/cluster/ClusterStepOne.tsx | 32 +++++++++++++++---- 2 files changed, 39 insertions(+), 16 deletions(-) diff --git a/apps/desktop/src/ui/components/overlay/cluster/ClusterCreationModal.tsx b/apps/desktop/src/ui/components/overlay/cluster/ClusterCreationModal.tsx index f6aca072..a2f410ee 100644 --- a/apps/desktop/src/ui/components/overlay/cluster/ClusterCreationModal.tsx +++ b/apps/desktop/src/ui/components/overlay/cluster/ClusterCreationModal.tsx @@ -26,6 +26,7 @@ type ClusterModalStagesLength = UnionToArray['l export function ClusterModalController(props: ParentProps) { const [step, setStep] = createSignal(ClusterModalStages.STAGE_1_PROVIDER); const [visible, setVisible] = createSignal(false); + const [canGoForward, setCanGoForward] = createSignal(false); const stepper: ClusterModalContextFunc = [ step, @@ -51,9 +52,12 @@ export function ClusterModalController(props: ParentProps) { setVisible={setVisible} step={step} setStep={setStep} + canGoForward={canGoForward} buttonIsNext={step() !== ((Object.keys(ClusterModalStages).length / 2) - 1)} > - {(stepComponents[step()]!)()} + {(stepComponents[step()]!({ + canGoForward, setCanGoForward, + }))} ); @@ -63,10 +67,16 @@ export function useClusterModalController() { return useContext(ClusterModalContext); } +export interface ClusterStepProps { + canGoForward: Accessor; + setCanGoForward: Setter; +}; + type ClusterCreationModalProps = FullscreenOverlayProps & { step: Accessor; setStep: Setter; buttonIsNext: boolean; + canGoForward: Accessor; }; function ClusterCreationModal(props: ClusterCreationModalProps) { @@ -76,13 +86,6 @@ function ClusterCreationModal(props: ClusterCreationModalProps) { 'Game Setup', ]; - let content!: HTMLDivElement; - - // TODO: For animation - function updateHeight() { - // content. - } - return (
-
+
{props.children}
@@ -135,6 +138,7 @@ function ClusterCreationModal(props: ClusterCreationModalProps) {