Lab assignment management UI and student variant view
- progress-service: POST /api/v1/assign (manual variant), GET /api/v1/assignments?labId= (enriched assignments), fixed enrich() to return real variant number/title/statement - gateway: routes for /api/v1/assign and /api/v1/levels (exact paths) - web: lab detail page shows students grouped with level and variant selects, group filter, distribute/redistribute buttons, source badge (auto/manual) - web: student dashboard renders variant statement via libs/markdown (spoilers, code highlight, sanitized) - academic-service: unquote YAML front-matter values (variant numbers were quoted) - academic-service: LabLevelDetail.id for level references
This commit is contained in:
@@ -158,6 +158,28 @@ tr:last-child td { border-bottom: none; }
|
||||
/* Theme toggle */
|
||||
.theme-btn { padding: 0.25rem 0.5rem; font-size: 0.75rem; }
|
||||
|
||||
/* Group assignment page */
|
||||
.group-title { margin: 0 0 0.5rem; font-size: 1rem; font-weight: 600; }
|
||||
.inline-form { display: inline-flex; align-items: center; gap: 0.375rem; margin: 0; }
|
||||
.inline-form .input-sm { width: auto; min-width: 10rem; }
|
||||
.input-sm { padding: 0.25rem 0.5rem; font-size: 0.8125rem; }
|
||||
.filter-select { width: auto; }
|
||||
.hidden { display: none !important; }
|
||||
|
||||
/* Markdown body */
|
||||
.md-body { font-size: 0.9375rem; }
|
||||
.md-body h1, .md-body h2, .md-body h3 { margin: 1rem 0 0.5rem; line-height: 1.3; }
|
||||
.md-body h1 { font-size: 1.25rem; }
|
||||
.md-body h2 { font-size: 1.125rem; }
|
||||
.md-body p, .md-body ul, .md-body ol { margin: 0.5rem 0; }
|
||||
.md-body ul, .md-body ol { padding-left: 1.5rem; }
|
||||
.md-body pre { background: var(--c-bg); border: 1px solid var(--c-border); border-radius: 0.5rem; padding: 0.75rem 1rem; overflow-x: auto; font-size: 0.8125rem; }
|
||||
.md-body code { font-family: monospace; }
|
||||
.md-body details.spoiler { border: 1px solid var(--c-border); border-radius: 0.5rem; padding: 0.5rem 0.75rem; margin: 0.5rem 0; }
|
||||
.md-body details.spoiler summary { cursor: pointer; font-weight: 500; color: var(--c-text-link); }
|
||||
.md-body img { max-width: 100%; }
|
||||
.md-body table { margin: 0.5rem 0; }
|
||||
|
||||
/* Empty state */
|
||||
.empty { text-align: center; color: var(--c-text-muted); padding: 1.5rem; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user