diff --git a/public/userarea/production_dashboard.php b/public/userarea/production_dashboard.php index ce821aa..ddd747e 100644 --- a/public/userarea/production_dashboard.php +++ b/public/userarea/production_dashboard.php @@ -150,7 +150,7 @@ $dashboardSections = [ [ 'id' => 'secPersonale', 'title' => 'Personale', - 'subtitle' => 'Dipendenti, skill', + 'subtitle' => 'Dipendenti, formazione, skill', 'icon' => 'đĨ', 'open' => false, 'buttons' => [ @@ -168,6 +168,20 @@ $dashboardSections = [ 'url' => 'departments.php', 'permission' => 'hr.departments.view', ], + [ + 'label' => 'Corsi Formazione', + 'icon' => 'đ', + 'class' => 'btn-setup', + 'url' => 'training_topics.php', + 'permission' => 'hr.training_topics.view', + ], + [ + 'label' => 'Storico Formazione', + 'icon' => 'đ', + 'class' => 'btn-setup', + 'url' => 'trainings.php', + 'permission' => 'hr.trainings.view', + ], [ 'label' => 'Skills', 'icon' => 'đ§ ', @@ -494,45 +508,97 @@ $dashboardSections = [ margin-bottom: 1rem; width: 100%; } - .my-deadlines-widgets:empty { display: none; } + + .my-deadlines-widgets:empty { + display: none; + } + /* Each widget wraps itself in .my-deadlines-widgets; collapse the nested wrapper so all cards flow into the outer flex (single row). */ .my-deadlines-widgets .my-deadlines-widgets { display: contents; } + .my-deadlines-widgets .mdw { flex: 1 1 0; min-width: 0; - display: flex; align-items: center; gap: 0.75rem; + display: flex; + align-items: center; + gap: 0.75rem; padding: 0.8rem 0.9rem; border-radius: 0.6rem; text-decoration: none; color: #fff; - box-shadow: 0 2px 6px rgba(0,0,0,0.08); + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08); transition: transform 0.15s, box-shadow 0.15s; } + @media (max-width: 991.98px) { - .my-deadlines-widgets .mdw { flex: 1 1 calc(50% - 0.375rem); } + .my-deadlines-widgets .mdw { + flex: 1 1 calc(50% - 0.375rem); + } } + @media (max-width: 575.98px) { - .my-deadlines-widgets .mdw { flex: 1 1 100%; } + .my-deadlines-widgets .mdw { + flex: 1 1 100%; + } } - .my-deadlines-widgets .mdw:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,0,0,0.15); color: #fff; } - .my-deadlines-widgets .mdw-red { background: linear-gradient(135deg, #dc3545 0%, #b02a37 100%); } - .my-deadlines-widgets .mdw-orange { background: linear-gradient(135deg, #e8930c 0%, #c77a00 100%); } - .my-deadlines-widgets .mdw-gray { background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%); } + + .my-deadlines-widgets .mdw:hover { + transform: translateY(-1px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + color: #fff; + } + + .my-deadlines-widgets .mdw-red { + background: linear-gradient(135deg, #dc3545 0%, #b02a37 100%); + } + + .my-deadlines-widgets .mdw-orange { + background: linear-gradient(135deg, #e8930c 0%, #c77a00 100%); + } + + .my-deadlines-widgets .mdw-gray { + background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%); + } + .my-deadlines-widgets .mdw-icon { - width: 38px; height: 38px; border-radius: 50%; - display: flex; align-items: center; justify-content: center; - background: rgba(255,255,255,0.22); font-size: 1.05rem; flex-shrink: 0; + width: 38px; + height: 38px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + background: rgba(255, 255, 255, 0.22); + font-size: 1.05rem; + flex-shrink: 0; } - .my-deadlines-widgets .mdw-body { flex: 1; line-height: 1.2; min-width: 0; } - .my-deadlines-widgets .mdw-count { font-size: 1.5rem; font-weight: 700; } + + .my-deadlines-widgets .mdw-body { + flex: 1; + line-height: 1.2; + min-width: 0; + } + + .my-deadlines-widgets .mdw-count { + font-size: 1.5rem; + font-weight: 700; + } + .my-deadlines-widgets .mdw-label { - font-size: 0.78rem; opacity: 0.95; - overflow: hidden; text-overflow: ellipsis; white-space: nowrap; + font-size: 0.78rem; + opacity: 0.95; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + .my-deadlines-widgets .mdw-arrow { + opacity: 0.7; + font-size: 0.85rem; + flex-shrink: 0; } - .my-deadlines-widgets .mdw-arrow { opacity: 0.7; font-size: 0.85rem; flex-shrink: 0; }