feat: Memento avec dates, Markdown, reminders et auth
Tests Playwright validés ✅:
- Création de notes: OK
- Modification titre: OK
- Modification contenu: OK
- Markdown éditable avec preview: OK
Fonctionnalités:
- date-fns: dates relatives sur cards
- react-markdown + remark-gfm
- Markdown avec toggle edit/preview
- Recherche améliorée (titre/contenu/labels/checkItems)
- Reminder recurrence/location (schema)
- NextAuth.js + User/Account/Session
- userId dans Note (optionnel)
- 4 migrations créées
Ready for production + auth integration
This commit is contained in:
@@ -106,14 +106,14 @@ export const NOTE_COLORS = {
|
||||
**Fichiers**: `components/note-input.tsx`, `components/note-editor.tsx`
|
||||
|
||||
**Icônes implémentées**:
|
||||
1. **Bell** - Remind me (⚠️ non fonctionnel)
|
||||
1. **Bell** - Remind me ✅ **FONCTIONNEL**
|
||||
2. **Image** - Ajouter image ✅
|
||||
3. **UserPlus** - Collaborateur (⚠️ non fonctionnel)
|
||||
4. **Palette** - Changer couleur ✅
|
||||
5. **Archive** - Archiver note ✅
|
||||
6. **MoreVertical** - Plus d'options (⚠️ non fonctionnel)
|
||||
7. **Undo2** - Annuler (⚠️ non fonctionnel)
|
||||
8. **Redo2** - Rétablir (⚠️ non fonctionnel)
|
||||
6. **MoreVertical** - Plus d'options ✅
|
||||
7. **Undo2** - Annuler ✅ **FONCTIONNEL**
|
||||
8. **Redo2** - Rétablir ✅ **FONCTIONNEL**
|
||||
9. **CheckSquare** - Mode checklist ✅
|
||||
|
||||
---
|
||||
@@ -176,11 +176,45 @@ function parseNote(dbNote: any): Note {
|
||||
- Temps réel avec debouncing
|
||||
|
||||
### ✅ Drag-and-drop pour réorganiser
|
||||
**Fichiers**: `components/note-card.tsx`, `app/actions/notes.ts`
|
||||
- Utilisation de `@hello-pangea/dnd` (fork de react-beautiful-dnd)
|
||||
**Fichiers**: `components/note-card.tsx`, `app/actions/notes.ts`, `components/note-grid.tsx`
|
||||
- Utilisation du drag-and-drop HTML5 natif
|
||||
- Champ `order` dans la DB pour persister l'ordre
|
||||
- Réorganisation visuelle fluide
|
||||
- `updateNoteOrder()` pour sauvegarder les changements
|
||||
- Réorganisation visuelle fluide avec feedback (opacity-30 pendant le drag)
|
||||
- `reorderNotes()` pour sauvegarder les changements
|
||||
- Fonctionne séparément pour les notes épinglées et non-épinglées
|
||||
- Persistance après rechargement de page
|
||||
|
||||
### ✅ Undo/Redo dans note-input
|
||||
**Fichiers**: `components/note-input.tsx`, `hooks/useUndoRedo.ts`
|
||||
- Historique de 50 états maximum
|
||||
- Sauvegarde automatique après 1 seconde d'inactivité
|
||||
- Boutons Undo/Redo dans la toolbar
|
||||
- Raccourcis clavier:
|
||||
- `Ctrl+Z` ou `Cmd+Z` → Undo
|
||||
- `Ctrl+Y` ou `Cmd+Y` ou `Ctrl+Shift+Z` → Redo
|
||||
- Gestion des états title et content
|
||||
- Reset de l'historique après création de note
|
||||
- Tests Playwright complets dans `tests/undo-redo.spec.ts`
|
||||
|
||||
### ✅ Système de Reminders
|
||||
**Fichiers**: `components/note-input.tsx`, `components/note-editor.tsx`, `components/note-card.tsx`, `prisma/schema.prisma`
|
||||
- **Champ reminder** ajouté au schema Prisma (DateTime nullable)
|
||||
- **Dialog de reminder** avec date et time pickers
|
||||
- **Valeurs par défaut**: Demain à 9h00
|
||||
- **Validation**:
|
||||
- Date et heure requises
|
||||
- Date doit être dans le futur
|
||||
- Format date/time valide
|
||||
- **Fonctionnalités**:
|
||||
- Définir reminder sur nouvelle note (note-input.tsx)
|
||||
- Définir reminder sur note existante (note-editor.tsx)
|
||||
- Modifier reminder existant
|
||||
- Supprimer reminder
|
||||
- Indicateur visuel (icône Bell bleue) sur les notes avec reminder actif
|
||||
- **Persistance**: Reminder sauvegardé en base de données
|
||||
- **Tests**: Tests Playwright complets dans `tests/reminder-dialog.spec.ts`
|
||||
- **Toast notifications**: Confirmation lors de la définition/suppression
|
||||
- **Migration**: `20260104140638_add_reminder`
|
||||
|
||||
---
|
||||
|
||||
@@ -479,14 +513,12 @@ const handleImageUpload = (e: React.ChangeEvent<HTMLInputElement>) => {
|
||||
- Documentation README complète
|
||||
|
||||
### ⚠️ Partiellement Complété (10%)
|
||||
- Toolbar: 4/9 boutons fonctionnels
|
||||
- Toolbar: UserPlus (Collaborateur) non fonctionnel
|
||||
|
||||
### ❌ À Implémenter (5%)
|
||||
- Bell (Remind me) - Système de rappels
|
||||
- UserPlus (Collaborator) - Collaboration
|
||||
- MoreVertical (More options) - Menu additionnel
|
||||
- Undo2 - Annulation
|
||||
- Redo2 - Rétablissement
|
||||
- UserPlus (Collaborator) - Collaboration temps réel
|
||||
- Système de notification pour les reminders actifs
|
||||
- Dark mode complet
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user