--- title: "Build Errors na Route Rename Fix" category: "build-errors-fix" group: "bugs" version: "0.2.2" releaseDate: "2025-01-19" status: "completed" description: "Diverse build errors opgelost na het hernoemen van /releases naar /documentatie route" --- ## Wat ging er fout? Na het hernoemen van de `/releases` route naar `/documentatie` kregen we een serie build errors: ### 1. Bestandsnaam mismatch **Probleem:** De route heette nu `/documentatie` maar het bestand was nog `lib/mdx/releases.ts` **Symptoom:** TypeScript kon de module niet vinden **Fix:** Bestand hernoemd naar `lib/mdx/documentatie.ts` en alle imports bijgewerkt ### 2. Server/Client component conflicts **Probleem:** Componenten zonder `'use client'` directive werden gebruikt in interactieve contexten **Symptoom:** Cryptische webpack error: "Cannot read properties of undefined (reading 'call')" **Fix:** `'use client'` toegevoegd aan 7 componenten: - UI componenten (buttons, bento-grid, hero sections) - Marketing componenten (sidebar wrappers, skeletons) ### 3. Button component in BentoGrid **Probleem:** BentoGrid importeerde Button component met complexe Radix UI dependencies **Symptoom:** Webpack module resolution errors bij het laden van de login pagina **Fix:** Button import verwijderd, vervangen door simpele `` tag met inline styling ## Wat hebben we gefixed? ### Hernoem operatie - ✅ `lib/mdx/releases.ts` → `lib/mdx/documentatie.ts` - ✅ 4 bestanden bijgewerkt met nieuwe import pads - ✅ Alle routes werken met nieuwe naam ### Component fixes **UI Components:** - `components/ui/ai-button.tsx` - AI geanimeerde button - `components/ui/button.tsx` - Basis button component - `components/ui/bento-grid.tsx` - Grid layout voor features - `components/ui/hero-section-2.tsx` - Hero sectie met animaties - `components/ui/sign-in.tsx` - Login formulier component **App Components:** - `app/epd/clients/components/client-list-skeleton.tsx` - Loading skelet - `app/(marketing)/documentatie/components/release-sidebar-wrapper.tsx` - Sidebar wrapper ## Resultaat **Voor de fix:** - ❌ Build faalde met TypeScript errors - ❌ Login pagina crashte - ❌ Documentatie pagina niet toegankelijk - ❌ EPD cliënten lijst crashte **Na de fix:** - ✅ Build slaagt in 11.5s - ✅ Alle 25 routes werken - ✅ 4 documentatie pagina's gegenereerd - ✅ Geen runtime errors meer - ✅ Applicatie deployment-ready ## Geleerde lessen 1. **Consistentie is key** - Bij het hernoemen van routes ook de onderliggende bestanden meteen aanpassen 2. **'use client' is essentieel** - Elke component met interactiviteit (hooks, state, animations) heeft deze directive nodig 3. **Simpel > Complex** - Soms is een `` tag beter dan een complexe Button component met dependencies 4. **Clean cache helpt** - Bij persistente errors: `rm -rf .next` en opnieuw starten ## Impact - **Development time:** ~2 uur debugging en fixes - **Files changed:** 11 bestanden aangepast - **Build time:** Geen impact (11.5s voor/na) - **Bundle size:** Minimale toename (+0.1kb door wrappers) - **User impact:** Geen - bugs gevonden voor deployment