feat(web): drop material gloss, full punktfunk theme for Scalar, center mobile tabs
ci / web (push) Successful in 38s
apple / swift (push) Successful in 54s
android / android (push) Successful in 3m58s
ci / rust (push) Successful in 4m30s
ci / docs-site (push) Successful in 54s
deb / build-publish (push) Successful in 2m18s
decky / build-publish (push) Successful in 13s
docker / build-push (--build-arg FEDORA_VERSION=44, ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora44-rpm) (push) Successful in 5s
docker / build-push (., web/Dockerfile, punktfunk-web) (push) Successful in 18s
docker / build-push (ci, ci/fedora-rpm.Dockerfile, punktfunk-fedora-rpm) (push) Successful in 3s
docker / build-push (ci, ci/rust-ci.Dockerfile, punktfunk-rust-ci) (push) Successful in 3s
docker / build-push (docs-site, docs-site/Dockerfile, punktfunk-docs) (push) Successful in 42s
ci / bench (push) Successful in 4m44s
rpm / build-publish (bazzite, punktfunk-fedora-rpm) (push) Successful in 9m13s
rpm / build-publish (fedora-44, punktfunk-fedora44-rpm) (push) Successful in 9m16s
docker / deploy-docs (push) Successful in 19s

- console: remove @unom/ui's specular "material" gloss (drop UnomProviders +
  the material.css import) so components render flat like the marketing site;
  the violet brand + Geist stay.
- mobile bottom tab bar: center the labels (w-full text-center, leading-tight)
  and even out the per-tab layout.
- docs /api: roll the punktfunk dark-violet palette across the whole Scalar
  reference (surfaces/text/sidebar/links/buttons/method colours via the full
  --scalar-* token set), locked to dark (hideDarkModeToggle).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-21 12:19:51 +00:00
parent f3555d5eb5
commit 527c2f677e
6 changed files with 73 additions and 43 deletions
+3 -3
View File
@@ -76,11 +76,11 @@ export function AppShell({ children }: { children: ReactNode }) {
key={to}
to={to}
activeOptions={{ exact: to === '/' }}
className="flex flex-1 flex-col items-center gap-1 py-2 text-[10px] text-muted-foreground transition-colors"
className="flex flex-1 flex-col items-center justify-center gap-1 px-0.5 py-2 text-muted-foreground transition-colors"
activeProps={{ className: 'text-[var(--brand-light)]' }}
>
<Icon className="size-5" />
<span className="leading-none">{label()}</span>
<Icon className="size-5 shrink-0" />
<span className="w-full text-center text-[10px] leading-tight">{label()}</span>
</Link>
))}
</nav>
-21
View File
@@ -1,21 +0,0 @@
import type { ReactNode } from 'react'
import { MaterialProvider } from '@unom/ui/material'
// Turn on @unom/ui's specular "material" gloss for the whole console — the same
// design system the punktfunk marketing site is built on. SSR-safe (material
// gates its effects on a mounted flag). No SoundProvider: like the marketing
// site, the console stays silent (@unom/ui's useSound no-ops without a provider).
const MATERIAL = {
button: { enabled: true },
card: { enabled: true },
dialog: { enabled: true },
tabs: { enabled: true },
select: { enabled: true },
input: { enabled: true },
checkbox: { enabled: true },
toast: { enabled: true },
} as const
export function UnomProviders({ children }: { children: ReactNode }) {
return <MaterialProvider theme={MATERIAL}>{children}</MaterialProvider>
}