Maak een dynamische landingspagina voor de studio "MKTG FLOW AI-studio".
BELANGRIJK: De pagina moet bij het laden data ophalen van deze API endpoint:
https://caistudio.nl/api/v1/landing-page/st_0131a0d3338bbe10cb0780f0ceeda04e
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: MKTG FLOW AI-studio
Titel: MKTG FLOW
Subtitel: Humans lead - AI runs - Space for growth
Beschrijving: Welkom in de MKTG FLOW AI-studio. Een team van AI-agents dat marketingwerk versnelt en structureert. Humans bepalen de richting. AI voert uit. Zo ontstaat controle, flow en ruimte voor groei.
Afbeelding URL: https://caistudio.nl/images/studio/st_0131a0d3338bbe10cb0780f0ceeda04e?v=1773307512
Logo URL: https://caistudio.nl/images/studio-logo/st_0131a0d3338bbe10cb0780f0ceeda04e?v=1773307512
Eigenaar: Sylvia Weiler
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: €0,00 per maand. Checkout URL (uit API response "checkoutUrl"): https://caistudio.nl/studio/sylvia-weiler/untitled-studio/checkout
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) ==
== Technische vereisten ==
data.assistants.length. Dus NIET "7 AI-assistenten" maar ${data.assistants.length} AI-assistenten.Now let me read the existing files before building the landing page.
Now I have everything I need. Let me build the full landing page with all required sections.
Now let me also update globals.css to add the Space Grotesk font variable and then build all the components:
Now let me build the main page and all component files:
Now let me write the main page that fetches from the API:
De landingspagina is volledig gebouwd. Hier is een overzicht van wat er gemaakt is:
Alle 9 vereiste secties zijn aanwezig:
data.assistants.length), en een conditionele CTA-knop op basis van checkoutEnabledassistants array met iconen per specialiteitownerName) met avatar-initialenlegalDocuments array, openen in nieuw tabbladTechnisch: De pagina haalt live data op via fetch() bij page load, toont een loading skeleton tijdens het laden, en heeft een nette foutpagina met "Probeer opnieuw"-knop. Alle aantallen en prijzen zijn 100% dynamisch — nooit hardcoded.