From b803ff18adb969e2d481bceceb1cb3fc45511241 Mon Sep 17 00:00:00 2001 From: eti Date: Tue, 1 Sep 2026 18:02:59 +0200 Subject: [PATCH] web/repo: make BlobHeader wrap into three rows below md Signed-off-by: eti --- .../components/repo/BlobHeader.stories.svelte | 8 +- web/src/lib/components/repo/BlobHeader.svelte | 153 ++++++++++-------- 2 files changed, 88 insertions(+), 73 deletions(-) diff --git a/web/src/lib/components/repo/BlobHeader.stories.svelte b/web/src/lib/components/repo/BlobHeader.stories.svelte index 15279279f..978061ce4 100644 --- a/web/src/lib/components/repo/BlobHeader.stories.svelte +++ b/web/src/lib/components/repo/BlobHeader.stories.svelte @@ -22,7 +22,7 @@ }; const linksToRaw = async ({ canvas }: PlayContext) => { - const raw = canvas.getByRole("link", { name: "Raw" }); + const raw = canvas.getByRole("link", { name: "Open raw file" }); await expect(raw).toHaveAttribute( "href", "/dawn/tangled/raw/main/web/src/lib/components/repo/BlobView.svelte" @@ -36,8 +36,8 @@ }; const flipsView = async ({ canvas, userEvent }: PlayContext) => { - const source = canvas.getByRole("button", { name: "Source" }); - const preview = canvas.getByRole("button", { name: "Preview" }); + const source = canvas.getByRole("button", { name: "View source" }); + const preview = canvas.getByRole("button", { name: "View rendered" }); await expect(preview).toHaveAttribute("aria-pressed", "true"); await userEvent.click(source); await expect(source).toHaveAttribute("aria-pressed", "true"); @@ -100,6 +100,6 @@ play={async ({ canvas }: PlayContext) => { await expect(canvas.getByText("spindle")).toBeVisible(); await expect(canvas.queryByRole("link", { name: "Download" })).toBeNull(); - await expect(canvas.queryByRole("link", { name: "Raw" })).toBeNull(); + await expect(canvas.queryByRole("link", { name: "Open raw file" })).toBeNull(); }} /> diff --git a/web/src/lib/components/repo/BlobHeader.svelte b/web/src/lib/components/repo/BlobHeader.svelte index 7d31dc664..9fe0a4b3d 100644 --- a/web/src/lib/components/repo/BlobHeader.svelte +++ b/web/src/lib/components/repo/BlobHeader.svelte @@ -10,6 +10,7 @@ import Checkbox from "$lib/components/ui/Checkbox.svelte"; import ColorBall from "$lib/components/ui/ColorBall.svelte"; import CopyButton from "$lib/components/ui/CopyButton.svelte"; + import Separator from "$lib/components/ui/Separator.svelte"; import { LANGUAGE_COLORS, LANGUAGE_COLOR_FALLBACK } from "./language-colors"; import RefChip from "./RefChip.svelte"; import RepoCrumbs from "./RepoCrumbs.svelte"; @@ -57,16 +58,20 @@ ); -
-
+
+
-
+
{#if sizeLabel} {sizeLabel} {/if} {#if sizeLabel && showLines} - + {/if} {#if showLines} {lines} {lines === 1 ? "line" : "lines"} @@ -74,77 +79,87 @@
-
- {#if showWrapToggle} - Wrap - {/if} - - {#if language && languageColor} -
- - {language} -
- {/if} +
+
+ {#if language && languageColor} +
+ + {language} +
+ {/if} + +
+ {#if kind !== "submodule"} - {#if hasRenderedView(kind)} - +
+ {#if showWrapToggle || hasRenderedView(kind)} +
+ {#if showWrapToggle} + + Wrap + + {/if} + {#if hasRenderedView(kind)} + +
+ {/if} + + {#if copyText !== null} + + {/if} + + href={rawHref} + target="_blank" + title="Open raw file" + icon={ExternalLink} + iconSide="right" + /> - - {/if} - - {#if copyText !== null} - - {/if} - -
{/if}
-- 2.54.0