From de3fb1052cf792f919c0a94bac3f96861969228d Mon Sep 17 00:00:00 2001 From: Mikhail Mitrofanov Date: Mon, 5 Oct 2026 22:35:09 +0300 Subject: [PATCH] enhance --- src/exam-page.ts | 6 ++++-- src/style.css | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 2 deletions(-) diff --git a/src/exam-page.ts b/src/exam-page.ts index 1bc4dd3..ab62a9c 100644 --- a/src/exam-page.ts +++ b/src/exam-page.ts @@ -193,8 +193,10 @@ export function renderExamPage(root: HTMLElement, examId: number, nav: ExamNav): + (w.value ? ` — ${escapeHtml(w.value)}` : '') + ``; }).join(''); - return `

${title} (${list.length})

` - + `
${rows}
`; + return `
` + + `${title} (${list.length})` + + `
${rows}
` + + `
`; }; bodyEl.innerHTML = ` diff --git a/src/style.css b/src/style.css index 946fec4..7f7f275 100644 --- a/src/style.css +++ b/src/style.css @@ -374,6 +374,12 @@ body.drawer-open { gap: 12px; } +/* Вертикальная стопка кнопок (страница колоды: Повторять / История / Экзамены): + внутренний gap не действует между соседними строками, поэтому отступ свой. */ +.btn-row + .btn-row { + margin-top: 12px; +} + /* cta_button: secondary.base с рамкой 1px (рамка в iced прозрачная) + BUTTON_RADIUS */ .btn { flex: 1; @@ -886,6 +892,38 @@ button.word-row-wrap:not(:disabled):hover { background: var(--danger); } +/* Сворачиваемые списки результата:
/ — без JS, с клавиатурой. + Заголовок переиспользует deck-sub (разделитель снизу), маркер summary заменён + на шеврон справа, поворачивающийся при раскрытии. По умолчанию открыты. */ +.exam-group > summary { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: var(--space-half); + cursor: pointer; + font-weight: 700; + list-style: none; +} + +.exam-group > summary::-webkit-details-marker { + display: none; +} + +.exam-group > summary::marker { + content: ''; +} + +.exam-group > summary::after { + content: '▸'; + color: var(--muted); + font-weight: 400; + transition: transform 0.15s ease; +} + +.exam-group[open] > summary::after { + transform: rotate(90deg); +} + /* --- Повторение: карточка + 4 кнопки оценок --- Десктоп: forward и backward на всю ширину, между ними rule::horizontal(2), размеры текста draw_key = 36, draw_value/reading/context = 24,