Commit graph

9 commits

Author SHA1 Message Date
f288c512dd fix: update navigation fallback items to match current CMS structure
Updated hardcoded fallback navigation in layout.tsx and Footer.tsx to reflect
the current 5-item CMS navigation including Whistleblowing/Unternehmer submenus.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 11:07:48 +00:00
b906cbb2b1 feat: implement CMS-driven navigation with dropdown submenus
Bypass broken contracts client navigation filter (queries non-existent
'type' field) with direct fetch to /api/navigations. Transform CMS
mainMenu structure (page/custom/submenu types) into NavItem format.
Replace JS-state dropdown (AnimatePresence) with pure CSS group-hover
to fix SSR hydration issues where both dropdowns opened simultaneously.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 23:22:04 +00:00
3f962c6668 fix: CTABlock field mapping to match Payload CMS schema
Map buttons array (text/link/style), description, and backgroundColor
instead of legacy flat fields (ctaLink, ctaLabel, backgroundImage)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 21:47:34 +00:00
6c69491c96 fix: strip quotes from icon names in DynamicIcon
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 16:01:30 +00:00
9fe9876de2 feat: add dynamic Lucide icon rendering to CardGridBlock
Installs lucide-react and creates DynamicIcon component that maps
icon name strings to rendered Lucide icons. CardGridBlock now supports
mediaType (none/image/icon) and iconPosition (top/left).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:57:41 +00:00
fe83855f40 feat: connect CMS content, add ISR, Lexical renderer, and hero styling
- Fix tenant ID (1→4) to match CMS content
- Change homepage slug from "home" to "startseite"
- Add ISR with 60s revalidation for automatic content updates
- Create Lexical JSON→HTML renderer for rich text blocks
- Wire up dynamic favicon from CMS site-settings
- Adjust hero block: responsive font sizes, left-aligned layout,
  subline field support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:01:30 +00:00
f518e20fae fix: resolve lint errors (server.js ignore, unused imports)
- Add server.js to ESLint globalIgnores (CJS file for Passenger)
- Remove unused cn import from QuoteBlock
- Configure underscore-prefix pattern for unused vars

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 21:49:22 +00:00
2e8d34d917 feat: apply Definity Template design system
- Tailwind v4 theme config with Definity colors (accent #2CAADF, dark #111)
- Montserrat + Open Sans font setup via next/font/google
- UI components: Button (6 variants), Container, SectionHeader
- Navigation with transparent-to-solid scroll behavior
- Footer with social links, widgets, copyright bar
- Block components: Hero, Text, CardGrid, Quote, ImageText, CTA,
  ContactForm, Timeline, Divider
- Typography system with prose styles for rich text
- Animation library with framer-motion variants
- Page transitions via template.tsx
- cn() utility (clsx + tailwind-merge)
- Updated API layer with getSocialLinks

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:06:05 +00:00
ab1e2d7094 feat: bootstrap porwoll.de with @c2s/payload-contracts
- Next.js 16 + Tailwind CSS 4 project setup
- Add @c2s/payload-contracts for shared API client (tenant: porwoll, ID: 1)
- Create src/lib/cms.ts and src/lib/api.ts with CMS integration
- Create block renderer with 15 placeholder blocks
- Create dynamic [slug] page routing with CMS pages
- Layout with CMS site settings integration
- transpilePackages configured for TypeScript source imports

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 00:56:27 +00:00