From 6f5a2fe8a1bf3389f98194d1a7d4101d0e9e67b3 Mon Sep 17 00:00:00 2001 From: Unsloth Date: Sat, 25 Jul 2026 03:58:24 -0700 Subject: [PATCH] Images: full-height panes, wider settings rail, Create/Train offset from the selector The rule between the panes now runs the whole page height (the row drops its bottom padding and each pane pads its own content), the settings rail is wider on both Create and Train, and the Create/Train switch sits further right of the model selector. --- .../frontend/src/features/images/images-page.tsx | 14 ++++++++------ .../images/train/diffusion-train-panel.tsx | 10 +++++----- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/studio/frontend/src/features/images/images-page.tsx b/studio/frontend/src/features/images/images-page.tsx index 27fecd1f69..bb7428b868 100644 --- a/studio/frontend/src/features/images/images-page.tsx +++ b/studio/frontend/src/features/images/images-page.tsx @@ -2257,7 +2257,8 @@ export function ImagesPage({ active = true }: { active?: boolean }) { value={pageMode} onValueChange={(v) => setPageMode(v as "create" | "train")} fit={true} - className="h-[34px] [&>button]:h-[34px] [&>button]:px-4" + // ml-5 sets it off from the selector rather than sitting against it. + className="ml-5 h-[34px] [&>button]:h-[34px] [&>button]:px-4" tabs={[ { value: "create", @@ -2318,12 +2319,13 @@ export function ImagesPage({ active = true }: { active?: boolean }) { /> ) : ( /* ── Controls rail + preview canvas. No card: both sit on the page background - like the Hub, divided by a rule, so nothing is spent on box chrome. Padding - mirrors the other tabs (Export, Data Recipes): px-5 / sm:px-9. ── */ -
-
+ like the Hub, divided by a rule, so nothing is spent on box chrome. No bottom + padding either, so the rule runs the full page height; the panes pad their own + content instead. ── */ +
+
{/* pl-0.5 keeps focus rings off the scroll container's edge. */} -
+
{/* Workflow picker. Seven workflows don't fit a segmented strip in this rail, so it's a dropdown; a row stays disabled until the loaded model supports it (status.workflows). New workflows slot in without shrinking anything. */} diff --git a/studio/frontend/src/features/images/train/diffusion-train-panel.tsx b/studio/frontend/src/features/images/train/diffusion-train-panel.tsx index 0e2d46f466..bd9370e7e5 100644 --- a/studio/frontend/src/features/images/train/diffusion-train-panel.tsx +++ b/studio/frontend/src/features/images/train/diffusion-train-panel.tsx @@ -1024,12 +1024,12 @@ export function DiffusionTrainPanel({ ); return ( -
+
{/* Left: configure. No card here or on the right: both panes sit on the page - background like the Hub, divided by a rule. */} -
+ background like the Hub, divided by a rule that runs the full page height. */} +
{/* pl-0.5 keeps focus rings off the scroll container's edge. */} -
+

Train a LoRA

@@ -1284,7 +1284,7 @@ export function DiffusionTrainPanel({ Selecting a previous run re-plots its persisted logs read-only. */} {/* Sections here carry no card of their own: spacing and a rule separate them. p-1.5 keeps the chart cards' outer ring from being clipped. */} -

+
{viewRun && !hasRun ? ( <>