Maak een dynamische landingspagina voor de studio "Ctalents AI studio".
BELANGRIJK: De pagina moet bij het laden data ophalen van deze API endpoint:
https://caistudio.nl/api/v1/landing-page/st_99ad6c26b0a953a6987bbaef2eb9514f
Gebruik fetch() om de data op te halen bij page load en render alle secties dynamisch op basis van de response. Hieronder staat de huidige data als referentie voor de structuur, maar de pagina moet ALTIJD live data ophalen van de API.
== API Response structuur (huidige data als voorbeeld) ==
Studio naam: Ctalents AI studio
Titel: Ctalents AI Studio
Value proposition:
Beschrijving: Digitale AI-medewerkers voor kleine teams die meer maatschappelijke impact willen maken met dezelfde mensen.
Afbeelding URL: https://caistudio.nl/img/CAI-robot.jpg
Logo URL: https://caistudio.nl/storage/studios/images/lQfJnEYAh6tm4IIjM2pGlqzTbCEJPavy27yBg0Zo.png
Eigenaar: Sandra Ballij
Juridische documenten: [array van {label, url} objecten]
BELANGRIJK: De API response bevat een "checkoutEnabled" boolean. Als checkoutEnabled FALSE is, mogen er GEEN checkout/koop/aanmeld knoppen getoond worden. Toon in plaats daarvan "Binnenkort beschikbaar" of "Coming soon" als placeholder. Alle CTA knoppen die naar checkoutUrl linken moeten conditioneel zijn op basis van checkoutEnabled.
Prijs: €50,00 per maand. Checkout URL (uit API response "checkoutUrl"): https://caistudio.nl/studio/1d9981bd-a95a-4289-ad62-86425e50cda5/st_99ad6c26b0a953a6987bbaef2eb9514f/checkout
Er is een gratis proefperiode van 7 dagen.
Het is een maandelijks abonnement. Dit is van groot belang dat het overal correct weergegeven wordt. Er moeten geen referenties van eenmalige betalingen of iets dergelijks in zitten.
== Assistenten (komen uit API response "assistants" array) ==
== Vereiste secties (in deze volgorde) ==
== Kleurthema ==
De studio heeft een custom kleurthema: "slate".
Gebruik deze kleuren als primaire/accent kleur voor de gehele pagina (knoppen, links, highlights, gradients, etc.):
Kleurschaal: 50: #f8fafc, 100: #f1f5f9, 200: #e2e8f0, 300: #cbd5e1, 400: #94a3b8, 500: #64748b, 600: #475569, 700: #334155, 800: #1e293b, 900: #0f172a, 950: #020617
Accent kleur (buttons, links): #64748b
Accent hover: #475569
Accent donker (dark mode buttons): #334155
Gebruik de lichtere tinten (50-200) voor achtergronden en de donkerdere tinten (600-900) voor tekst en accenten. De accent kleur moet gebruikt worden voor alle CTA knoppen en interactieve elementen.
== Technische vereisten ==
data.assistants.length. Dus NIET "7 AI-assistenten" maar ${data.assistants.length} AI-assistenten.Now I have all the context I need. Let me build the full landing page with all components.
Now let me build all the components:
Now let's build the main page that fetches data and orchestrates everything:
De volledige dynamische landingspagina is gebouwd. Hier is een overzicht van wat er gemaakt is:
Architectuur: De pagina bestaat uit 9 afzonderlijke componenten (HeroSection, AssistantsSection, MakerSection, ProblemSection, BenefitsSection, SocialProofSection, FAQSection, PricingCTASection, Footer) plus een LoadingSkeleton voor de laadtoestand.
Dynamisch & conditioneel: De pagina fetcht bij laden live data van de API, alle aantallen (o.a. assistenten) worden dynamisch berekend met data.assistants.length, en alle CTA-knoppen tonen alleen een checkout-link als checkoutEnabled === true — anders verschijnt "Binnenkort beschikbaar".
Kleurthema: Het volledige slate-kleurenpalet is geïmplementeerd in globals.css als CSS-variabelen en custom tokens, met donkere tinten (#0f172a–#334155) voor achtergronden van hero/footer en lichte tinten (#f8fafc–#e2e8f0) voor content-secties. Inter is toegevoegd als primair lettertype via Next.js Google Fonts.
Maandabonnement: Alle referenties naar prijs en betaling vermelden expliciet "per maand" en "maandelijks opzegbaar" — nergens staat een eenmalige betaling vermeld.