# @unom/app-ui Composite, app-level UI blocks shared across the unom/punktfunk apps (the marketing site and the docs site). One layer up from [`@unom/ui`](https://git.unom.io/unom/-/packages), which is primitives only — this package hosts larger blocks/sections that more than one app renders, so they stay in sync instead of being hand-mirrored per repo. Components are themed entirely through `@unom/style`'s semantic tokens (`neutral-accent`, `main`, …). Each consumer maps those tokens to its own surfaces (the marketing site's blue theme, the docs' Fumadocs violet/dark chrome), so the markup is identical while each site keeps its palette. ## Subpath exports - `@unom/app-ui/footer` — ``: the punktfunk footer (link sections, socials, tagline). Presentational; data fetching stays in each app's route loader. Pass `resolveHref` to rebase root-relative links onto another origin (the docs do this so footer links target the marketing site). ```tsx import { FooterView } from "@unom/app-ui/footer"; ; ``` ## Develop ```sh bun install bun run build # tsdown → dist/ (esm + d.ts) bun run typecheck ``` `dist/` is published (not committed). Releases go to the private Gitea npm registry under the `@unom` scope via `bun publish`.