Commit graph

10 commits

Author SHA1 Message Date
46034873b6 feat: complete StatsBlock with all CMS features
Replaces basic stub with full-featured component supporting:
- Count-up animation (viewport/immediate trigger, stagger)
- Inline SVG icons for all 14 CMS icon options
- All layout modes (row, grid, cards, column, inline, feature)
- Card styling (border, shadow, hover effects)
- Value size/weight customization
- Background variants (light, dark, primary, gradient)
- Dividers between stats
- Icon positioning (top, left, inline) and alignment
- Decorative underlines with scroll-reveal animation

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 16:20:47 +00:00
3a8693289f feat: migrate all types from local bridge pattern to @c2s/payload-contracts
Complete type migration removing all 33+ local interfaces and as-unknown-as
casts. All components now use contracts types directly with type-safe
relationship resolution via payload-helpers.ts.

Key changes:
- New payload-helpers.ts: resolveRelation, getMediaUrl, getMediaAlt, socialLinksToMap
- types.ts: thin re-export layer from contracts (backward-compatible aliases)
- api.ts: direct contracts types, no bridge casts, typed getSeoSettings
- All 17 block components: correct CMS field names (headline, subline, cta group, etc.)
- All route files: page.seo.metaTitle (not page.meta.title), getMediaUrl for unions
- structuredData.ts: proper types for all schema generators
- Footer: social links from separate collection via socialLinksToMap()
- Header/Footer: resolveMedia for logo

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 15:25:16 +00:00
7235d8b910 fix: navigation migration to payload-contracts
- Fix getNavigation() to use contracts API (no broken type filter)
- Single nav fetch in layout, pass mainMenu/footerMenu to components
- Header, Navigation, MobileMenu use CMS mainMenu schema
- Footer uses CMS footerMenu schema with linkType field
- Add pnpm-workspace.yaml for onlyBuiltDependencies allowlist
- Update payload-contracts to latest (navigation fix a0eea96)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:43:05 +00:00
7b486292a0 fix: correct TypeScript destructuring for unused vars
- Use rename syntax (filterCategory: _filterCategory) instead of direct rename
- Fix FavoritesBlock layout destructuring

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 21:52:04 +00:00
12c8461108 fix: resolve lint errors (server.js ignore, unused vars)
- Add server.js to ESLint globalIgnores (CJS file for Passenger)
- Prefix unused destructured vars with underscore
- Comment out unused PAYLOAD_URL constant
- Configure underscore-prefix pattern for unused vars

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 21:49:23 +00:00
64a9efee61 fix: align Button and Header with design guideline
- Secondary button hover: full espresso fill with white text
- Tertiary button: font-medium (500) and subtle hover background
- Primary button hover: exact 1px translateY
- Header: backdrop-blur 10px (was 4px) and z-index 100 (was 50)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 18:08:32 +00:00
2500b8b16f feat: migrate API layer to @c2s/payload-contracts
- Add @c2s/payload-contracts as shared API client dependency
- Create src/lib/cms.ts with tenant-configured PayloadClient instance
- Replace manual fetch logic in api.ts with contracts client calls
- Add transpilePackages config for TypeScript source imports
- Local types preserved for component compatibility (bridge pattern)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 00:44:21 +00:00
ba54d7a85d Aktualisierung der Codebase 2026-02-07 21:34:14 +00:00
75f31b1cb8 Fix design errors, UX issues, and improve accessibility
Critical fixes:
- Add group class to Card component for image zoom on hover
- Create Skeleton, EmptyState, and Pagination UI components
- Add proper empty state to PostsListBlock instead of returning null

Visual consistency:
- Fix Button hover states (subtler secondary/tertiary transitions)
- Add badge variants for FavoritesBlock with German labels
- Increase overlay opacity in HeroBlock/VideoBlock for better contrast

Accessibility improvements:
- Add skip-to-content link in layout for keyboard navigation
- Add focus-visible states to FAQ accordion and Testimonials carousel
- Implement focus trap in MobileMenu with proper ARIA attributes
- Enhance 404 page with helpful navigation links

Polish:
- Fix DividerBlock text contrast
- Fix lint errors (Link component, const declaration)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 15:16:17 +00:00
4311a1960d Setup Next.js 16 project with collaborative folder structure
- Initialize Next.js 16 with React 19, TypeScript, and Tailwind CSS 4
- Add prompts/ directory for concept AI instructions
- Add docs/ directory for project documentation
- Include README files explaining workflow and conventions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 14:12:52 +00:00