docs: update frontend handoff with detailed build issues

- Documented TypeScript errors in Header.tsx and signup page
- Listed useSearchParams Suspense boundary issue
- Provided specific fixes for each issue
- Backend fully operational, frontend needs code fixes before deployment

Job ID: MTAD-IMPL-2025-11-18-CL
This commit is contained in:
admin 2025-11-18 06:49:56 +00:00
parent 65be7e1522
commit 88ea4d4caa

View file

@ -2,18 +2,46 @@
**Date**: 2025-11-18 **Date**: 2025-11-18
**Job ID**: MTAD-IMPL-2025-11-18-CL **Job ID**: MTAD-IMPL-2025-11-18-CL
**Status**: Backend API deployment complete → Frontend needed **Status**: Backend API deployment complete → Frontend needs fixes and deployment
**Target**: Claude-Web Agent (GitHub access) **Target**: Claude-Web Agent (GitHub access)
--- ---
## Quick Summary ## Current Status
**Backend is fully operational and deployed** to `https://mtd.runfoo.run` **Backend API is fully operational and deployed** to `https://mtd.runfoo.run`
⚠️ **Frontend codebase exists but has build issues**
**Frontend not yet deployed** - Root path `/` currently returns 404
**Frontend is missing** - Root path `/` currently returns 404 ---
**Your task**: Build and deploy a frontend home screen + navigation ## Critical Issues to Fix
The frontend code exists in `/web` directory but has **build-time errors** that prevent deployment:
### 1. TypeScript Type Errors
- **File**: `components/common/Header.tsx` (multiple locations)
- **Issue**: `onClick` prop passed to `Link` component, but Link props don't accept `onClick`
- **Solution**: Wrap Link in a `<div>` with the `onClick` handler, OR use next/link `onClick` callback pattern
- **Affected lines**: 138, 150, 182 (mobile menu navigation)
### 2. Checkbox Label Type Error
- **File**: `app/(auth)/signup/page.tsx:159`
- **Issue**: `label` prop expects `string` but JSX Element (`<span>` with links) is passed
- **Solution**: Either:
- Use string label and style separately, OR
- Create custom checkbox component that accepts JSX labels
### 3. useSearchParams() Without Suspense
- **File**: `app/(auth)/reset-password/confirm/page.tsx:11-12`
- **Issue**: 'use client' component uses `useSearchParams()` without Suspense boundary
- **Next.js 13+ requirement**: Must wrap in Suspense or use a separate non-async component
- **Solution**: Extract into separate component in Suspense boundary
### 4. Build Configuration
- **File**: `next.config.js`
- **Issue**: TypeScript errors currently disabled (`ignoreBuildErrors: true`)
- **Solution**: Re-enable proper TypeScript checking after fixing errors above
--- ---