{"_id":"@admiral.nelson/smart-catalyst","_rev":"6-8d3951e50a0ebfa76d7fd9cea238d512","name":"@admiral.nelson/smart-catalyst","dist-tags":{"latest":"1.0.24"},"versions":{"1.0.19":{"name":"@admiral.nelson/smart-catalyst","version":"1.0.19","_id":"@admiral.nelson/smart-catalyst@1.0.19","maintainers":[{"name":"admiral.nelson","email":"roial33@hotmail.com"}],"bin":{"create-next-app-starter":"create-next-app-starter.js"},"dist":{"shasum":"606105af740ddec412e4095ef820662398f67b05","tarball":"https://registry.npmjs.org/@admiral.nelson/smart-catalyst/-/smart-catalyst-1.0.19.tgz","fileCount":62,"integrity":"sha512-0MGMWnHlxg7q472RnpH9urmnD805eJpTod8BbvEKoMi8vejxmez/AR/kwslUDhDh3uNNIstLsn0UHjswT01o2w==","signatures":[{"sig":"MEUCIAwRCOXrkQU+rlFkQFGsh/HKLFIe5JK0WBVmNWW8PvgEAiEA5oeO5q1R6B3wmJuE6c399Naov3sgAgVD5u/6BEd9tko=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3625806},"gitHead":"642a649d3a8b711f795a98201af44a1630213043","private":false,"scripts":{"dev":"next dev","lint":"next lint","build":"next build","start":"next start","analyze":"ANALYZE=true npm run build"},"_npmUser":{"name":"admiral.nelson","actor":{"name":"admiral.nelson","type":"user","email":"roial33@hotmail.com"},"email":"roial33@hotmail.com"},"_npmVersion":"8.11.0","description":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).","directories":{},"_nodeVersion":"16.16.0","dependencies":{"qs":"^6.11.2","clsx":"^2.1.1","next":"15.0.2","react":"^18.2.0","fs-extra":"^10.0.0","react-dom":"^18.2.0","framer-motion":"^11.11.11","@strapi/sdk-js":"^1.0.0","@heroicons/react":"^2.2.0","@tailwindcss/line-clamp":"^0.4.4","react-intersection-observer":"^9.13.1","@lottiefiles/react-lottie-player":"^3.5.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8","postcss":"^8","tailwindcss":"^3.4.1","eslint-config-next":"15.0.2","@next/bundle-analyzer":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-catalyst_1.0.19_1751392516961_0.2447931348757586","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@admiral.nelson/smart-catalyst","version":"1.0.20","_id":"@admiral.nelson/smart-catalyst@1.0.20","maintainers":[{"name":"admiral.nelson","email":"roial33@hotmail.com"}],"bin":{"create-next-app-starter":"create-next-app-starter.js"},"dist":{"shasum":"720a52579864b571e84b06b86e4e50e5f2b1e8ba","tarball":"https://registry.npmjs.org/@admiral.nelson/smart-catalyst/-/smart-catalyst-1.0.20.tgz","fileCount":62,"integrity":"sha512-XlBMJhWwx+OdSLGRtwcJDT5/L98DceVY6m21EtZQquG6myskrcpcVqotdHOjXCQePWhjHOW9eF3/X8ljdVoecg==","signatures":[{"sig":"MEQCIHf2gbkdsrah6+upLg2XtkGpf5BdjkCaHeRD+u/S4kFEAiBwMxAU/AXq792wZ+BJmpVVL7icej6mZmBZLMcZeu7qtA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3625806},"gitHead":"6a5aaa0c47ec7595443b5fb6500186ff19193a28","private":false,"scripts":{"dev":"next dev","lint":"next lint","build":"next build","start":"next start","analyze":"ANALYZE=true npm run build"},"_npmUser":{"name":"admiral.nelson","actor":{"name":"admiral.nelson","type":"user","email":"roial33@hotmail.com"},"email":"roial33@hotmail.com"},"_npmVersion":"8.11.0","description":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).","directories":{},"_nodeVersion":"16.16.0","dependencies":{"qs":"^6.11.2","clsx":"^2.1.1","next":"15.0.2","react":"^18.2.0","fs-extra":"^10.0.0","react-dom":"^18.2.0","framer-motion":"^11.11.11","@strapi/client":"^1.0.0","@heroicons/react":"^2.2.0","@tailwindcss/line-clamp":"^0.4.4","react-intersection-observer":"^9.13.1","@lottiefiles/react-lottie-player":"^3.5.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8","postcss":"^8","tailwindcss":"^3.4.1","eslint-config-next":"15.0.2","@next/bundle-analyzer":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-catalyst_1.0.20_1751392796389_0.6816756395319252","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@admiral.nelson/smart-catalyst","version":"1.0.21","_id":"@admiral.nelson/smart-catalyst@1.0.21","maintainers":[{"name":"admiral.nelson","email":"roial33@hotmail.com"}],"bin":{"create-next-app-starter":"create-next-app-starter.js"},"dist":{"shasum":"2eae8cadb0653367cbb603564c2209456f52e08a","tarball":"https://registry.npmjs.org/@admiral.nelson/smart-catalyst/-/smart-catalyst-1.0.21.tgz","fileCount":62,"integrity":"sha512-XJSHLByllrBND+XN2lzE99oSj4g3stKz0YMVmrGX471ia23C+oLmnvKZiU9hvp8lnqyCOMG73IBBsQ2qXUpgxQ==","signatures":[{"sig":"MEUCIAyLKBrgkh9s4JPrw4cvQbKe+wPyzQlmQwfWwKca/fuVAiEAgNU6w4WpiC25SqU9/KzxnXqXZANysThZ00guTsBk6vQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3626459},"gitHead":"6a803020e74d69e3950f76eabd1bdc9cfe1ae37b","private":false,"scripts":{"dev":"next dev","lint":"next lint","build":"next build","start":"next start","analyze":"ANALYZE=true npm run build"},"_npmUser":{"name":"admiral.nelson","actor":{"name":"admiral.nelson","type":"user","email":"roial33@hotmail.com"},"email":"roial33@hotmail.com"},"_npmVersion":"8.11.0","description":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).","directories":{},"_nodeVersion":"16.16.0","dependencies":{"qs":"^6.11.2","clsx":"^2.1.1","next":"15.0.2","react":"^18.2.0","fs-extra":"^10.0.0","react-dom":"^18.2.0","framer-motion":"^11.11.11","@strapi/client":"^1.0.0","@heroicons/react":"^2.2.0","@tailwindcss/line-clamp":"^0.4.4","react-intersection-observer":"^9.13.1","@lottiefiles/react-lottie-player":"^3.5.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8","postcss":"^8","tailwindcss":"^3.4.1","eslint-config-next":"15.0.2","@next/bundle-analyzer":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-catalyst_1.0.21_1751392975197_0.24405825626464384","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@admiral.nelson/smart-catalyst","version":"1.0.22","_id":"@admiral.nelson/smart-catalyst@1.0.22","maintainers":[{"name":"admiral.nelson","email":"roial33@hotmail.com"}],"bin":{"create-next-app-starter":"create-next-app-starter.js"},"dist":{"shasum":"14859d554b31382ca539a1df0be0806b97204f99","tarball":"https://registry.npmjs.org/@admiral.nelson/smart-catalyst/-/smart-catalyst-1.0.22.tgz","fileCount":62,"integrity":"sha512-wz1tCtJWEvps3Vj2BzZ/nkYydjzKz8X8vdr28JzaKR8yPRo+wP1QlObp71rvL86K7vXk+hyjYovALXZGbPYkmQ==","signatures":[{"sig":"MEUCIQCARiENoCBo7VecVtRK22ZdrH8/USbu0nb95IfxgiAYQgIgN9R3m9L0074WtCmoAf8AkQzJ2woxprEiQMcNATuniBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3626348},"gitHead":"213b5c1fef77a577b3fb144b7ad3a1d91cc20457","private":false,"scripts":{"dev":"next dev","lint":"next lint","build":"next build","start":"next start","analyze":"ANALYZE=true npm run build"},"_npmUser":{"name":"admiral.nelson","actor":{"name":"admiral.nelson","type":"user","email":"roial33@hotmail.com"},"email":"roial33@hotmail.com"},"_npmVersion":"8.11.0","description":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).","directories":{},"_nodeVersion":"16.16.0","dependencies":{"qs":"^6.11.2","clsx":"^2.1.1","next":"15.0.2","react":"^18.2.0","fs-extra":"^10.0.0","react-dom":"^18.2.0","framer-motion":"^11.11.11","@strapi/client":"^1.0.0","@heroicons/react":"^2.2.0","@tailwindcss/line-clamp":"^0.4.4","react-intersection-observer":"^9.13.1","@lottiefiles/react-lottie-player":"^3.5.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8","postcss":"^8","tailwindcss":"^3.4.1","eslint-config-next":"15.0.2","@next/bundle-analyzer":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-catalyst_1.0.22_1751393495102_0.7517616329219519","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@admiral.nelson/smart-catalyst","version":"1.0.23","_id":"@admiral.nelson/smart-catalyst@1.0.23","maintainers":[{"name":"admiral.nelson","email":"roial33@hotmail.com"}],"bin":{"create-next-app-starter":"create-next-app-starter.js"},"dist":{"shasum":"7297af3a062fe6bdc5c23beae45954ece637df31","tarball":"https://registry.npmjs.org/@admiral.nelson/smart-catalyst/-/smart-catalyst-1.0.23.tgz","fileCount":94,"integrity":"sha512-3oSDF5+biiwix/Sqgu4Ow6+M2gHtqY1VKtNXI54opjvjJA+yzMQ5pkbnvdrwr/WPcUlZa28TxDHyYJvVlYxkyA==","signatures":[{"sig":"MEUCIQC0gWD8+y3FPTR3FNHKVIf2Ua9Zn/6SnJeba+Ko3SG16gIgKhnZHgpmr7fPeCB5h8wA8JYm3ZT2JDKroj7gwDoMHxo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3846234},"gitHead":"3545c055066602d0413f18ad74086cbbb0d3b7e3","private":false,"scripts":{"dev":"next dev","lint":"next lint","build":"node scripts/fetch-google-reviews.js && next build","start":"next start","analyze":"ANALYZE=true npm run build"},"_npmUser":{"name":"admiral.nelson","actor":{"name":"admiral.nelson","type":"user","email":"roial33@hotmail.com"},"email":"roial33@hotmail.com"},"_npmVersion":"10.9.2","description":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).","directories":{},"_nodeVersion":"22.17.0","dependencies":{"qs":"^6.11.2","clsx":"^2.1.1","next":"15.0.2","react":"^18.2.0","fs-extra":"^10.1.0","react-dom":"^18.2.0","googleapis":"^150.0.1","framer-motion":"^11.11.11","@strapi/client":"^1.0.0","@heroicons/react":"^2.2.0","react-intersection-observer":"^9.13.1","@lottiefiles/react-lottie-player":"^3.5.4"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8","postcss":"^8","tailwindcss":"^3.4.1","eslint-config-next":"15.0.2","@next/bundle-analyzer":"^15.0.2"},"_npmOperationalInternal":{"tmp":"tmp/smart-catalyst_1.0.23_1751402343748_0.4226965570531991","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@admiral.nelson/smart-catalyst","version":"1.0.24","private":false,"scripts":{"dev":"next dev","build":"node scripts/fetch-google-reviews.js && next build","start":"next start","lint":"next lint","analyze":"ANALYZE=true npm run build"},"bin":{"create-next-app-starter":"create-next-app-starter.js"},"dependencies":{"@heroicons/react":"^2.2.0","@lottiefiles/react-lottie-player":"^3.5.4","@strapi/client":"^1.0.0","clsx":"^2.1.1","framer-motion":"^11.11.11","fs-extra":"^10.1.0","googleapis":"^150.0.1","next":"15.0.2","qs":"^6.11.2","react":"^18.2.0","react-dom":"^18.2.0","react-intersection-observer":"^9.13.1"},"devDependencies":{"@next/bundle-analyzer":"^15.0.2","eslint":"^8","eslint-config-next":"15.0.2","postcss":"^8","tailwindcss":"^3.4.1"},"_id":"@admiral.nelson/smart-catalyst@1.0.24","gitHead":"1c86848be92616526671e1f70837778e74c71ed2","description":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).","_nodeVersion":"22.17.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-etOZIcIbsg9bFCbXuuY0fkfgRCE4agvZTxDZ2H6rsac0/o3Uf7Dr5zdtvbb4FaIz/z0gI4TsN32CYee0pXyGKQ==","shasum":"161e068eaab04691f4173fc5e4e61dbd5c037247","tarball":"https://registry.npmjs.org/@admiral.nelson/smart-catalyst/-/smart-catalyst-1.0.24.tgz","fileCount":94,"unpackedSize":3846465,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCmK3MLYDreZqnVkK3V+dqK9zlvbaUJF+XwidRMn6rWHQIhAND21Sht5v4VF0vd0ZvOOe+kzS0+L3hYeEhdQ99ZkwLJ"}]},"_npmUser":{"name":"admiral.nelson","email":"roial33@hotmail.com","actor":{"name":"admiral.nelson","email":"roial33@hotmail.com","type":"user"}},"directories":{},"maintainers":[{"name":"admiral.nelson","email":"roial33@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/smart-catalyst_1.0.24_1751426732545_0.9194435760896149"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-01T17:55:16.889Z","modified":"2025-07-02T03:25:32.957Z","1.0.19":"2025-07-01T17:55:17.351Z","1.0.20":"2025-07-01T17:59:56.647Z","1.0.21":"2025-07-01T18:02:55.463Z","1.0.22":"2025-07-01T18:11:35.354Z","1.0.23":"2025-07-01T20:39:04.035Z","1.0.24":"2025-07-02T03:25:32.787Z"},"description":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).","maintainers":[{"name":"admiral.nelson","email":"roial33@hotmail.com"}],"readme":"This is a [Next.js](https://nextjs.org) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).\n\n## Features\n\n- **Next.js 15** with App Router\n- **Strapi CMS Integration** - Headless CMS for content management\n- **Google Business Profile Reviews** - Build-time fetching and caching of Google reviews\n- **Modular Header System** - Advanced navigation with mega menus and mobile support\n- **Blog System** - Full-featured blog with dynamic routing\n- **Contact Page** - Ready-to-use contact form with SmartForm component\n- **About Page** - Professional about page with team and values sections\n- **Custom Pages System** - Create dynamic pages through CMS without coding\n- **SEO Optimized** - Meta tags, structured data, and sitemap generation\n- **Responsive Design** - Built with Tailwind CSS\n- **TypeScript Ready** - Full TypeScript support\n- **Performance Optimized** - Static generation and incremental static regeneration\n- **CSS Animations** - Smooth scroll-triggered animations with minimal JavaScript\n\n## Using NPX\n\nBe sure to use at least node 20, then run command to install the template:\n\n`npx @admiral.nelson/smart-starter my-nextjs-app`\n\n## Strapi CMS Setup\n\nThis template is designed to work with Strapi as a headless CMS. Follow the [Strapi Setup Guide](./STRAPI_SETUP.md) to configure your Strapi instance with the required content models.\n\n### Quick Setup\n\n1. Set up your Strapi instance (or use an existing one)\n2. Create the required content models (see STRAPI_SETUP.md)\n3. Generate an API token in Strapi\n4. Add the token to your environment variables\n\n## Navigation & Footer Setup\n\nThe template includes a powerful modular header system and dynamic footer. Follow the [Strapi Menu Setup Guide](./STRAPI_MENU_SETUP.md) to configure navigation and footer content in Strapi.\n\n### Header Features\n- **Multiple Layout Variants** - Default, centered, and minimal layouts\n- **Mega Menus** - Rich dropdown menus with images and descriptions\n- **Mobile Responsive** - Smooth mobile menu with animations\n- **Sticky Navigation** - Auto-hide/show on scroll\n- **CTA Integration** - Customizable call-to-action buttons\n\n### Footer Features\n- **Categorized Links** - Organize links by main, legal, support, resources\n- **Social Media Integration** - Built-in social media icons and links\n- **Company Information** - Logo, contact details, and description\n- **Responsive Design** - Adapts to all screen sizes\n\n## Environment Variables\n\nAdd the following variables to your `.env.local` file:\n\n```env\nNEXT_PUBLIC_BASE_URL=https://example.com\nCOMPANY_NAME=\"Example Company\"\nSTRAPI_URL=https://admin.example.com\nSTRAPI_API_TOKEN=your_strapi_api_token_here\nNEXT_PUBLIC_STRAPI_URL=https://admin.example.com\n\n# Google Business Profile API (optional - for reviews feature)\nGOOGLE_CLIENT_ID=your_google_client_id_here\nGOOGLE_CLIENT_SECRET=your_google_client_secret_here\nGOOGLE_ACCESS_TOKEN=your_google_access_token_here\nGOOGLE_REFRESH_TOKEN=your_google_refresh_token_here\n```\n\n## Getting Started\n\nFirst, run the development server:\n\n```bash\nnpm run dev\n```\n\nOpen [http://localhost:3000](http://localhost:3000) with your browser to see the result.\n\nYou can start editing the page by modifying `app/page.js`. The page auto-updates as you edit the file.\n\nThis project uses [`next/font`](https://nextjs.org/docs/app/building-your-application/optimizing/fonts) to automatically optimize and load [Geist](https://vercel.com/font), a new font family for Vercel.\n\n## Content Management\n\n### Homepage\n- Edit homepage content through the Strapi admin panel\n- Supports rich text content and SEO metadata\n- Automatically updates when content is published\n\n### Blog\n- Create and manage blog posts in Strapi\n- Supports authors, featured images, and reading time\n- Dynamic routing with SEO-optimized URLs\n- Related posts functionality\n\n### Contact Page\n- Ready-to-use contact form with SmartForm component\n- Customizable form fields and validation\n- Professional layout with contact information\n- Easy to customize for your needs\n- **Form Handling**: See `/src/app/api/contact/route.js` for API route example\n- **Netlify Forms**: Integrated with Netlify Forms for easy form handling and spam protection\n\n### About Page\n- Professional about page with team section\n- Company values and mission statements\n- Team member profiles with social links\n- Responsive design with animations\n\n### Custom Pages System\n- Create new pages through Strapi CMS without coding\n- Multiple section types: Hero, Content, Features, Forms, Images\n- Full SEO support with metadata\n- Automatic static generation for performance\n- See [CUSTOM_PAGES.md](./CUSTOM_PAGES.md) for detailed documentation\n\n### Navigation & Footer\n- Manage navigation menus and footer content through Strapi\n- Supports nested menu structures and mega menus\n- Categorized footer links with social media integration\n- Easy to update without code changes\n\n## Google Business Profile Reviews\n\nAutomatically fetch and display Google reviews from your managed business profiles. This feature fetches reviews at build time and caches them as static JSON files for optimal performance.\n\n### Features\n- **Build-time fetching** - Reviews are cached during build, no runtime API calls\n- **Multi-business support** - Manage reviews for multiple client businesses\n- **Flexible display** - Customizable component with various display options\n- **Static generation** - Perfect for JAMstack and static sites\n- **OAuth authentication** - Secure access to Google Business Profile API\n\n### Quick Setup\n1. **GCP Setup** - Create project and enable APIs (see GOOGLE_REVIEWS_README.md)\n2. **Get Access Tokens** - Use helper scripts or manual OAuth flow\n3. **Environment Variables** - Add Google API credentials to .env.local\n4. **Fetch Reviews** - Run `npm run build` to fetch and cache reviews\n5. **Use Component** - Display reviews with the GoogleReviews component\n\n### Usage\n```jsx\nimport GoogleReviews from '@/components/GoogleReviews';\n\n// Show all reviews (first business)\n<GoogleReviews />\n\n// Show specific business reviews\n<GoogleReviews businessName=\"Your Business Name\" />\n\n// Customize display\n<GoogleReviews \n  businessName=\"Your Business Name\"\n  maxReviews={5}\n  showRating={true}\n  showDate={true}\n  className=\"my-custom-class\"\n/>\n```\n\n### Documentation\nSee [GOOGLE_REVIEWS_README.md](./GOOGLE_REVIEWS_README.md) for detailed setup instructions, troubleshooting, and advanced usage.\n\n## Netlify Forms Integration\n\nThis template includes full Netlify Forms integration for easy form handling:\n\n### Features\n- **Automatic Form Detection**: Netlify automatically detects forms with `data-netlify=\"true\"`\n- **Spam Protection**: Built-in honeypot fields and spam filtering\n- **Fallback Forms**: HTML fallback forms in `/public/forms/` for JavaScript-disabled users\n- **Form Notifications**: Email notifications for form submissions\n- **Form Storage**: Automatic storage of form submissions in Netlify dashboard\n\n### Form Components\n- **NetlifyForm**: Enhanced form component with Netlify Forms integration\n- **SmartInput**: Accessible input fields with validation\n- **SmartTextarea**: Rich textarea with character limits\n- **SmartSelect**: Dropdown select with custom options\n\n### Setup\n1. **Deploy to Netlify** - Connect your repository to Netlify\n2. **Form Detection** - Forms are automatically detected on first deployment\n3. **Configure Notifications** - Set up email notifications in Netlify dashboard\n4. **Spam Protection** - Honeypot fields are automatically included\n5. **Success Pages** - Custom thank you pages at `/thank-you` and `/newsletter-confirmed`\n\n### Usage\n```jsx\nimport NetlifyForm, { SmartInput, SmartTextarea, SmartSelect } from '@/components/NetlifyForm';\n\n<NetlifyForm\n  formName=\"contact\"\n  fields={formFields}\n  submitText=\"Send Message\"\n  successMessage=\"Thank you for your message!\"\n>\n  {({ getFieldProps }) => (\n    <>\n      <SmartInput\n        name=\"name\"\n        label=\"Name\"\n        required\n        {...getFieldProps('name')}\n      />\n      <SmartTextarea\n        name=\"message\"\n        label=\"Message\"\n        required\n        {...getFieldProps('message')}\n      />\n    </>\n  )}\n</NetlifyForm>\n```\n\n### Fallback Forms\n- `/public/forms/contact.html` - Contact form fallback\n- `/public/forms/generic.html` - Generic form template\n- Accessible at `/contact-fallback` and `/form-fallback`\n\n## Header Component Usage\n\nThe modular header system provides flexible navigation options:\n\n```jsx\nimport { Header } from '@/components/header';\n\n// Basic usage\n<Header\n  links={navigationLinks}\n  logo={{ src: '/logo.svg', alt: 'Logo', width: 40, height: 40 }}\n  ctaText=\"Get Started\"\n  ctaHref=\"/contact\"\n/>\n\n// Advanced usage with mega menu\n<Header\n  variant=\"centered\"\n  links={navigationLinks}\n  megaMenuVariant=\"default\"\n  showMegaMenu={true}\n  ctaVariant=\"primary\"\n  ctaText=\"Start Project\"\n  ctaHref=\"/contact\"\n/>\n```\n\nSee the [Header Usage Guide](./src/components/header/USAGE.md) for detailed documentation.\n\n## Learn More\n\nTo learn more about Next.js, take a look at the following resources:\n\n- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.\n- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.\n- [Strapi Documentation](https://docs.strapi.io/) - learn about Strapi CMS.\n\nYou can check out [the Next.js GitHub repository](https://github.com/vercel/next.js) - your feedback and contributions are welcome!\n\n## SEO\n\nThe template includes comprehensive SEO features:\n- Dynamic meta tags from Strapi content\n- Structured data (JSON-LD)\n- Automatic sitemap generation\n- Open Graph and Twitter Card support\n- Canonical URLs\n\n## Fonts\n\nNavigate to `/app/layout.js` and either delete or add wanted fonts.\nThen navigate to `tailwind.config.js` and set up the tailwind classes for fonts.\n\n## Container\n\nSet up the correct container styles in `global.css`\n\n```css\n@layer components {\n  .container {\n    @apply lg:px-20 !important;\n  }\n}\n```\n\n## Deployment\n\n### Vercel\n1. Connect your repository to Vercel\n2. Add environment variables in Vercel dashboard\n3. Deploy automatically on push\n\n### Netlify\n1. Connect your repository to Netlify\n2. Add all environment variables to the build settings\n3. Set build command: `npm run build`\n4. Set publish directory: `.next`\n\n### Other Platforms\nMake sure to add all environment variables to your deployment platform before building.\n\n## Troubleshooting\n\n### Common Issues\n\n1. **404 Errors on Build**: Ensure Strapi content models are created and content is published\n2. **API Token Issues**: Verify your Strapi API token has proper permissions\n3. **Image Loading**: Check that Strapi media files are accessible\n4. **Build Failures**: Ensure all environment variables are set correctly\n5. **Navigation Not Showing**: Check that navigation content is published in Strapi\n6. **Header Not Working**: Ensure HeaderProvider wraps your app in layout.js\n\n### Getting Help\n\n- Check the [Strapi Setup Guide](./STRAPI_SETUP.md) for detailed setup instructions\n- Review the [Strapi Menu Setup Guide](./STRAPI_MENU_SETUP.md) for navigation configuration\n- Check the [Header Usage Guide](./src/components/header/USAGE.md) for component documentation\n- Review the console logs for detailed error messages\n- Ensure your Strapi instance is accessible from your deployment environment\n","readmeFilename":"README.md"}