NeahStable/PROMPT_PROBLEME.txt
2026-01-17 01:31:17 +01:00

40 lines
1.4 KiB
Plaintext

PROBLÈME TYPESCRIPT - Next.js 16.1.1
Contexte :
- Next.js 16.1.1 (App Router), TypeScript strict mode
- Fichier : components/calendar/calendar-widget.tsx
- Erreur : "Block-scoped variable 'status' used before its declaration" ligne 33
Code problématique :
```typescript
export function CalendarWidget() {
const { data: session, status } = useSession(); // Ligne 25 - déclaration
const [events, setEvents] = useState<Event[]>([]);
// ... autres hooks ...
useEffect(() => {
console.log("Status:", status); // Ligne 33 - ERREUR ICI
// ...
}, [session, status, triggerNotification]);
}
```
Constats :
✅ Même structure que components/email.tsx qui compile sans erreur
✅ Pas de conflit de noms (une seule déclaration de 'status')
✅ Caches nettoyés (.next, node_modules/.cache)
✅ Fichier vérifié sur disque - code correct
✅ Aucune autre référence à sessionResult/status trouvée
Tentatives échouées :
1. Déclarer status dans useEffect → erreur avec sessionHook
2. Séparer destructuration → erreur avec sessionResult
3. Changer ordre des hooks → même erreur
4. Copier structure exacte de email.tsx → même erreur
Question :
Pourquoi TypeScript signale "used before declaration" alors que status est déclaré ligne 25 et utilisé ligne 33, et que la même structure fonctionne dans email.tsx ?
Solution recherchée :
Comment résoudre cette erreur TypeScript sans compromettre la structure du code qui fonctionne ailleurs ?