chore(web): fix prefer-const and remove unused import #91

Merged
maximus merged 1 commit from chore/web-lint-cleanup into master 2026-05-30 18:52:34 +00:00
Owner

Nettoyage lint de web/ — 3 corrections triviales pré-existantes, repérées lors du check lint de #70.

Changements

  • lists/[id]/page.tsx : let subtasksMapconst (jamais réassigné, juste muté)
  • api/lists/[id]/tasks/route.ts : let queryconst (jamais réassigné)
  • Header.tsx : retrait de l'import Link (next/link) inutilisé

Vérification

  • eslint web/ : 4 problèmes → 1 (seul ThemeToggle reste)
  • tsc --noEmit : OK
  • Diff : 3 fichiers, +2/-3

Reste

Le 4e lint (ThemeToggle.tsxreact-hooks/set-state-in-effect) n'est pas trivial (lecture localStorage en SSR) → tracké dans #90 avec les 2 options (useSyncExternalStore vs eslint-disable documenté). Exclu ici pour garder la PR mécanique et sans risque.

Nettoyage lint de `web/` — 3 corrections triviales **pré-existantes**, repérées lors du check lint de #70. ## Changements - `lists/[id]/page.tsx` : `let subtasksMap` → `const` (jamais réassigné, juste muté) - `api/lists/[id]/tasks/route.ts` : `let query` → `const` (jamais réassigné) - `Header.tsx` : retrait de l'import `Link` (`next/link`) inutilisé ## Vérification - `eslint` web/ : **4 problèmes → 1** (seul ThemeToggle reste) - `tsc --noEmit` : OK - Diff : 3 fichiers, +2/-3 ## Reste Le 4e lint (`ThemeToggle.tsx` — `react-hooks/set-state-in-effect`) n'est pas trivial (lecture `localStorage` en SSR) → tracké dans #90 avec les 2 options (`useSyncExternalStore` vs `eslint-disable` documenté). Exclu ici pour garder la PR mécanique et sans risque.
maximus added 1 commit 2026-05-30 18:23:08 +00:00
Three pre-existing lint issues surfaced during #70's lint check:
- lists/[id]/page.tsx: subtasksMap was `let`, never reassigned -> const
- api/lists/[id]/tasks/route.ts: query was `let`, never reassigned -> const
- Header.tsx: drop unused `Link` import from next/link

Leaves web/ lint at a single remaining error (ThemeToggle
set-state-in-effect), tracked in #90 (needs a design decision:
useSyncExternalStore vs documented eslint-disable).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
maximus added the
status:review
type:refactor
labels 2026-05-30 18:23:08 +00:00
Author
Owner

Review — APPROVE

Trois corrections lint mécaniques et pré-existantes dans web/. Toutes les affirmations de la PR vérifiées contre le working tree et le tooling.

Vérification

  • subtasksMap (page.tsx:77) : uniquement muté ([key]=, .push()), jamais réassigné → const correct
  • query (route.ts:52) : uniquement consommé via query.orderBy(...), jamais réassigné → const correct
  • Header.tsx : grep Link ne retourne plus rien après retrait → sans danger
  • eslint src/ : 1 problème restant (l'erreur ThemeToggle.tsx documentée et déférée à #90) — conforme au « 4 → 1 »
  • tsc --noEmit : exit 0 (propre)
  • Commit unique 4086aac, format conventionnel chore(web):

Checklist

  • Sécurité : N/A (aucun secret, aucune frontière touchée)
  • Correction : OK — aucun changement de comportement
  • Tests : N/A — diff purement cosmétique (lint), aucun test attendu
  • Qualité : bon découpage, le 4e lint non-trivial est correctement isolé dans #90
  • Données : N/A

Note non-bloquante

Pas de mot-clé de fermeture Fixes #N (la PR référence #70/#90 contextuellement). Cohérent pour un nettoyage janitorial non lié à une issue unique — donc aucun label status:review à transitionner.

## Review — APPROVE Trois corrections lint mécaniques et pré-existantes dans `web/`. Toutes les affirmations de la PR vérifiées contre le working tree et le tooling. ### Vérification - **`subtasksMap`** (page.tsx:77) : uniquement muté (`[key]=`, `.push()`), jamais réassigné → `const` correct - **`query`** (route.ts:52) : uniquement consommé via `query.orderBy(...)`, jamais réassigné → `const` correct - **`Header.tsx`** : `grep Link` ne retourne plus rien après retrait → sans danger - **`eslint src/`** : 1 problème restant (l'erreur `ThemeToggle.tsx` documentée et déférée à #90) — conforme au « 4 → 1 » - **`tsc --noEmit`** : exit 0 (propre) - Commit unique `4086aac`, format conventionnel `chore(web):` ### Checklist - **Sécurité** : N/A (aucun secret, aucune frontière touchée) - **Correction** : OK — aucun changement de comportement - **Tests** : N/A — diff purement cosmétique (lint), aucun test attendu - **Qualité** : bon découpage, le 4e lint non-trivial est correctement isolé dans #90 - **Données** : N/A ### Note non-bloquante Pas de mot-clé de fermeture `Fixes #N` (la PR référence #70/#90 contextuellement). Cohérent pour un nettoyage janitorial non lié à une issue unique — donc aucun label `status:review` à transitionner.
maximus merged commit 97cf9ce0f7 into master 2026-05-30 18:52:34 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: maximus/simpl-liste#91
No description provided.