fix: note-input toolbar overflow and rename Assistant IA to IA Note
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 46s

This commit is contained in:
2026-05-02 21:38:56 +02:00
parent 99d0583871
commit dc5f6b77d9
1223 changed files with 188950 additions and 13 deletions

View File

@@ -124,7 +124,7 @@ export function AISettingsPanel({ initialSettings }: AISettingsPanelProps) {
<FeatureToggle
name="Assistant IA"
name="IA Note"
description="Active le bouton de chat IA et les outils d'amélioration du texte"
checked={settings.paragraphRefactor}
onChange={(checked) => handleToggle('paragraphRefactor', checked)}

View File

@@ -889,9 +889,9 @@ export function NoteEditor({ note, readOnly = false, onClose }: NoteEditorProps)
{noteType !== 'checklist' && aiAssistantEnabled && (
<Button variant="ghost" size="sm"
className={cn('h-8 gap-1.5 px-2 text-xs font-medium transition-colors', aiOpen && 'bg-primary/10 text-primary')}
onClick={() => setAiOpen(!aiOpen)} title="Assistant IA">
onClick={() => setAiOpen(!aiOpen)} title="IA Note">
<Sparkles className="h-3.5 w-3.5" />
<span className="hidden sm:inline">Assistant IA</span>
<span className="hidden sm:inline">IA Note</span>
</Button>
)}

View File

@@ -924,9 +924,9 @@ export function NoteInput({
)}
{/* ── Toolbar ── */}
<div className="flex items-center justify-between border-t border-border/30 px-3 py-2 gap-2">
<div className="flex items-center justify-between border-t border-border/30 px-3 py-2 gap-2 flex-wrap">
<TooltipProvider>
<div className="flex items-center gap-0.5 flex-nowrap flex-1 min-w-0">
<div className="flex items-center gap-0.5 flex-wrap flex-1 min-w-0">
<Tooltip><TooltipTrigger asChild>
<Button variant="ghost" size="icon" className={cn('h-8 w-8', currentReminder && 'text-primary')} onClick={handleReminderOpen}>
@@ -951,9 +951,9 @@ export function NoteInput({
className={cn('h-8 gap-1.5 px-2 text-xs font-medium transition-colors shrink-0', aiOpen && 'bg-primary/10 text-primary')}
onClick={() => setAiOpen(!aiOpen)}>
<Sparkles className="h-3.5 w-3.5" />
<span>Assistant IA</span>
<span className="hidden sm:inline">IA Note</span>
</Button>
</TooltipTrigger><TooltipContent>Ouvrir le copilote IA</TooltipContent></Tooltip>
</TooltipTrigger><TooltipContent>Ouvrir IA Note</TooltipContent></Tooltip>
)}
<Tooltip><TooltipTrigger asChild>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

File diff suppressed because it is too large Load Diff

View File

@@ -80,7 +80,7 @@ export class ChatService {
).join('\n\n---\n\n')
// 3. System Prompt Synthesis
const systemPrompt = `Tu es l'Assistant IA de Memento. Tu accompagnes l'utilisateur dans sa réflexion.
const systemPrompt = `Tu es l'IA Note de Memento. Tu accompagnes l'utilisateur dans sa réflexion.
Tes réponses doivent être concises, premium et utiles.
${contextNotes.length > 0 ? `Voici des extraits de notes de l'utilisateur qui pourraient t'aider à répondre :\n\n${contextNotes}\n\nUtilise ces informations si elles sont pertinentes, mais ne les cite pas mot pour mot sauf si demandé.` : noNotesFoundText}
Si l'utilisateur pose une question sur un carnet spécifique, reste focalisé sur ce contexte.`

View File

@@ -90,7 +90,7 @@
"noteCreateFailed": "Échec de la création de la note",
"deleted": "Note supprimée",
"deleteFailed": "Échec de la suppression de la note",
"aiAssistant": "Assistant IA",
"aiAssistant": "IA Note",
"changeSize": "Changer la taille",
"backgroundOptions": "Options d'arrière-plan",
"moreOptions": "Plus d'options",
@@ -330,7 +330,7 @@
"transforming": "Transformation...",
"transformSuccess": "Texte transformé en Markdown avec succès !",
"transformError": "Erreur lors de la transformation",
"assistant": "Assistant IA",
"assistant": "IA Note",
"generating": "Génération...",
"generateTitles": "Générer des titres",
"reformulateText": "Reformuler le texte",
@@ -403,7 +403,7 @@
"selectContext": "Sélectionner le contexte...",
"selectNotebook": "Sélectionner un carnet",
"chatPlaceholder": "Demandez à l'IA de modifier, résumer ou rédiger...",
"assistantTitle": "Assistant IA",
"assistantTitle": "IA Note",
"currentNote": "Note actuelle",
"shrinkPanel": "Réduire le panneau",
"expandPanel": "Agrandir le panneau",
@@ -433,7 +433,7 @@
"toMarkdown": "Convertir en Markdown",
"describeImages": "Décrire les images"
},
"openAssistant": "Ouvrir l'Assistant IA",
"openAssistant": "Ouvrir IA Note",
"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",
@@ -881,7 +881,7 @@
"updateFailedShort": "Échec de la mise à jour",
"titleSuggestions": "Suggestions de titre",
"titleSuggestionsDesc": "Suggère des titres pour les notes après 50+ mots",
"aiAssistant": "Assistant IA",
"aiAssistant": "IA Note",
"aiAssistantDesc": "Activer le chat IA et les outils d'amélioration de texte",
"memoryEchoFeature": "J'ai remarqué quelque chose...",
"memoryEchoFeatureDesc": "Analyse quotidienne des connexions entre vos notes",

View File

@@ -0,0 +1,81 @@
components/contextual-ai-chat.tsx:
components/contextual-ai-chat.tsx:ai.actionError
components/contextual-ai-chat.tsx:ai.allMyNotes
components/contextual-ai-chat.tsx:ai.appliedToNote
components/contextual-ai-chat.tsx:ai.applyToNote
components/contextual-ai-chat.tsx:ai.askAboutThisNote
components/contextual-ai-chat.tsx:ai.askAboutYourNotes
components/contextual-ai-chat.tsx:ai.askToStart
components/contextual-ai-chat.tsx:ai.assistantTitle
components/contextual-ai-chat.tsx:ai.chatTab
components/contextual-ai-chat.tsx:ai.contextLabel
components/contextual-ai-chat.tsx:ai.currentNote
components/contextual-ai-chat.tsx:ai.discardAction
components/contextual-ai-chat.tsx:ai.expandPanel
components/contextual-ai-chat.tsx:ai.genericError
components/contextual-ai-chat.tsx:ai.minWordsError
components/contextual-ai-chat.tsx:ai.newLineHint
components/contextual-ai-chat.tsx:ai.noImagesError
components/contextual-ai-chat.tsx:ai.noteActions
components/contextual-ai-chat.tsx:ai.notebookGeneric
components/contextual-ai-chat.tsx:ai.overview
components/contextual-ai-chat.tsx:ai.processingAction
components/contextual-ai-chat.tsx:ai.resultLabel
components/contextual-ai-chat.tsx:ai.selectContext
components/contextual-ai-chat.tsx:ai.shrinkPanel
components/contextual-ai-chat.tsx:ai.thisNote
components/contextual-ai-chat.tsx:ai.transformationsDesc
components/contextual-ai-chat.tsx:ai.undoLastAction
components/contextual-ai-chat.tsx:ai.webSearchLabel
components/contextual-ai-chat.tsx:ai.writeMinWordsAction
components/contextual-ai-chat.tsx:ai.writingTone
components/note-input.tsx:
components/note-input.tsx:@/app/actions/ai-settings
components/note-input.tsx:T
components/note-input.tsx:ai.genericError
components/note-input.tsx:ai.reformulationApplied
components/note-input.tsx:ai.reformulationFailed
components/note-input.tsx:ai.reformulationMaxWords
components/note-input.tsx:ai.transformError
components/note-input.tsx:ai.transformSuccess
components/note-input.tsx:general.add
components/note-input.tsx:general.cancel
components/note-input.tsx:general.close
components/note-input.tsx:general.edit
components/note-input.tsx:general.preview
components/note-input.tsx:notebook
components/note-input.tsx:notes.add
components/note-input.tsx:notes.addCollaborators
components/note-input.tsx:notes.addImage
components/note-input.tsx:notes.addLink
components/note-input.tsx:notes.addListItem
components/note-input.tsx:notes.adding
components/note-input.tsx:notes.archive
components/note-input.tsx:notes.backgroundOptions
components/note-input.tsx:notes.contentOrMediaRequired
components/note-input.tsx:notes.date
components/note-input.tsx:notes.generateTitleFromImage
components/note-input.tsx:notes.invalidDateTime
components/note-input.tsx:notes.itemOrMediaRequired
components/note-input.tsx:notes.linkAddFailed
components/note-input.tsx:notes.linkAdded
components/note-input.tsx:notes.linkMetadataFailed
components/note-input.tsx:notes.listItem
components/note-input.tsx:notes.markdown
components/note-input.tsx:notes.markdownPlaceholder
components/note-input.tsx:notes.newChecklist
components/note-input.tsx:notes.noteCreateFailed
components/note-input.tsx:notes.noteCreated
components/note-input.tsx:notes.placeholder
components/note-input.tsx:notes.redoShortcut
components/note-input.tsx:notes.remindMe
components/note-input.tsx:notes.reminderDateTimeRequired
components/note-input.tsx:notes.reminderMustBeFuture
components/note-input.tsx:notes.setReminder
components/note-input.tsx:notes.setReminderButton
components/note-input.tsx:notes.suggestTitle
components/note-input.tsx:notes.time
components/note-input.tsx:notes.titlePlaceholder
components/note-input.tsx:notes.unarchive
components/note-input.tsx:notes.undoShortcut
components/title-suggestions.tsx:titleSuggestions.title