feat: smart note history with manual/auto modes, delete entries, i18n fixes
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 1m16s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 1m16s
- Add noteHistoryMode setting (manual default / auto) with DB migration - Manual mode: commit button in editor toolbar creates snapshots on demand - Auto mode: smart snapshots with 20-char diff threshold + 5min cooldown, structural changes (color, pin, archive, labels) bypass cooldown - Add delete individual history entries from history modal - Fix sidebar: Notes nav no longer active on notebook pages - Fix sidebar icon: replace filled Lightbulb with outlined FileText - Fix title suggestions: change from amber to sky blue color scheme - Fix hydration mismatch: add suppressHydrationWarning on locale dates - Complete i18n: add history, sort, and AI chat translations for all 16 languages - Translate French AI assistant section (40+ keys) from English to French - Update README with new features and stack info Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -362,56 +362,56 @@
|
||||
"undo": "Annuler IA",
|
||||
"undoAI": "Annuler la transformation IA",
|
||||
"undoApplied": "Texte original restauré",
|
||||
"minWordsError": "Note must contain at least 5 words to use AI actions.",
|
||||
"genericError": "AI error",
|
||||
"actionError": "Error during AI action",
|
||||
"appliedToNote": "Applied to note",
|
||||
"applyToNote": "Apply to note",
|
||||
"undoLastAction": "Undo last AI action",
|
||||
"selectContext": "Select context...",
|
||||
"selectNotebook": "Select notebook",
|
||||
"chatPlaceholder": "Ask AI to edit, summarize, or draft...",
|
||||
"assistantTitle": "AI Assistant",
|
||||
"currentNote": "Current note",
|
||||
"shrinkPanel": "Shrink panel",
|
||||
"expandPanel": "Expand panel",
|
||||
"chatTab": "Chat",
|
||||
"noteActions": "Note Actions",
|
||||
"askToStart": "Ask the Assistant something to get started.",
|
||||
"contextLabel": "Context",
|
||||
"thisNote": "This note",
|
||||
"allMyNotes": "All my notes",
|
||||
"notebookGeneric": "Notebook",
|
||||
"writingTone": "Writing Tone",
|
||||
"askAboutThisNote": "Ask AI something about this note...",
|
||||
"askAboutYourNotes": "Ask AI something about your notes...",
|
||||
"webSearchLabel": "Web Search",
|
||||
"newLineHint": "Shift+Enter = new line",
|
||||
"resultLabel": "Result",
|
||||
"discardAction": "Discard",
|
||||
"transformationsDesc": "Transformations — applied directly to the note",
|
||||
"writeMinWordsAction": "Write at least 5 words to activate AI actions.",
|
||||
"processingAction": "Processing...",
|
||||
"minWordsError": "La note doit contenir au moins 5 mots pour utiliser les actions IA.",
|
||||
"genericError": "Erreur IA",
|
||||
"actionError": "Erreur lors de l'action IA",
|
||||
"appliedToNote": "Appliqué à la note",
|
||||
"applyToNote": "Appliquer à la note",
|
||||
"undoLastAction": "Annuler la dernière action IA",
|
||||
"selectContext": "Sélectionner le contexte...",
|
||||
"selectNotebook": "Sélectionner un carnet",
|
||||
"chatPlaceholder": "Demandez à l'IA de modifier, résumer ou rédiger...",
|
||||
"assistantTitle": "Assistant IA",
|
||||
"currentNote": "Note actuelle",
|
||||
"shrinkPanel": "Réduire le panneau",
|
||||
"expandPanel": "Agrandir le panneau",
|
||||
"chatTab": "Discussion",
|
||||
"noteActions": "Actions sur la note",
|
||||
"askToStart": "Posez une question à l'Assistant pour commencer.",
|
||||
"contextLabel": "Contexte",
|
||||
"thisNote": "Cette note",
|
||||
"allMyNotes": "Toutes mes notes",
|
||||
"notebookGeneric": "Carnet",
|
||||
"writingTone": "Ton d'écriture",
|
||||
"askAboutThisNote": "Posez une question sur cette note...",
|
||||
"askAboutYourNotes": "Posez une question sur vos notes...",
|
||||
"webSearchLabel": "Recherche web",
|
||||
"newLineHint": "Maj+Entrée = nouvelle ligne",
|
||||
"resultLabel": "Résultat",
|
||||
"discardAction": "Ignorer",
|
||||
"transformationsDesc": "Transformations — appliquées directement à la note",
|
||||
"writeMinWordsAction": "Écrivez au moins 5 mots pour activer les actions IA.",
|
||||
"processingAction": "Traitement en cours...",
|
||||
"action": {
|
||||
"clarify": "Clarify",
|
||||
"shorten": "Shorten",
|
||||
"improve": "Improve",
|
||||
"toMarkdown": "To Markdown"
|
||||
"clarify": "Clarifier",
|
||||
"shorten": "Raccourcir",
|
||||
"improve": "Améliorer",
|
||||
"toMarkdown": "Convertir en Markdown"
|
||||
},
|
||||
"openAssistant": "Open AI Assistant",
|
||||
"poweredByMomento": "Powered by Momento AI",
|
||||
"welcomeMsg": "Hello! I'm your AI assistant. How can I help you with your notes today? I can help refine tone, expand messaging, or summarize content.",
|
||||
"summaryLast5": "Summary of your last 5 notes",
|
||||
"analyzingProgress": "Analyzing...",
|
||||
"generateInsightsBtn": "Generate Insights",
|
||||
"newDiscussion": "New discussion",
|
||||
"noRecentConversations": "No recent conversations.",
|
||||
"discussionContextLabel": "Discussion Context",
|
||||
"webSearchNotConfigured": "Web Search (Not configured)",
|
||||
"historyTab": "History",
|
||||
"openAssistant": "Ouvrir l'Assistant IA",
|
||||
"poweredByMomento": "Propulsé par Momento AI",
|
||||
"welcomeMsg": "Bonjour ! Je suis votre assistant IA. Comment puis-je vous aider avec vos notes ? Je peux affiner le ton, développer un message ou résumer le contenu.",
|
||||
"summaryLast5": "Résumé de vos 5 dernières notes",
|
||||
"analyzingProgress": "Analyse en cours...",
|
||||
"generateInsightsBtn": "Générer des insights",
|
||||
"newDiscussion": "Nouvelle discussion",
|
||||
"noRecentConversations": "Aucune conversation récente.",
|
||||
"discussionContextLabel": "Contexte de discussion",
|
||||
"webSearchNotConfigured": "Recherche web (non configurée)",
|
||||
"historyTab": "Historique",
|
||||
"insightsTab": "Insights",
|
||||
"aiCopilot": "AI Copilot",
|
||||
"suggestTitle": "AI title suggestion"
|
||||
"aiCopilot": "Copilote IA",
|
||||
"suggestTitle": "Suggestion de titre IA"
|
||||
},
|
||||
"aiSettings": {
|
||||
"description": "Configurez vos fonctionnalités IA et préférences",
|
||||
@@ -985,7 +985,29 @@
|
||||
"notes.emptyNotebook": "Empty notebook",
|
||||
"notes.emptyNotebookDesc": "This notebook has no notes. Click + to create one.",
|
||||
"notes.noNoteSelected": "No note selected",
|
||||
"notes.selectOrCreateNote": "Select a note from the list or create a new one."
|
||||
"notes.selectOrCreateNote": "Select a note from the list or create a new one.",
|
||||
"commitVersion": "Enregistrer la version",
|
||||
"versionSaved": "Version enregistrée",
|
||||
"deleteVersion": "Supprimer cette version",
|
||||
"versionDeleted": "Version supprimée",
|
||||
"deleteVersionConfirm": "Supprimer cette version définitivement ?",
|
||||
"historyMode": "Mode d'historique",
|
||||
"historyModeManual": "Manuel (bouton commit)",
|
||||
"historyModeAuto": "Automatique (intelligent)",
|
||||
"historyModeManualDesc": "Créer des snapshots manuellement avec le bouton commit",
|
||||
"historyModeAutoDesc": "Snapshots automatiques avec détection intelligente",
|
||||
"history": "Historique",
|
||||
"historyRestored": "Version restaurée",
|
||||
"historyEnabled": "Historique activé",
|
||||
"historyDisabledDesc": "L'historique est désactivé pour votre compte.",
|
||||
"enableHistory": "Activer l'historique",
|
||||
"historyEmpty": "Aucune version disponible",
|
||||
"historySelectVersion": "Sélectionnez une version pour prévisualiser son contenu",
|
||||
"sortBy": "Trier par",
|
||||
"sortDateDesc": "Date (récent)",
|
||||
"sortDateAsc": "Date (ancien)",
|
||||
"sortTitleAsc": "Titre A → Z",
|
||||
"sortTitleDesc": "Titre Z → A"
|
||||
},
|
||||
"pagination": {
|
||||
"next": "→",
|
||||
|
||||
Reference in New Issue
Block a user