fix(brand): capitalize "Punktfunk" in user-facing text
The docs site's page title read "punktfunk docs". Fixed that and swept the rest of the tree for the same defect, capitalizing the brand wherever it is shown to a human and leaving it lowercase where it is a technical identifier (CLI/package names, `punktfunk://` scheme, PnP enumerator, TLS SNI, logcat tag, config paths, CMS tenant id). User-visible fixes: - docs-site: page title -> "Punktfunk Docs"; API reference title, meta description and the branded bar's aria-label; the BrandMark/Wordmark SVG accessible names (the web console already had these capitalized -- the docs site had drifted from it). - Android: six strings of live UI copy -- the local-network permission dialog (x2), the connect-screen error banner, and the no-controller explainer. - Apple: the "No Hosts" empty-state text and the fallback display name for a host that advertises no instance name. - Windows client: the `--discover` progress line. - KWin fake-input: the application name passed to `authenticate()` (the grant is cached per-exe, so the string is display-only). - THIRD-PARTY-NOTICES: fixed in both generators (about.hbs and gen-third-party-notices.py) and applied to the three checked-in outputs so they match what a regeneration now produces. Every changed line differs from the original only by letter case, so line lengths are unchanged and no formatter width rule is affected. `cargo fmt --all --check` passes.
This commit is contained in:
@@ -1,17 +1,17 @@
|
||||
// punktfunk brand mark: two overlapping circles forming a lens — the violet
|
||||
// Punktfunk brand mark: two overlapping circles forming a lens — the violet
|
||||
// brand identity. Copied verbatim from the marketing site (flattened from the
|
||||
// clients/apple punktfunk_Logo.icon). Back-to-front: large light-violet circle,
|
||||
// deep-violet circle, light highlight where they overlap.
|
||||
export default function BrandMark({ className }: { className?: string }) {
|
||||
return (
|
||||
<svg
|
||||
aria-label="punktfunk"
|
||||
aria-label="Punktfunk"
|
||||
role="img"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 1000 1000"
|
||||
className={className}
|
||||
>
|
||||
<title>punktfunk</title>
|
||||
<title>Punktfunk</title>
|
||||
<path
|
||||
d="M403.037,791.672c107.586,0 194.41,-86.824 194.41,-194.41c0,-107.586 -86.824,-194.41 -194.41,-194.41c-107.586,0 -194.41,86.824 -194.41,194.41c0,107.586 86.824,194.41 194.41,194.41Z"
|
||||
fill="#a79ff8"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// The punktfunk "funk" wordmark — vectorised from
|
||||
// The Punktfunk "funk" wordmark — vectorised from
|
||||
// Export/Punktfunk_Logo-Text_No-Border_Dark.svg (the white export background is
|
||||
// dropped). Inline SVG using currentColor so it recolours per theme: the
|
||||
// deep-violet brand on light, the light-violet lens highlight on dark (matching
|
||||
@@ -7,13 +7,13 @@ export default function Wordmark({ className = '' }: { className?: string }) {
|
||||
return (
|
||||
<svg
|
||||
role="img"
|
||||
aria-label="punktfunk"
|
||||
aria-label="Punktfunk"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 579 136"
|
||||
fill="currentColor"
|
||||
className={`w-auto text-[var(--pf-brand)] dark:text-[var(--pf-highlight)] ${className}`}
|
||||
>
|
||||
<title>punktfunk</title>
|
||||
<title>Punktfunk</title>
|
||||
<path d="M16.782,16.051l0,102.687l31.253,0l0,-35.563l73.436,0l0,-23.555l-73.436,0l0,-19.398l77.285,0l0,-24.171l-108.537,0Z" />
|
||||
<path d="M131.785,16.051l0,47.264c0.154,16.627 0.154,16.627 0.308,20.014c0.77,15.087 2.463,21.4 7.544,26.634c7.698,8.16 20.014,10.315 59.272,10.315c23.863,0 34.178,-0.616 43.415,-2.463c11.7,-2.463 19.552,-10.623 21.246,-22.323c0.924,-7.236 1.078,-8.929 1.54,-32.176l0,-47.264l-31.253,0l0,47.264c0,2.155 -0.154,7.082 -0.308,10.623c-0.462,9.699 -1.232,12.47 -3.695,15.087c-3.387,3.695 -9.853,4.619 -31.407,4.619c-26.634,0 -32.638,-1.693 -34.332,-9.853c-0.77,-4.157 -0.77,-4.311 -1.078,-20.476l0,-47.264l-31.253,0Z" />
|
||||
<path d="M271.575,15.943l0,102.687l31.868,0l-0.77,-76.669l3.387,0l54.038,76.669l54.346,0l0,-102.687l-31.868,0l0.77,76.515l-3.233,0l-53.73,-76.515l-54.808,0Z" />
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// The docs reuse the punktfunk footer from the shared unom CMS (cms.unom.io).
|
||||
// The docs reuse the Punktfunk footer from the shared unom CMS (cms.unom.io).
|
||||
// The footer shape comes from @unom/app-ui/footer so the docs and the marketing
|
||||
// site share one type. The CMS is multi-tenant: footer is a per-tenant
|
||||
// collection, so scope the read to this project's tenant. Read-only GET, so a
|
||||
|
||||
@@ -3,7 +3,7 @@ import BrandMark from '@/components/BrandMark'
|
||||
import Wordmark from '@/components/Wordmark'
|
||||
|
||||
// Shared chrome (nav title, links) for both the docs layout and the home layout.
|
||||
// The lens mark + wordmark mirror the punktfunk marketing site's header.
|
||||
// The lens mark + wordmark mirror the Punktfunk marketing site's header.
|
||||
export function baseOptions(): BaseLayoutProps {
|
||||
return {
|
||||
nav: {
|
||||
|
||||
@@ -30,7 +30,7 @@ export const Route = createRootRoute({
|
||||
{ charSet: 'utf-8' },
|
||||
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
|
||||
{ name: 'color-scheme', content: 'dark light' },
|
||||
{ title: 'punktfunk docs' },
|
||||
{ title: 'Punktfunk Docs' },
|
||||
],
|
||||
links: [
|
||||
{ rel: 'stylesheet', href: appCss },
|
||||
|
||||
@@ -13,18 +13,18 @@ export const Route = createFileRoute('/api/')({
|
||||
component: ApiReference,
|
||||
head: () => ({
|
||||
meta: [
|
||||
{ title: 'punktfunk — Management API reference' },
|
||||
{ title: 'Punktfunk — Management API Reference' },
|
||||
{
|
||||
name: 'description',
|
||||
content:
|
||||
'Interactive reference for the punktfunk host management REST API (OpenAPI).',
|
||||
'Interactive reference for the Punktfunk host management REST API (OpenAPI).',
|
||||
},
|
||||
],
|
||||
links: [{ rel: 'stylesheet', href: scalarCss }],
|
||||
}),
|
||||
})
|
||||
|
||||
// The full punktfunk theme rolled out onto Scalar — the same dark-violet (and
|
||||
// The full Punktfunk theme rolled out onto Scalar — the same dark-violet (and
|
||||
// light-lavender) product chrome as the docs/management console.
|
||||
//
|
||||
// IMPORTANT: Scalar toggles `.light-mode` / `.dark-mode` on `document.body`,
|
||||
@@ -191,7 +191,7 @@ function ApiReference() {
|
||||
url: '/openapi.json',
|
||||
darkMode: isDark,
|
||||
hideDarkModeToggle: true,
|
||||
metaData: { title: 'punktfunk Management API' },
|
||||
metaData: { title: 'Punktfunk Management API' },
|
||||
hideDownloadButton: false,
|
||||
customCss: SCALAR_CSS,
|
||||
}),
|
||||
@@ -200,13 +200,13 @@ function ApiReference() {
|
||||
|
||||
return (
|
||||
<div className="flex min-h-screen flex-col">
|
||||
{/* Slim branded bar so the reference stays inside the punktfunk identity
|
||||
{/* Slim branded bar so the reference stays inside the Punktfunk identity
|
||||
and links back into the docs. */}
|
||||
<header className="flex h-14 shrink-0 items-center justify-between border-b border-fd-border px-4 md:px-6">
|
||||
<Link
|
||||
to="/docs/$"
|
||||
params={{ _splat: '' }}
|
||||
aria-label="punktfunk documentation"
|
||||
aria-label="Punktfunk documentation"
|
||||
className="flex items-center gap-2 no-underline"
|
||||
>
|
||||
<BrandMark className="size-6" />
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
|
||||
/* Pull Fumadocs UI's own classes — and @unom/ui's compiled components — into
|
||||
the Tailwind 4 scan so their utilities aren't purged. @unom/ui is the shared
|
||||
design-token system the punktfunk marketing site also builds on. */
|
||||
design-token system the Punktfunk marketing site also builds on. */
|
||||
@source '../../node_modules/fumadocs-ui/dist/**/*.js';
|
||||
@source '../../node_modules/@unom/ui/dist/**/*.{js,mjs}';
|
||||
@source '../../node_modules/@unom/app-ui/dist/**/*.{js,mjs}';
|
||||
|
||||
/* ── punktfunk brand ────────────────────────────────────────────────────────
|
||||
/* ── Punktfunk brand ────────────────────────────────────────────────────────
|
||||
The brand colour is the violet lens mark. (The marketing site's blue is just
|
||||
a page background, not the brand.) These values feed both @unom/ui's semantic
|
||||
token contract (--brand/--primary/--accent/--highlight) and the Fumadocs
|
||||
@@ -61,7 +61,7 @@
|
||||
}
|
||||
|
||||
@theme {
|
||||
/* Geist — the punktfunk brand typeface, same as the marketing site
|
||||
/* Geist — the Punktfunk brand typeface, same as the marketing site
|
||||
(the @fontsource-variable/geist face is loaded in __root.tsx). */
|
||||
--font-sans: 'Geist Variable', ui-sans-serif, system-ui, sans-serif;
|
||||
--font-display: 'Geist Variable', ui-sans-serif, system-ui, sans-serif;
|
||||
|
||||
Reference in New Issue
Block a user