feat: adopt @unom/ui + add Projects section to the landing page
Build & Deploy unom website / build (push) Successful in 41s
Build & Deploy unom website / deploy (push) Successful in 5s

- Pull in @unom/ui (0.8.16) + @unom/style + peers; bump @unom/cms to 0.3.0.
- globals.css now provides the full semantic-token contract @unom/ui consumes
  (primary/accent/background/ring/radius-card/…), expressed with unom's violet
  brand + Inter/Ubuntu.
- Section wraps @unom/ui's Section (in-view animation orchestrator); PostCard,
  LatestPosts, and the hero use AnimatedCard/AnimatedText/AnimatedButton/Heading.
- lib/cms.ts moves to the multi-tenant model (tenant=unom), header/footer as
  per-tenant collections, + findProjects().
- New Projects section lists this tenant's projects on the landing page
  (soft-fails to hidden when empty). Starts with punktfunk.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-20 18:11:35 +02:00
parent 76dabef23d
commit 15130ae4df
12 changed files with 1501 additions and 129 deletions
+3
View File
@@ -6,6 +6,9 @@
"home_title": "unom - Kreative Webentwicklung",
"projects_heading": "Projekte",
"projects_intro": "Eigene Produkte und Marken aus dem Hause unom.",
"blog_title": "Blog",
"blog_meta_description": "Notizen, Gedanken und Tutorials aus der Werkstatt von unom.",
"blog_empty": "Noch keine Beiträge.",
+3
View File
@@ -6,6 +6,9 @@
"home_title": "unom - Creative web development",
"projects_heading": "Projects",
"projects_intro": "Our own products and brands, built in-house at unom.",
"blog_title": "Blog",
"blog_meta_description": "Notes, thoughts, and tutorials from the unom workshop.",
"blog_empty": "No posts yet.",