Wire landing sections to Spring Boot API
Replace hardcoded mock data in FAQSection, FeaturesSection,
StatsSection, and WaitlistSection with live API calls via a new
landingService + useLandingData React Query hook.
- Add TypeScript types for the landing API contract (LandingPageData, Feature, FAQ, PlatformStat, ErrorResponse)
- landingService calls GET /api/landing/data and POST /api/landing/waitlist
- useLandingData wraps the query with a 5-min staleTime to mirror the backend @Cacheable TTL
- FeaturesSection resolves icon names dynamically from lucide-react with a fallback pool for unknown names
- StatsSection falls back to em-dash placeholders when API data is absent
- WaitlistSection adds a name field and delegates to the real API with field-level error handling
- Change Vite dev server port from 8080 to 3000 to avoid conflict with the backend