создал систему календарного учебного графика

This commit is contained in:
Zuev
2026-04-30 23:40:49 +03:00
parent 96e9d8155f
commit 89c822a073
56 changed files with 3356 additions and 1644 deletions

View File

@@ -1,4 +1,4 @@
/* ===== Auditorium Workload Specific Styles ===== */
/* ===== Стили загруженности аудиторий ===== */
.workload-grid-container {
width: 100%;
@@ -37,7 +37,8 @@
box-shadow: 0 1px 0 var(--bg-card-border);
}
.workload-table .time-cell {
.workload-table .time-cell,
.workload-table .axis-cell {
background: var(--bg-input);
color: var(--text-secondary);
font-weight: 500;
@@ -62,7 +63,7 @@
box-shadow: 1px 1px 0 var(--bg-card-border);
}
/* Diagonal line using SVG or linear-gradient */
/* Диагональная линия через linear-gradient */
.workload-table .top-left-cell::before {
content: '';
position: absolute;
@@ -126,7 +127,7 @@
}
.lesson-group {
font-weight: 700; /* Bolder specific for groups request mockup */
font-weight: 700; /* Акцент на названии группы */
color: var(--text-primary);
margin-bottom: 0.1rem;
font-size: 0.75rem;
@@ -137,7 +138,7 @@
font-size: 0.75rem;
}
/* Custom scrollbar adjustments for grid container */
/* Настройка scrollbar для контейнера сетки */
.workload-grid-container::-webkit-scrollbar {
width: 8px;
height: 8px;

View File

@@ -162,28 +162,96 @@
margin-top: 1rem;
}
.matrix-grid {
.calendar-fill-panel {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
grid-template-columns: repeat(4, minmax(150px, 1fr)) auto;
gap: 0.75rem;
margin-top: 1rem;
}
.matrix-week {
display: grid;
gap: 0.45rem;
align-items: end;
margin: 1rem 0;
padding: 0.75rem;
background: var(--bg-input);
border: 1px solid var(--bg-card-border);
border-radius: var(--radius-sm);
}
.matrix-week > span {
.academic-calendar-grid {
display: grid;
gap: 1rem;
margin-top: 1rem;
}
.calendar-course-block {
border: 1px solid var(--bg-card-border);
border-radius: var(--radius-sm);
background: var(--bg-input);
overflow: hidden;
}
.calendar-course-header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0.75rem 1rem;
border-bottom: 1px solid var(--bg-card-border);
}
.calendar-course-header h3 {
font-size: 1rem;
}
.calendar-course-header span,
.calendar-week-label {
color: var(--text-secondary);
font-size: 0.78rem;
}
.calendar-days-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(116px, 1fr));
gap: 0.5rem;
padding: 0.75rem;
}
.calendar-day {
display: grid;
gap: 0.4rem;
min-height: 92px;
padding: 0.55rem;
background: var(--bg-card);
border: 1px solid var(--bg-card-border);
border-radius: var(--radius-sm);
}
.calendar-day-meta {
display: flex;
justify-content: space-between;
gap: 0.35rem;
color: var(--text-secondary);
font-size: 0.78rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.04em;
}
.calendar-day-activity {
min-width: 0;
}
.calendar-totals {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
}
.calendar-total-chip {
display: inline-flex;
align-items: center;
min-height: 28px;
padding: 0.25rem 0.6rem;
border-radius: var(--radius-sm);
background: color-mix(in srgb, var(--chip-color) 18%, transparent);
border: 1px solid color-mix(in srgb, var(--chip-color) 52%, transparent);
color: var(--text-primary);
font-size: 0.8rem;
font-weight: 600;
}
.muted {
@@ -194,12 +262,20 @@
.schedule-slot-row {
grid-template-columns: repeat(2, minmax(180px, 1fr));
}
.calendar-fill-panel {
grid-template-columns: repeat(2, minmax(180px, 1fr));
}
}
@media (max-width: 640px) {
.schedule-slot-row {
grid-template-columns: 1fr;
}
.calendar-fill-panel {
grid-template-columns: 1fr;
}
}
/* Hide Number Arrows */