fix: corrections UI — indicateur voute, couleurs, statut IA, spinner éditeur
CI / lint (push) Failing after 6s
CI / test (push) Has been skipped
CI / build (push) Has been skipped
CI / security (push) Successful in 11s

1. Suppression du badge vault-context-pill doublon en mobile
2. Couleurs dynamiques indicateur header:
   - Bleu pour 'All' (.vault-ctx-all)
   - Mauve/violet pour les vaults (.vault-ctx-vault)
   - Jaune/ambre pour les répertoires (.vault-ctx-dir)
3. Statut IA: vérifie la présence du toolbar AI dans le DOM
   au lieu d'appeler /api/ai/status (qui ne fonctionnait pas)
4. Indicateur de traitement AI dans l'éditeur (spinner + badge
   'AI...' dans le header de l'editor modal) au lieu du flash
   blanc sur le badge sync
This commit is contained in:
2026-06-04 08:31:32 -04:00
parent 90dffdf26c
commit b077c24bf1
4 changed files with 117 additions and 30 deletions
+68 -19
View File
@@ -171,24 +171,48 @@ a:hover {
align-items: center;
gap: 6px;
padding: 6px 12px;
background: color-mix(in srgb, var(--accent) 12%, transparent);
border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--border));
border: 1px solid var(--border);
border-radius: 8px;
font-family: "JetBrains Mono", monospace;
font-size: 0.75rem;
font-weight: 600;
color: var(--accent);
cursor: default;
transition: all 200ms ease;
/* Default: neutral (overridden by classes below) */
background: var(--bg-tertiary);
color: var(--text-muted);
}
.vault-context-indicator:hover {
background: color-mix(in srgb, var(--accent) 18%, transparent);
border-color: var(--accent);
filter: brightness(1.15);
}
.vault-context-indicator i {
color: var(--accent);
opacity: 0.8;
}
/* All vaults — blue */
.vault-ctx-all {
background: color-mix(in srgb, #3b82f6 14%, transparent) !important;
border-color: color-mix(in srgb, #3b82f6 30%, var(--border)) !important;
color: #60a5fa !important;
}
.vault-ctx-all i { color: #60a5fa !important; }
/* Specific vault — mauve/violet */
.vault-ctx-vault {
background: color-mix(in srgb, #a855f7 14%, transparent) !important;
border-color: color-mix(in srgb, #a855f7 30%, var(--border)) !important;
color: #c084fc !important;
}
.vault-ctx-vault i { color: #c084fc !important; }
/* Directory — amber/yellow */
.vault-ctx-dir {
background: color-mix(in srgb, #f59e0b 14%, transparent) !important;
border-color: color-mix(in srgb, #f59e0b 30%, var(--border)) !important;
color: #fbbf24 !important;
}
.vault-ctx-dir i { color: #fbbf24 !important; }
.hamburger-btn {
display: none;
background: none;
@@ -2150,6 +2174,41 @@ select {
top: 0;
z-index: 10;
}
/* AI processing indicator — shown inside editor header during AI calls */
.ai-processing-indicator {
display: none;
align-items: center;
gap: 6px;
padding: 3px 10px;
border-radius: 12px;
font-size: 0.72rem;
font-weight: 500;
color: #ffffff;
background: rgba(59, 130, 246, 0.3);
border: 1px solid rgba(96, 165, 250, 0.4);
animation: ai-indicator-pulse 1s ease-in-out infinite;
margin-left: 12px;
}
.ai-spinner {
width: 10px;
height: 10px;
border: 2px solid rgba(255,255,255,0.3);
border-top-color: #ffffff;
border-radius: 50%;
animation: ai-spinner-spin 0.6s linear infinite;
}
@keyframes ai-spinner-spin {
to { transform: rotate(360deg); }
}
@keyframes ai-indicator-pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.6; }
}
.editor-title {
font-family: "JetBrains Mono", monospace;
font-size: 0.9rem;
@@ -6825,22 +6884,12 @@ body.popup-mode .content-area {
display: none !important;
}
/* Vault context indicator */
/* Vault context indicator — hidden (now in header) */
.vault-context-bar {
display: flex;
align-items: center;
padding: 6px 14px;
background: var(--bg-primary);
border-bottom: 1px solid var(--border);
display: none !important;
}
.vault-context-pill {
font-size: 0.72rem;
font-weight: 600;
color: var(--accent);
background: color-mix(in srgb, var(--accent) 10%, transparent);
padding: 3px 10px;
border-radius: 12px;
white-space: nowrap;
display: none;
}
.mt-btn {