Change mapping status and task colors in UX

This commit is contained in:
2026-09-24 09:47:52 +02:00
parent 4329055da6
commit dece7b5ab8
3 changed files with 490 additions and 191 deletions
+183 -44
View File
@@ -23,6 +23,45 @@
--gantt-sticky-bg: #1a1a1a;
--gantt-group-bg: rgba(255, 255, 255, 0.03);
--gantt-grid-border: rgba(255, 255, 255, 0.05);
/* Status Colors - Dark Mode */
--status-opportunity: #c084fc;
--status-opportunity-bg: rgba(192, 132, 252, 0.15);
--status-opportunity-border: #a855f7;
--status-opportunity-badge: #9333ea;
--status-delayed: #94a3b8;
--status-delayed-bg: rgba(148, 163, 184, 0.15);
--status-delayed-border: #64748b;
--status-delayed-badge: #475569;
--status-analyse: #fbbf24;
--status-analyse-bg: rgba(251, 191, 36, 0.15);
--status-analyse-border: #f59e0b;
--status-analyse-badge: #d97706;
--status-analysed: #22d3ee;
--status-analysed-bg: rgba(34, 211, 238, 0.15);
--status-analysed-border: #06b6d4;
--status-analysed-badge: #0891b2;
--status-ongoing: #60a5fa;
--status-ongoing-bg: rgba(96, 165, 250, 0.18);
--status-ongoing-border: #3b82f6;
--status-ongoing-badge: #2563eb;
--status-rejected: #f87171;
--status-rejected-bg: rgba(248, 113, 113, 0.16);
--status-rejected-border: #ef4444;
--status-rejected-badge: #dc2626;
--status-done: #34d399;
--status-done-bg: rgba(52, 211, 153, 0.16);
--status-done-border: #10b981;
--status-done-badge: #059669;
--gantt-bar-bg: #141f19;
--gantt-bar-border: rgba(255, 255, 255, 0.12);
}
[data-theme="light"] {
@@ -48,6 +87,45 @@
--gantt-sticky-bg: #e6ede8;
--gantt-group-bg: rgba(0, 0, 0, 0.03);
--gantt-grid-border: rgba(0, 0, 0, 0.06);
/* Status Colors - Light Mode (High Contrast) */
--status-opportunity: #6d28d9;
--status-opportunity-bg: #f5f3ff;
--status-opportunity-border: #7c3aed;
--status-opportunity-badge: #7c3aed;
--status-delayed: #334155;
--status-delayed-bg: #f1f5f9;
--status-delayed-border: #64748b;
--status-delayed-badge: #475569;
--status-analyse: #92400e;
--status-analyse-bg: #fffbeb;
--status-analyse-border: #d97706;
--status-analyse-badge: #b45309;
--status-analysed: #0e7490;
--status-analysed-bg: #ecfeff;
--status-analysed-border: #0891b2;
--status-analysed-badge: #0e7490;
--status-ongoing: #1e40af;
--status-ongoing-bg: #eff6ff;
--status-ongoing-border: #2563eb;
--status-ongoing-badge: #1d4ed8;
--status-rejected: #991b1b;
--status-rejected-bg: #fef2f2;
--status-rejected-border: #dc2626;
--status-rejected-badge: #dc2626;
--status-done: #065f46;
--status-done-bg: #ecfdf5;
--status-done-border: #059669;
--status-done-badge: #047857;
--gantt-bar-bg: #ffffff;
--gantt-bar-border: #cbd5e1;
}
* {
@@ -543,58 +621,69 @@ tr:hover td {
padding: 3px 10px;
border-radius: 20px;
font-size: 11px;
font-weight: 600;
font-weight: 700;
white-space: nowrap;
border: 1px solid transparent;
}
.s-opportunity {
background: var(--status-opportunity-bg);
color: var(--status-opportunity);
border-color: var(--status-opportunity-border);
}
.s-delayed {
background: var(--status-delayed-bg);
color: var(--status-delayed);
border-color: var(--status-delayed-border);
}
.s-analyse, .s-to-be-analysed {
background: var(--status-analyse-bg);
color: var(--status-analyse);
border-color: var(--status-analyse-border);
}
.s-analysed {
background: var(--status-analysed-bg);
color: var(--status-analysed);
border-color: var(--status-analysed-border);
}
.s-ongoing, .s-project-ongoing, .s-progress {
background: var(--status-ongoing-bg);
color: var(--status-ongoing);
border-color: var(--status-ongoing-border);
}
.s-rejected {
background: var(--status-rejected-bg);
color: var(--status-rejected);
border-color: var(--status-rejected-border);
}
.s-done {
background: rgba(0, 230, 138, 0.15);
color: #00e68a;
}
.s-progress {
background: rgba(77, 200, 255, 0.15);
color: #4dc8ff;
background: var(--status-done-bg);
color: var(--status-done);
border-color: var(--status-done-border);
}
.s-todo {
background: rgba(255, 184, 77, 0.15);
color: #ffb84d;
background: var(--status-opportunity-bg);
color: var(--status-opportunity);
border-color: var(--status-opportunity-border);
}
.s-blocked {
background: rgba(255, 77, 106, 0.15);
color: #ff4d6a;
background: var(--status-rejected-bg);
color: var(--status-rejected);
border-color: var(--status-rejected-border);
}
.s-other {
background: rgba(122, 148, 136, 0.15);
color: #7a9488;
}
[data-theme="light"] .s-done {
background: rgba(0, 153, 92, 0.12);
color: #007a49;
}
[data-theme="light"] .s-progress {
background: rgba(2, 132, 199, 0.12);
color: #0284c7;
}
[data-theme="light"] .s-todo {
background: rgba(217, 119, 6, 0.12);
color: #b45309;
}
[data-theme="light"] .s-blocked {
background: rgba(220, 38, 38, 0.12);
color: #dc2626;
}
[data-theme="light"] .s-other {
background: rgba(83, 110, 97, 0.12);
color: #4e6b5d;
background: var(--status-delayed-bg);
color: var(--status-delayed);
border-color: var(--status-delayed-border);
}
.empty-cell {
@@ -1009,18 +1098,68 @@ GANTT
/* La barre Gantt elle-même */
.gantt-bar {
position: absolute;
height: 28px;
border-radius: 4px;
height: 32px;
border-radius: 6px;
display: flex;
align-items: center;
padding: 0 8px;
font-size: 10px;
gap: 8px;
padding: 0 10px;
font-size: 11px;
color: var(--fg);
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
cursor: help;
cursor: pointer;
z-index: 10;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
border: 1px solid var(--border);
transition: transform 0.15s ease, box-shadow 0.15s ease;
}
[data-theme="light"] .gantt-bar {
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.gantt-bar:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.35);
z-index: 25;
}
[data-theme="light"] .gantt-bar:hover {
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
}
.gantt-status-badge {
color: #ffffff;
font-size: 9px;
padding: 3px 7px;
border-radius: 4px;
font-weight: 800;
text-transform: uppercase;
letter-spacing: 0.4px;
white-space: nowrap;
flex-shrink: 0;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}
.gantt-type-tag {
font-weight: 800;
font-size: 10px;
padding: 2px 6px;
border-radius: 4px;
flex-shrink: 0;
font-family: 'JetBrains Mono', monospace;
letter-spacing: 0.3px;
}
.gantt-bar-title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
font-size: 12px;
font-weight: 600;
color: var(--fg);
}
/* Colonne assigné/ticket figée à gauche */