@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, 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<FooterView>: 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).
import { FooterView } from "@unom/app-ui/footer";

<FooterView
  sections={footer?.sections}
  tagline={footer?.tagline}
  socials={footer?.socials}
  socialsLabel={m.footer_socials()}
/>;

Develop

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.

S
Description
No description provided
Readme MIT 39 KiB
Languages
TypeScript 100%