diff --git a/frontend/editor/vite.config.ts b/frontend/editor/vite.config.ts index c8904f9075..a048c79396 100644 --- a/frontend/editor/vite.config.ts +++ b/frontend/editor/vite.config.ts @@ -216,6 +216,17 @@ export default defineConfig(async ({ mode }) => { src: "../node_modules/pdfjs-dist/standard_fonts/*", dest: "pdfjs/standard_fonts", }, + { + // Brand assets live in the shared design system; the editor serves + // them by URL per variant, so copy each set to the /{variant}-logo + // path its manifests, index.html and useLogoAssets resolve against. + src: "../shared/assets/brand/classic-logo/*", + dest: "classic-logo", + }, + { + src: "../shared/assets/brand/modern-logo/*", + dest: "modern-logo", + }, ], }), compressStaticCopyPlugin(), diff --git a/frontend/shared/assets/Brand.stories.tsx b/frontend/shared/assets/Brand.stories.tsx new file mode 100644 index 0000000000..87cf9f1257 --- /dev/null +++ b/frontend/shared/assets/Brand.stories.tsx @@ -0,0 +1,106 @@ +import type { Meta, StoryObj } from "@storybook/react-vite"; + +// Visual catalogue of the shared brand assets (shared/assets/brand) — the single +// source of truth for the Stirling logos used across the apps. +import modernMarkDark from "@shared/assets/brand/modern-logo/StirlingPDFLogoNoTextDark.svg"; +import modernMarkLight from "@shared/assets/brand/modern-logo/StirlingPDFLogoNoTextLight.svg"; +import modernBlack from "@shared/assets/brand/modern-logo/StirlingPDFLogoBlackText.svg"; +import modernWhite from "@shared/assets/brand/modern-logo/StirlingPDFLogoWhiteText.svg"; +import modernGrey from "@shared/assets/brand/modern-logo/StirlingPDFLogoGreyText.svg"; +import classicMarkDark from "@shared/assets/brand/classic-logo/StirlingPDFLogoNoTextDark.svg"; +import classicMarkLight from "@shared/assets/brand/classic-logo/StirlingPDFLogoNoTextLight.svg"; +import classicBlack from "@shared/assets/brand/classic-logo/StirlingPDFLogoBlackText.svg"; +import classicWhite from "@shared/assets/brand/classic-logo/StirlingPDFLogoWhiteText.svg"; +import classicGrey from "@shared/assets/brand/classic-logo/StirlingPDFLogoGreyText.svg"; + +type Asset = { label: string; src: string; onDark?: boolean }; +type VariantSet = { variant: string; mark: Asset[]; wordmark: Asset[] }; + +const SETS: VariantSet[] = [ + { + variant: "modern", + mark: [ + { label: "NoTextDark", src: modernMarkDark }, + { label: "NoTextLight", src: modernMarkLight, onDark: true }, + ], + wordmark: [ + { label: "BlackText", src: modernBlack }, + { label: "GreyText", src: modernGrey }, + { label: "WhiteText", src: modernWhite, onDark: true }, + ], + }, + { + variant: "classic", + mark: [ + { label: "NoTextDark", src: classicMarkDark }, + { label: "NoTextLight", src: classicMarkLight, onDark: true }, + ], + wordmark: [ + { label: "BlackText", src: classicBlack }, + { label: "GreyText", src: classicGrey }, + { label: "WhiteText", src: classicWhite, onDark: true }, + ], + }, +]; + +function Swatch({ label, src, onDark, h }: Asset & { h: number }) { + return ( +
+
+ {label} +
+
+ {label} +
+
+ ); +} + +function Row({ title, items }: { title: string; items: Asset[] }) { + return ( +
+

{title}

+
+ {items.map((a) => ( + + ))} +
+
+ ); +} + +const meta: Meta = { + title: "Brand/Logos", + parameters: { layout: "padded" }, +}; +export default meta; +type Story = StoryObj; + +/** Every brand mark + wordmark, per variant, on the background each is built for. */ +export const Logos: Story = { + render: () => ( +
+ {SETS.map((set) => ( +
+

+ {set.variant} +

+ + +
+ ))} +
+ ), +}; diff --git a/frontend/editor/public/classic-logo/Firstpage.png b/frontend/shared/assets/brand/classic-logo/Firstpage.png similarity index 100% rename from frontend/editor/public/classic-logo/Firstpage.png rename to frontend/shared/assets/brand/classic-logo/Firstpage.png diff --git a/frontend/editor/public/classic-logo/StirlingPDFLogoBlackText.svg b/frontend/shared/assets/brand/classic-logo/StirlingPDFLogoBlackText.svg similarity index 100% rename from frontend/editor/public/classic-logo/StirlingPDFLogoBlackText.svg rename to frontend/shared/assets/brand/classic-logo/StirlingPDFLogoBlackText.svg diff --git a/frontend/editor/public/classic-logo/StirlingPDFLogoGreyText.svg b/frontend/shared/assets/brand/classic-logo/StirlingPDFLogoGreyText.svg similarity index 100% rename from frontend/editor/public/classic-logo/StirlingPDFLogoGreyText.svg rename to frontend/shared/assets/brand/classic-logo/StirlingPDFLogoGreyText.svg diff --git a/frontend/editor/public/classic-logo/StirlingPDFLogoNoTextDark.svg b/frontend/shared/assets/brand/classic-logo/StirlingPDFLogoNoTextDark.svg similarity index 100% rename from frontend/editor/public/classic-logo/StirlingPDFLogoNoTextDark.svg rename to frontend/shared/assets/brand/classic-logo/StirlingPDFLogoNoTextDark.svg diff --git a/frontend/editor/public/classic-logo/StirlingPDFLogoNoTextLight.svg b/frontend/shared/assets/brand/classic-logo/StirlingPDFLogoNoTextLight.svg similarity index 100% rename from frontend/editor/public/classic-logo/StirlingPDFLogoNoTextLight.svg rename to frontend/shared/assets/brand/classic-logo/StirlingPDFLogoNoTextLight.svg diff --git a/frontend/editor/public/classic-logo/StirlingPDFLogoWhiteText.svg b/frontend/shared/assets/brand/classic-logo/StirlingPDFLogoWhiteText.svg similarity index 100% rename from frontend/editor/public/classic-logo/StirlingPDFLogoWhiteText.svg rename to frontend/shared/assets/brand/classic-logo/StirlingPDFLogoWhiteText.svg diff --git a/frontend/editor/public/classic-logo/favicon.ico b/frontend/shared/assets/brand/classic-logo/favicon.ico similarity index 100% rename from frontend/editor/public/classic-logo/favicon.ico rename to frontend/shared/assets/brand/classic-logo/favicon.ico diff --git a/frontend/editor/public/classic-logo/logo-tooltip.svg b/frontend/shared/assets/brand/classic-logo/logo-tooltip.svg similarity index 100% rename from frontend/editor/public/classic-logo/logo-tooltip.svg rename to frontend/shared/assets/brand/classic-logo/logo-tooltip.svg diff --git a/frontend/editor/public/classic-logo/logo192.png b/frontend/shared/assets/brand/classic-logo/logo192.png similarity index 100% rename from frontend/editor/public/classic-logo/logo192.png rename to frontend/shared/assets/brand/classic-logo/logo192.png diff --git a/frontend/editor/public/classic-logo/logo512.png b/frontend/shared/assets/brand/classic-logo/logo512.png similarity index 100% rename from frontend/editor/public/classic-logo/logo512.png rename to frontend/shared/assets/brand/classic-logo/logo512.png diff --git a/frontend/editor/public/modern-logo/Firstpage.png b/frontend/shared/assets/brand/modern-logo/Firstpage.png similarity index 100% rename from frontend/editor/public/modern-logo/Firstpage.png rename to frontend/shared/assets/brand/modern-logo/Firstpage.png diff --git a/frontend/editor/public/modern-logo/LoginDarkModeHeader.svg b/frontend/shared/assets/brand/modern-logo/LoginDarkModeHeader.svg similarity index 100% rename from frontend/editor/public/modern-logo/LoginDarkModeHeader.svg rename to frontend/shared/assets/brand/modern-logo/LoginDarkModeHeader.svg diff --git a/frontend/editor/public/modern-logo/LoginLightModeHeader.svg b/frontend/shared/assets/brand/modern-logo/LoginLightModeHeader.svg similarity index 100% rename from frontend/editor/public/modern-logo/LoginLightModeHeader.svg rename to frontend/shared/assets/brand/modern-logo/LoginLightModeHeader.svg diff --git a/frontend/editor/public/modern-logo/StirlingPDFLogoBlackText.svg b/frontend/shared/assets/brand/modern-logo/StirlingPDFLogoBlackText.svg similarity index 100% rename from frontend/editor/public/modern-logo/StirlingPDFLogoBlackText.svg rename to frontend/shared/assets/brand/modern-logo/StirlingPDFLogoBlackText.svg diff --git a/frontend/editor/public/modern-logo/StirlingPDFLogoGreyText.svg b/frontend/shared/assets/brand/modern-logo/StirlingPDFLogoGreyText.svg similarity index 100% rename from frontend/editor/public/modern-logo/StirlingPDFLogoGreyText.svg rename to frontend/shared/assets/brand/modern-logo/StirlingPDFLogoGreyText.svg diff --git a/frontend/editor/public/modern-logo/StirlingPDFLogoNoTextDark.svg b/frontend/shared/assets/brand/modern-logo/StirlingPDFLogoNoTextDark.svg similarity index 100% rename from frontend/editor/public/modern-logo/StirlingPDFLogoNoTextDark.svg rename to frontend/shared/assets/brand/modern-logo/StirlingPDFLogoNoTextDark.svg diff --git a/frontend/editor/public/modern-logo/StirlingPDFLogoNoTextLight.svg b/frontend/shared/assets/brand/modern-logo/StirlingPDFLogoNoTextLight.svg similarity index 100% rename from frontend/editor/public/modern-logo/StirlingPDFLogoNoTextLight.svg rename to frontend/shared/assets/brand/modern-logo/StirlingPDFLogoNoTextLight.svg diff --git a/frontend/editor/public/modern-logo/StirlingPDFLogoWhiteText.svg b/frontend/shared/assets/brand/modern-logo/StirlingPDFLogoWhiteText.svg similarity index 100% rename from frontend/editor/public/modern-logo/StirlingPDFLogoWhiteText.svg rename to frontend/shared/assets/brand/modern-logo/StirlingPDFLogoWhiteText.svg diff --git a/frontend/editor/public/modern-logo/favicon.ico b/frontend/shared/assets/brand/modern-logo/favicon.ico similarity index 100% rename from frontend/editor/public/modern-logo/favicon.ico rename to frontend/shared/assets/brand/modern-logo/favicon.ico diff --git a/frontend/editor/public/modern-logo/logo-tooltip.svg b/frontend/shared/assets/brand/modern-logo/logo-tooltip.svg similarity index 100% rename from frontend/editor/public/modern-logo/logo-tooltip.svg rename to frontend/shared/assets/brand/modern-logo/logo-tooltip.svg diff --git a/frontend/editor/public/modern-logo/logo192.png b/frontend/shared/assets/brand/modern-logo/logo192.png similarity index 100% rename from frontend/editor/public/modern-logo/logo192.png rename to frontend/shared/assets/brand/modern-logo/logo192.png diff --git a/frontend/editor/public/modern-logo/logo512.png b/frontend/shared/assets/brand/modern-logo/logo512.png similarity index 100% rename from frontend/editor/public/modern-logo/logo512.png rename to frontend/shared/assets/brand/modern-logo/logo512.png