diff --git a/apps/client/index.html b/apps/client/index.html index 28679e40..dcfd942a 100644 --- a/apps/client/index.html +++ b/apps/client/index.html @@ -2,16 +2,17 @@ + - Docmost - + Gitmost + - + diff --git a/apps/client/public/brand/gitmost-favicon.svg b/apps/client/public/brand/gitmost-favicon.svg new file mode 100644 index 00000000..0dba255a --- /dev/null +++ b/apps/client/public/brand/gitmost-favicon.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/apps/client/public/brand/gitmost-logo-dark.svg b/apps/client/public/brand/gitmost-logo-dark.svg new file mode 100644 index 00000000..cdaeb045 --- /dev/null +++ b/apps/client/public/brand/gitmost-logo-dark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/apps/client/public/brand/gitmost-logo-light.svg b/apps/client/public/brand/gitmost-logo-light.svg new file mode 100644 index 00000000..b57800ca --- /dev/null +++ b/apps/client/public/brand/gitmost-logo-light.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/apps/client/public/brand/gitmost-mark-dark.svg b/apps/client/public/brand/gitmost-mark-dark.svg new file mode 100644 index 00000000..016d4ee5 --- /dev/null +++ b/apps/client/public/brand/gitmost-mark-dark.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/client/public/brand/gitmost-mark-light.svg b/apps/client/public/brand/gitmost-mark-light.svg new file mode 100644 index 00000000..07ca680e --- /dev/null +++ b/apps/client/public/brand/gitmost-mark-light.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/apps/client/public/icons/app-icon-192x192.png b/apps/client/public/icons/app-icon-192x192.png index 46bce9e5..1aaf4613 100644 Binary files a/apps/client/public/icons/app-icon-192x192.png and b/apps/client/public/icons/app-icon-192x192.png differ diff --git a/apps/client/public/icons/app-icon-512x512.png b/apps/client/public/icons/app-icon-512x512.png index 65b91ed0..4f8e948c 100644 Binary files a/apps/client/public/icons/app-icon-512x512.png and b/apps/client/public/icons/app-icon-512x512.png differ diff --git a/apps/client/public/icons/favicon-16x16.png b/apps/client/public/icons/favicon-16x16.png index c8d2d56f..3690d0bd 100644 Binary files a/apps/client/public/icons/favicon-16x16.png and b/apps/client/public/icons/favicon-16x16.png differ diff --git a/apps/client/public/icons/favicon-32x32.png b/apps/client/public/icons/favicon-32x32.png index 3ccc0fb0..abfc78a7 100644 Binary files a/apps/client/public/icons/favicon-32x32.png and b/apps/client/public/icons/favicon-32x32.png differ diff --git a/apps/client/public/manifest.json b/apps/client/public/manifest.json index 3e4b35dd..c6da2b21 100644 --- a/apps/client/public/manifest.json +++ b/apps/client/public/manifest.json @@ -1,10 +1,10 @@ { - "name": "Docmost", - "short_name": "Docmost", + "name": "Gitmost", + "short_name": "Gitmost", "start_url": "/", "display": "standalone", - "background_color": "#222", - "theme_color": "#222", + "background_color": "#0E1117", + "theme_color": "#0E1117", "icons": [ { "src": "icons/favicon-16x16.png", diff --git a/apps/client/src/components/layouts/global/app-header.tsx b/apps/client/src/components/layouts/global/app-header.tsx index c2cfae16..c69f230e 100644 --- a/apps/client/src/components/layouts/global/app-header.tsx +++ b/apps/client/src/components/layouts/global/app-header.tsx @@ -1,10 +1,10 @@ import { Box, Group, - Text, Tooltip, } from "@mantine/core"; import classes from "./app-header.module.css"; +import { BrandLogo } from "@/components/ui/brand-logo"; import TopMenu from "@/components/layouts/global/top-menu.tsx"; import { Link } from "react-router-dom"; import APP_ROUTE from "@/lib/app-route.ts"; @@ -69,21 +69,11 @@ export function AppHeader() { - Gitmost + + + + - - Gitmost - diff --git a/apps/client/src/components/ui/brand-logo.tsx b/apps/client/src/components/ui/brand-logo.tsx new file mode 100644 index 00000000..cc41ce5e --- /dev/null +++ b/apps/client/src/components/ui/brand-logo.tsx @@ -0,0 +1,33 @@ +import { useComputedColorScheme } from "@mantine/core"; + +type BrandLogoProps = { + // When true, render the mark only; otherwise render the full lockup (mark + wordmark). + markOnly?: boolean; + // Logo height in pixels; width scales automatically to preserve aspect ratio. + height?: number; + className?: string; +}; + +export function BrandLogo({ + markOnly = false, + height = 28, + className, +}: BrandLogoProps) { + // Detect the active color scheme and pick the contrasting ink variant. + // "*-light" = light ink for dark backgrounds, "*-dark" = dark ink for light backgrounds. + const colorScheme = useComputedColorScheme("light"); + const variant = colorScheme === "dark" ? "light" : "dark"; + + const src = markOnly + ? `/brand/gitmost-mark-${variant}.svg` + : `/brand/gitmost-logo-${variant}.svg`; + + return ( + Gitmost + ); +} diff --git a/apps/client/src/components/ui/error-404.tsx b/apps/client/src/components/ui/error-404.tsx index 8c8846ae..f131f7bc 100644 --- a/apps/client/src/components/ui/error-404.tsx +++ b/apps/client/src/components/ui/error-404.tsx @@ -3,6 +3,7 @@ import classes from "./error-404.module.css"; import { Link } from "react-router-dom"; import { Helmet } from "react-helmet-async"; import { useTranslation } from "react-i18next"; +import { getAppName } from "@/lib/config"; export function Error404() { const { t } = useTranslation(); @@ -10,7 +11,7 @@ export function Error404() { return ( <> - {t("404 page not found")} - Docmost + {t("404 page not found")} - {getAppName()} {t("404 page not found")} diff --git a/apps/client/src/features/auth/components/auth-layout.tsx b/apps/client/src/features/auth/components/auth-layout.tsx index ef874371..20fa9b16 100644 --- a/apps/client/src/features/auth/components/auth-layout.tsx +++ b/apps/client/src/features/auth/components/auth-layout.tsx @@ -1,6 +1,7 @@ import React from "react"; -import { Group, Text } from "@mantine/core"; +import { Group } from "@mantine/core"; import classes from "./auth.module.css"; +import { BrandLogo } from "@/components/ui/brand-logo"; type AuthLayoutProps = { children: React.ReactNode; @@ -10,15 +11,7 @@ export function AuthLayout({ children }: AuthLayoutProps) { return ( <> - Gitmost - - Gitmost - +
{children}
diff --git a/apps/client/src/lib/config.ts b/apps/client/src/lib/config.ts index 67bbe100..bae1a1c6 100644 --- a/apps/client/src/lib/config.ts +++ b/apps/client/src/lib/config.ts @@ -10,7 +10,7 @@ declare global { } export function getAppName(): string { - return "Docmost"; + return "Gitmost"; } export function getAppUrl(): string { diff --git a/docs/brand/README.md b/docs/brand/README.md new file mode 100644 index 00000000..c4b6319b --- /dev/null +++ b/docs/brand/README.md @@ -0,0 +1,31 @@ +# Gitmost brand assets + +Canonical home for the Gitmost logo, marks and brand guide. +See [gitmost-brand-guide.html](./gitmost-brand-guide.html) for usage rules +(colors, clear space, don'ts). + +## Files + +| File | Use | +| --- | --- | +| `gitmost-brand-guide.html` | Brand guide — open in a browser. | +| `gitmost-logo-dark.svg` | Primary horizontal logo (mark + wordmark), dark ink — for light backgrounds. | +| `gitmost-logo-light.svg` | Primary horizontal logo, light ink — for dark backgrounds. | +| `gitmost-icon.svg` | App icon — mark on a dark `#0E1117` tile (256px). | +| `gitmost-favicon.svg` | Favicon — mark on a dark tile, heavier strokes for small sizes. | +| `gitmost-mark-dark.svg` | Bare mark, dark strokes — for light backgrounds. | +| `gitmost-mark-light.svg` | Bare mark, light strokes — for dark backgrounds. | +| `gitmost-mark-mono.svg` | Single-color mark (print, engraving, B/W). | + +## Runtime copies + +The web client serves the assets it needs from `apps/client/public/brand/` +(logos, marks, favicon) and `apps/client/public/icons/` (PNG favicons and PWA +app icons rasterized from `gitmost-favicon.svg` / `gitmost-icon.svg`). When a +brand asset here changes, refresh those copies. + +## Wordmark + +The wordmark is "gitmost" set in Space Grotesk SemiBold (600), tracking +-0.04em, all lowercase. In `gitmost-logo-*.svg` the text is converted to +outlines, so no font is required at runtime. diff --git a/docs/brand/gitmost-brand-guide.html b/docs/brand/gitmost-brand-guide.html new file mode 100644 index 00000000..b49eae3e --- /dev/null +++ b/docs/brand/gitmost-brand-guide.html @@ -0,0 +1,195 @@ + + + + + + + + + + + + + + + +
+
Gitmost · LogoBrand guide v1
+ + + + + +
GitmostLogo brand guide
+
+
+ + diff --git a/docs/brand/gitmost-favicon.svg b/docs/brand/gitmost-favicon.svg new file mode 100644 index 00000000..0dba255a --- /dev/null +++ b/docs/brand/gitmost-favicon.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/docs/brand/gitmost-icon.svg b/docs/brand/gitmost-icon.svg new file mode 100644 index 00000000..26628cc3 --- /dev/null +++ b/docs/brand/gitmost-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/docs/brand/gitmost-logo-dark.svg b/docs/brand/gitmost-logo-dark.svg new file mode 100644 index 00000000..cdaeb045 --- /dev/null +++ b/docs/brand/gitmost-logo-dark.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/brand/gitmost-logo-light.svg b/docs/brand/gitmost-logo-light.svg new file mode 100644 index 00000000..b57800ca --- /dev/null +++ b/docs/brand/gitmost-logo-light.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/brand/gitmost-mark-dark.svg b/docs/brand/gitmost-mark-dark.svg new file mode 100644 index 00000000..016d4ee5 --- /dev/null +++ b/docs/brand/gitmost-mark-dark.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/brand/gitmost-mark-light.svg b/docs/brand/gitmost-mark-light.svg new file mode 100644 index 00000000..07ca680e --- /dev/null +++ b/docs/brand/gitmost-mark-light.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/docs/brand/gitmost-mark-mono.svg b/docs/brand/gitmost-mark-mono.svg new file mode 100644 index 00000000..671e597b --- /dev/null +++ b/docs/brand/gitmost-mark-mono.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file