From c895cc56a43a86dc761b1cc5cb2e3f1dcd9a84ed Mon Sep 17 00:00:00 2001 From: imagineer99 Date: Tue, 10 Mar 2026 17:38:10 +0000 Subject: [PATCH] fix: redesign summary step with consistent card layout, icons, and compact spacing --- .../components/steps/summary-step.tsx | 192 +++++++++--------- 1 file changed, 99 insertions(+), 93 deletions(-) diff --git a/studio/frontend/src/features/onboarding/components/steps/summary-step.tsx b/studio/frontend/src/features/onboarding/components/steps/summary-step.tsx index 8b4737015c..5e2befee09 100644 --- a/studio/frontend/src/features/onboarding/components/steps/summary-step.tsx +++ b/studio/frontend/src/features/onboarding/components/steps/summary-step.tsx @@ -7,10 +7,43 @@ import { Separator } from "@/components/ui/separator"; import { useTrainingConfigStore } from "@/features/training"; import { useHardwareInfo } from "@/hooks"; import { isAdapterMethod } from "@/types/training"; -import { GpuIcon } from "@hugeicons/core-free-icons"; +import { ChipIcon, Database02Icon, GpuIcon, Settings04Icon } from "@hugeicons/core-free-icons"; import { HugeiconsIcon } from "@hugeicons/react"; import { useShallow } from "zustand/react/shallow"; +function Row({ + label, + value, + mono, + capitalize, + uppercase, +}: { + label: string; + value: React.ReactNode; + mono?: boolean; + capitalize?: boolean; + uppercase?: boolean; +}) { + return ( +
+ {label} + + {value} + +
+ ); +} + export function SummaryStep() { const hw = useHardwareInfo(); const { @@ -71,140 +104,113 @@ export function SummaryStep() { const datasetName = datasetSource === "upload" ? uploadedFile : dataset; return ( -
- +
+ System - -
-
- + +
+
+
-
+
GPU - {hw.gpuName ?? "—"} +
+ {hw.gpuName ?? "---"} + {hw.vramTotalGb != null ? `${hw.vramTotalGb} GB` : "---"} +
- {hw.vramTotalGb != null ? `${hw.vramTotalGb} GB` : "—"}
- +
-
- unsloth - {hw.unsloth ?? "—"} -
-
- torch - {hw.torch ?? "—"} -
-
- transformers - - {hw.transformers ?? "—"} - -
+ + +
- + Model - -
- - {selectedModel ?? "—"} - + +
+
+ +
+
+ Model + {selectedModel ?? "---"} +
- -
- Type - {modelType} -
-
- Method - {trainingMethod} + +
+ +
- + Dataset - -
-
- - {datasetName ?? "—"} - + +
+
+ +
+
+ Dataset + {datasetName ?? "---"}
- -
- Source - {datasetSource} -
- {datasetSubset && ( -
- Subset - {datasetSubset} -
- )} - {datasetSplit && ( -
- Split - {datasetSplit} -
- )} -
- Format - {datasetFormat} + +
+ + {datasetSubset && ( + + )} + {datasetSplit && ( + + )} +
- + Hyperparameters - -
-
- Epochs - {epochs} + +
+
+
-
- Context - - {contextLength.toLocaleString()} - -
-
- LR - {learningRate} +
+ Training + {trainingMethod.toUpperCase()}
+
+ +
+ + + {showLoraParams && ( <> -
- Rank - {loraRank} -
-
- Alpha - {loraAlpha} -
-
- Dropout - {loraDropout} -
+ + + )}