diff --git "a/index.html" "b/index.html" --- "a/index.html" +++ "b/index.html" @@ -433,395 +433,7 @@ border-left: 4px solid var(--danger-color); } - /* Modal pour la saisie */ - .modal { - display: none; - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background: rgba(0, 0, 0, 0.5); - z-index: 1000; - align-items: center; - justify-content: center; - } - - .modal-content { - background: white; - border-radius: 15px; - padding: 2rem; - width: 90%; - max-width: 600px; - max-height: 80vh; - overflow-y: auto; - animation: slideIn 0.3s ease; - } - - @keyframes slideIn { - from { transform: translateY(-20px); opacity: 0; } - to { transform: translateY(0); opacity: 1; } - } - - .modal-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 1.5rem; - padding-bottom: 1rem; - border-bottom: 2px solid #f1f5f9; - } - - .modal-title { - font-size: 1.5rem; - color: var(--dark-color); - } - - .modal-close { - background: none; - border: none; - font-size: 1.5rem; - color: var(--gray-color); - cursor: pointer; - } - - /* Heatmap d'activité */ - .heatmap-container { - margin-top: 2rem; - } - - .heatmap-header { - display: flex; - justify-content: space-between; - align-items: center; - margin-bottom: 1.5rem; - } - - .heatmap-title { - font-size: 1.3rem; - color: var(--dark-color); - display: flex; - align-items: center; - gap: 10px; - } - - .heatmap-controls { - display: flex; - gap: 10px; - } - - .heatmap-period { - padding: 8px 15px; - border: 2px solid #e2e8f0; - border-radius: 8px; - background: #f8fafc; - cursor: pointer; - transition: all 0.3s; - } - - .heatmap-period:hover { - border-color: var(--primary-color); - } - - .heatmap-period.active { - background: var(--primary-color); - color: white; - border-color: var(--primary-color); - } - - .heatmap-grid { - display: grid; - grid-template-columns: auto repeat(7, 1fr); - gap: 8px; - margin-top: 1rem; - } - - .heatmap-day-label { - text-align: right; - padding: 10px; - font-weight: 600; - color: var(--dark-color); - } - - .heatmap-cell { - aspect-ratio: 1; - border-radius: 4px; - display: flex; - align-items: center; - justify-content: center; - font-size: 0.8rem; - font-weight: bold; - cursor: pointer; - transition: transform 0.2s; - } - - .heatmap-cell:hover { - transform: scale(1.1); - z-index: 10; - } - - .heatmap-intensity-0 { background: #f1f5f9; color: var(--gray-color); } - .heatmap-intensity-1 { background: #dbeafe; color: var(--dark-color); } - .heatmap-intensity-2 { background: #93c5fd; color: white; } - .heatmap-intensity-3 { background: #3b82f6; color: white; } - .heatmap-intensity-4 { background: #1d4ed8; color: white; } - - .heatmap-week-label { - text-align: center; - padding: 5px; - font-size: 0.9rem; - color: var(--gray-color); - } - - .heatmap-legend { - display: flex; - justify-content: center; - align-items: center; - gap: 15px; - margin-top: 1.5rem; - padding-top: 1.5rem; - border-top: 2px solid #f1f5f9; - } - - .legend-item { - display: flex; - align-items: center; - gap: 5px; - } - - .legend-color { - width: 20px; - height: 20px; - border-radius: 4px; - } - - /* Indicateurs de gestion du temps */ - .time-management-stats { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); - gap: 20px; - margin-top: 2rem; - } - - .time-stat-card { - background: white; - border-radius: 12px; - padding: 1.5rem; - box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); - border-top: 4px solid var(--secondary-color); - } - - .time-stat-header { - display: flex; - align-items: center; - gap: 10px; - margin-bottom: 1rem; - } - - .time-stat-icon { - width: 40px; - height: 40px; - border-radius: 10px; - display: flex; - align-items: center; - justify-content: center; - font-size: 1.2rem; - color: white; - } - - .time-stat-value { - font-size: 2.5rem; - font-weight: bold; - color: var(--secondary-color); - margin: 10px 0; - } - - .time-stat-description { - color: var(--gray-color); - font-size: 0.9rem; - margin-top: 5px; - } - - .progress-circle { - width: 100px; - height: 100px; - position: relative; - margin: 0 auto; - } - - .progress-circle svg { - width: 100%; - height: 100%; - } - - .progress-text { - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - font-size: 1.5rem; - font-weight: bold; - color: var(--secondary-color); - } - - /* Effort Pattern */ - .effort-pattern { - background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); - border-radius: 12px; - padding: 1.5rem; - margin-top: 2rem; - } - - .pattern-badge { - display: inline-block; - padding: 8px 15px; - background: linear-gradient(135deg, #f59e0b, #d97706); - color: white; - border-radius: 20px; - font-weight: bold; - margin-bottom: 1rem; - } - - .pattern-details { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); - gap: 15px; - margin-top: 1rem; - } - - .pattern-item { - background: white; - padding: 1rem; - border-radius: 8px; - box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05); - } - - .pattern-label { - font-size: 0.9rem; - color: var(--gray-color); - margin-bottom: 5px; - } - - .pattern-value { - font-size: 1.1rem; - font-weight: bold; - color: var(--dark-color); - } - - /* Persistance */ - .persistence-section { - background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); - border-radius: 12px; - padding: 1.5rem; - margin-top: 2rem; - border-left: 5px solid #f59e0b; - } - - .persistence-header { - display: flex; - align-items: center; - gap: 10px; - margin-bottom: 1rem; - } - - .persistence-level { - font-size: 1.5rem; - font-weight: bold; - color: #d97706; - } - - .persistence-details { - margin-top: 1rem; - } - - .persistence-item { - display: flex; - align-items: center; - gap: 10px; - margin-bottom: 10px; - padding: 8px; - background: rgba(255, 255, 255, 0.5); - border-radius: 8px; - } - - /* Form Elements */ - .form-group { - margin-bottom: 1.5rem; - } - - .form-label { - display: block; - margin-bottom: 0.5rem; - font-weight: 600; - color: var(--dark-color); - display: flex; - align-items: center; - gap: 8px; - } - - .form-control { - width: 100%; - padding: 12px 15px; - border: 2px solid #e2e8f0; - border-radius: 10px; - font-size: 1rem; - transition: all 0.3s; - background: #f8fafc; - } - - .form-control:focus { - outline: none; - border-color: var(--primary-color); - background: white; - box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); - } - - .form-row { - display: flex; - gap: 20px; - margin-bottom: 1.5rem; - } - - .form-col { - flex: 1; - } - - /* Buttons */ - .btn { - padding: 12px 25px; - border: none; - border-radius: 10px; - font-size: 1rem; - font-weight: 600; - cursor: pointer; - transition: all 0.3s; - display: inline-flex; - align-items: center; - justify-content: center; - gap: 10px; - } - - .btn-primary { - background: linear-gradient(135deg, var(--primary-color) 0%, #2563eb 100%); - color: white; - } - - .btn-primary:hover { - transform: translateY(-2px); - box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3); - } - - .btn-secondary { - background: var(--secondary-color); - color: white; - } - - .btn-large { - padding: 15px 30px; - font-size: 1.1rem; - } - - /* Productivity Options - STYLE MODIFIÉ */ + /* Objectif Section */ .productivity-grid { display: grid; grid-template-columns: 1fr 1fr; @@ -953,19 +565,115 @@ box-shadow: 0 3px 10px rgba(139, 92, 246, 0.1); } - /* Visualizations */ - .visualization-container { - background: white; - border-radius: 15px; - padding: 2rem; - margin-top: 2rem; - box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); + /* Quality Indicators */ + .quality-indicator { + display: flex; + gap: 10px; + margin: 15px 0; } - .chart-container { - position: relative; - height: 400px; + .quality-dot { + width: 25px; + height: 25px; + border-radius: 50%; + cursor: pointer; + transition: all 0.3s; + display: flex; + align-items: center; + justify-content: center; + color: white; + font-weight: bold; + font-size: 0.8rem; + } + + .quality-dot:hover { + transform: scale(1.2); + } + + .quality-0 { background: linear-gradient(135deg, #ef4444, #dc2626); } + .quality-1 { background: linear-gradient(135deg, #f59e0b, #d97706); } + .quality-2 { background: linear-gradient(135deg, #10b981, #059669); } + .quality-3 { background: linear-gradient(135deg, #3b82f6, #1d4ed8); } + + .quality-dot.active { + box-shadow: 0 0 0 3px white, 0 0 0 6px currentColor; + } + + /* Form Elements */ + .form-group { + margin-bottom: 1.5rem; + } + + .form-label { + display: block; + margin-bottom: 0.5rem; + font-weight: 600; + color: var(--dark-color); + display: flex; + align-items: center; + gap: 8px; + } + + .form-control { width: 100%; + padding: 12px 15px; + border: 2px solid #e2e8f0; + border-radius: 10px; + font-size: 1rem; + transition: all 0.3s; + background: #f8fafc; + } + + .form-control:focus { + outline: none; + border-color: var(--primary-color); + background: white; + box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); + } + + .form-row { + display: flex; + gap: 20px; + margin-bottom: 1.5rem; + } + + .form-col { + flex: 1; + } + + /* Buttons */ + .btn { + padding: 12px 25px; + border: none; + border-radius: 10px; + font-size: 1rem; + font-weight: 600; + cursor: pointer; + transition: all 0.3s; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 10px; + } + + .btn-primary { + background: linear-gradient(135deg, var(--primary-color) 0%, #2563eb 100%); + color: white; + } + + .btn-primary:hover { + transform: translateY(-2px); + box-shadow: 0 10px 20px rgba(59, 130, 246, 0.3); + } + + .btn-secondary { + background: var(--secondary-color); + color: white; + } + + .btn-large { + padding: 15px 30px; + font-size: 1.1rem; } /* Planner Cards */ @@ -1025,14 +733,19 @@ border-bottom: 1px dashed #e2e8f0; } - /* Notifications */ - .notification-card { - background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); - border-left: 5px solid var(--warning-color); - padding: 1.5rem; - border-radius: 12px; - margin-bottom: 1rem; - animation: slideIn 0.5s ease; + /* Visualizations */ + .visualization-container { + background: white; + border-radius: 15px; + padding: 2rem; + margin-top: 2rem; + box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05); + } + + .chart-container { + position: relative; + height: 400px; + width: 100%; } /* Stats Cards */ @@ -1058,43 +771,129 @@ margin: 10px 0; } - .stat-label { - color: var(--gray-color); + .stat-label { + color: var(--gray-color); + font-size: 0.9rem; + } + + /* Heatmap d'activité */ + .heatmap-container { + margin-top: 2rem; + } + + .heatmap-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1.5rem; + } + + .heatmap-title { + font-size: 1.3rem; + color: var(--dark-color); + display: flex; + align-items: center; + gap: 10px; + } + + .heatmap-controls { + display: flex; + gap: 10px; + } + + .heatmap-period { + padding: 8px 15px; + border: 2px solid #e2e8f0; + border-radius: 8px; + background: #f8fafc; + cursor: pointer; + transition: all 0.3s; + } + + .heatmap-period:hover { + border-color: var(--primary-color); + } + + .heatmap-period.active { + background: var(--primary-color); + color: white; + border-color: var(--primary-color); + } + + .heatmap-grid { + display: grid; + grid-template-columns: auto repeat(7, 1fr); + gap: 8px; + margin-top: 1rem; + } + + .heatmap-day-label { + text-align: right; + padding: 10px; + font-weight: 600; + color: var(--dark-color); + } + + .heatmap-cell { + aspect-ratio: 1; + border-radius: 4px; + display: flex; + align-items: center; + justify-content: center; + font-size: 0.8rem; + font-weight: bold; + cursor: pointer; + transition: transform 0.2s; + } + + .heatmap-cell:hover { + transform: scale(1.1); + z-index: 10; + } + + .heatmap-intensity-0 { background: #f1f5f9; color: var(--gray-color); } + .heatmap-intensity-1 { background: #dbeafe; color: var(--dark-color); } + .heatmap-intensity-2 { background: #93c5fd; color: white; } + .heatmap-intensity-3 { background: #3b82f6; color: white; } + .heatmap-intensity-4 { background: #1d4ed8; color: white; } + + .heatmap-week-label { + text-align: center; + padding: 5px; font-size: 0.9rem; + color: var(--gray-color); } - /* Quality Indicators */ - .quality-indicator { + .heatmap-legend { display: flex; - gap: 10px; - margin: 15px 0; + justify-content: center; + align-items: center; + gap: 15px; + margin-top: 1.5rem; + padding-top: 1.5rem; + border-top: 2px solid #f1f5f9; } - .quality-dot { - width: 25px; - height: 25px; - border-radius: 50%; - cursor: pointer; - transition: all 0.3s; + .legend-item { display: flex; align-items: center; - justify-content: center; - color: white; - font-weight: bold; - font-size: 0.8rem; + gap: 5px; } - .quality-dot:hover { - transform: scale(1.2); + .legend-color { + width: 20px; + height: 20px; + border-radius: 4px; } - .quality-0 { background: linear-gradient(135deg, #ef4444, #dc2626); } - .quality-1 { background: linear-gradient(135deg, #f59e0b, #d97706); } - .quality-2 { background: linear-gradient(135deg, #10b981, #059669); } - .quality-3 { background: linear-gradient(135deg, #3b82f6, #1d4ed8); } - - .quality-dot.active { - box-shadow: 0 0 0 3px white, 0 0 0 6px currentColor; + /* Notifications */ + .notification-card { + background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); + border-left: 5px solid var(--warning-color); + padding: 1.5rem; + border-radius: 12px; + margin-bottom: 1rem; + animation: fadeIn 0.5s ease; } /* ============================================ */ @@ -1370,17 +1169,219 @@ color: var(--secondary-color); } - .dashboardEM-change.negative { - background: rgba(239, 68, 68, 0.1); - color: var(--danger-color); + .dashboardEM-change.negative { + background: rgba(239, 68, 68, 0.1); + color: var(--danger-color); + } + + .dashboardEM-trend { + display: flex; + align-items: center; + gap: 5px; + font-size: 0.9rem; + color: var(--gray-color); + } + + /* Indicateurs de gestion du temps */ + .time-management-stats { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 20px; + margin-top: 2rem; + } + + .time-stat-card { + background: white; + border-radius: 12px; + padding: 1.5rem; + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); + border-top: 4px solid var(--secondary-color); + } + + .time-stat-header { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 1rem; + } + + .time-stat-icon { + width: 40px; + height: 40px; + border-radius: 10px; + display: flex; + align-items: center; + justify-content: center; + font-size: 1.2rem; + color: white; + background: linear-gradient(135deg, #10b981, #059669); + } + + .time-stat-value { + font-size: 2.5rem; + font-weight: bold; + color: var(--secondary-color); + margin: 10px 0; + } + + .time-stat-description { + color: var(--gray-color); + font-size: 0.9rem; + margin-top: 5px; + } + + .progress-circle { + width: 100px; + height: 100px; + position: relative; + margin: 0 auto; + } + + .progress-circle svg { + width: 100%; + height: 100%; + } + + .progress-text { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + font-size: 1.5rem; + font-weight: bold; + color: var(--secondary-color); + } + + /* Modal pour la saisie */ + .modal { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: rgba(0, 0, 0, 0.5); + z-index: 1000; + align-items: center; + justify-content: center; + } + + .modal-content { + background: white; + border-radius: 15px; + padding: 2rem; + width: 90%; + max-width: 600px; + max-height: 80vh; + overflow-y: auto; + animation: slideIn 0.3s ease; + } + + @keyframes slideIn { + from { transform: translateY(-20px); opacity: 0; } + to { transform: translateY(0); opacity: 1; } + } + + .modal-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 1.5rem; + padding-bottom: 1rem; + border-bottom: 2px solid #f1f5f9; + } + + .modal-title { + font-size: 1.5rem; + color: var(--dark-color); + } + + .modal-close { + background: none; + border: none; + font-size: 1.5rem; + color: var(--gray-color); + cursor: pointer; + } + + /* Effort Pattern */ + .effort-pattern { + background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%); + border-radius: 12px; + padding: 1.5rem; + margin-top: 2rem; + } + + .pattern-badge { + display: inline-block; + padding: 8px 15px; + background: linear-gradient(135deg, #f59e0b, #d97706); + color: white; + border-radius: 20px; + font-weight: bold; + margin-bottom: 1rem; + } + + .pattern-details { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 15px; + margin-top: 1rem; + } + + .pattern-item { + background: white; + padding: 1rem; + border-radius: 8px; + box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05); + } + + .pattern-label { + font-size: 0.9rem; + color: var(--gray-color); + margin-bottom: 5px; + } + + .pattern-value { + font-size: 1.1rem; + font-weight: bold; + color: var(--dark-color); + } + + /* Persistance */ + .persistence-section { + background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); + border-radius: 12px; + padding: 1.5rem; + margin-top: 2rem; + border-left: 5px solid #f59e0b; + } + + .persistence-header { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 1rem; + } + + .persistence-level { + font-size: 1.5rem; + font-weight: bold; + color: #d97706; + } + + .persistence-details { + margin-top: 1rem; } - .dashboardEM-trend { + .persistence-item { display: flex; align-items: center; - gap: 5px; - font-size: 0.9rem; - color: var(--gray-color); + gap: 10px; + margin-bottom: 10px; + padding: 8px; + background: rgba(255, 255, 255, 0.5); + border-radius: 8px; } /* Responsive */ @@ -1476,12 +1477,11 @@

Compagnon Pédagogique

-

PerseverAId (AI + Aid + Perseverance) – -Apprendre à manager l'effort et maintenir la persistance

+

PerseverAId (AI + Aid + Perseverance) – Apprendre à manager l'effort et maintenir la persistance

PerseverAId (AI + Aid + Perseverance)
- +