feat: Implement new dashboard, publicity management, and calendar pages with corresponding server routes.

This commit is contained in:
Michael committed 2026-01-06 11:39:28 +01:00
1 parent eb3fb119ee
commit 78b53f576b
10 files changed
+696 -630

No files matched your search

+26 -13
View File
@@ -1,25 +1,38 @@
# Task: Redirection authentification si déconnecté
# Task: Correction blocage API Publicités
## Context
L'utilisateur signale que lorsqu'il est déconnecté et navigue ou se trouve sur une page, il n'est pas systématiquement renvoyé vers la page d'authentification. Il souhaite une redirection immédiate.
L'utilisateur rencontre une erreur `net::ERR_BLOCKED_BY_CLIENT` lors de l'appel à l'API `/api/publicities`. Cette erreur est typique des bloqueurs de publicité (AdBlock, uBlock) qui filtrent les requêtes contenant des mots-clés comme "publicity" ou "ads".
## Current Focus
Vérification terminée.
Renommer les endpoints API pour éviter le blocage par les bloqueurs de publicité.
## Master Plan
- [x] Analyser le fichier principal de routing (ex: `App.tsx` ou `main.tsx`).
- [x] Examiner le hook d'authentification `useAuthUnified` et les composants de protection de route (ex: `ProtectedRoute`).
- [x] Identifier pourquoi la redirection ne se fait pas ou pas correctement.
- [x] Implémenter/Corriger la logique de redirection vers `/auth` (ou la page de login).
- [x] Vérifier le comportement.
- [x] **Remplacement des API calls (Client-side)**
- [x] `client/src/pages/Calendar.tsx`
- [x] `client/src/pages/Dashboard.tsx`
- [x] `client/src/components/PublicityForm.tsx`
- [x] `client/src/pages/Publicities.tsx`
- [x] `client/src/pages/mobile/PublicitiesPage.tsx`
- [x] **Revue du sélecteur d'année Mobile**
- [x] Vérifier la logique de génération des années dans `client/src/pages/mobile/PublicitiesPage.tsx` pour inclure les années passées (ex: 2024 en 2026).
- [x] Aligner avec la correction desktop si nécessaire.
- [x] **Correction des erreurs Lint TypeScript**
- [x] Installer les paquets `@types` manquants (`node`, `express`, `react`, etc.).
- [x] Fixer les paramètres `req` et `res` (implicitement `any`) dans `server/routes.ts`.
- [x] Corriger l'erreur de propriété `invoiceAmountTTC` dans `server/routes.ts`.
- [x] Résoudre `Property 'env' does not exist on type 'ImportMeta'`.
- [x] Résoudre `JSX element implicitly has type 'any'`.
- [x] **Tests et Validation**
- [x] Vérifier que les appels API utilisent bien `/api/ad-campaigns`.
- [x] Tester le sélecteur d'année sur mobile.
- [x] Compiler le projet (`npm run check`) pour s'assurer que les erreurs critiques sont résolues.
## Progress Log
- Création de la tâche.
- Analyse de `App.tsx` et `useAuthUnified.ts`.
- Identification que `RouterProduction.tsx` renvoyait `NotFound` au lieu de rediriger.
- Modification de `RouterProduction.tsx` pour rediriger vers `/auth` toutes les routes inconnues si non authentifié.
- Correction d'une erreur de remplacement de code en réécrivant le fichier complet.
- Création de la tâche suite aux logs fournis.