No description
Bundle size: - MobileNav: framer-motion → LazyMotion+domAnimation (~79KB saved on mobile) - FeaturesBlock: remove `import * as LucideIcons` (entire icon lib), replace with emoji detector + single Star fallback Images: - Add `sizes` prop to all fill images (blog, events, blog-post, hero, blog-preview) - Prevents downloading desktop-sized images on mobile Mobile CSS (globals.css): - font-size: 16px on body (prevents iOS Safari auto-zoom on inputs) - scroll-behavior: smooth only under prefers-reduced-motion: no-preference - overflow-x: hidden (no horizontal scroll on mobile) - touch-action: manipulation on a/button (removes 300ms tap delay) - min-height: 44px on buttons (WCAG 2.5.5 touch targets) - Container: px-4 on mobile, px-6 on sm+ (better on 320px screens) - scrollbar-gutter: stable (prevents CLS from scrollbar appearing) Form inputs: text-base (16px) prevents iOS auto-zoom Layout: - Cache SiteSettings with unstable_cache (revalidate: 60s) — reduces Payload DB hits - Add preconnect/dns-prefetch hints for Google Fonts, GTM, analytics, Binotel, ezy Mobile touch targets: - Hamburger + close buttons: w-12 h-12 (48px, up from 40px) Animations (Framer Motion with LazyMotion): - FadeIn.tsx: viewport-triggered fade+slide, respects prefers-reduced-motion - StaggerContainer.tsx: stagger children on scroll-into-view - Hero: FadeIn wrapper on content - Features: StaggerContainer + StaggerItem on each card GTM events: - GTMPageEvent.tsx: reusable client component for page-level events - /thank-you: fires `purchase` event on load - /blog/[slug]: fires `blog_view` event with post_title + post_slug Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| docker/postgres | ||
| src | ||
| .env.example | ||
| .gitignore | ||
| .npmrc | ||
| .pnpmfile.cjs | ||
| components.json | ||
| CONTEXT_HANDOVER.md | ||
| docker-compose.yml | ||
| Dockerfile | ||
| implementation_plan.md | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| postcss.config.mjs | ||
| tsconfig.json | ||
| tsconfig.tsbuildinfo | ||