diff --git a/frontend/src/pages/TestDetail.jsx b/frontend/src/pages/TestDetail.jsx index b6c0a67..27036c2 100644 --- a/frontend/src/pages/TestDetail.jsx +++ b/frontend/src/pages/TestDetail.jsx @@ -34,13 +34,18 @@ function createEmptyQuestion() { } /** - * @param {{ title: string, defaultOpen?: boolean, id?: string, children: import('react').ReactNode }} p + * @param {{ title: string, subtitle?: string, defaultOpen?: boolean, id?: string, children: import('react').ReactNode }} p */ -function AccSection({ title, defaultOpen, id, children }) { +function AccSection({ title, subtitle, defaultOpen, id, children }) { return (
- {attemptsErr} -
- )} -(
- {fmtDt(r.created_at)} -
-- Активна: {r.is_active ? 'да' : 'нет'} -
-- {attemptsErr} -
- )} -- {when} -
-- {a.attempterName || '—'} - {a.attempterLogin && ( - - {a.attempterLogin} - - )} -
-- v{a.testVersion} ·{' '} - {result} -
-- {importErr} -
- )} - {importPreview && ( -- {importPreview.generation?.message} -
- {importPreview.generation?.textPreview && !importPreview.generation?.available && ( -
- {importPreview.generation.textPreview}
- {importPreview.textLength > 4000 ? '…' : ''}
-
- )}
- {importPreview.generation?.draft && (
- - {assignErr} -
- )} -- Нет подходящих записей. Смените фильтры или поиск. + {r.is_active && ( + + текущая + + )} +
+ {fmtDt(r.created_at)} +
++ Активна: {r.is_active ? 'да' : 'нет'} +
++ {attemptsErr || 'Список прогонов сейчас недоступен.'}
- ) - )} -+ {when} +
++ {a.attempterName || '—'} + {a.attempterLogin && ( + + {a.attempterLogin} + + )} +
++ v{a.testVersion} ·{' '} + {result} +
++ Пока нет зарегистрированных прогонов. +
+ )}{assignMsg}
} - - )} + )} + + ++ Скрытые тесты в общем списке не показываются; ссылку на тест по-прежнему можно открыть. +
++ Список с учётом поиска и фильтров; можно отметить всех на экране. +
+ {assignErr && ( ++ {assignErr} +
+ )} ++ Нет подходящих записей. Смените фильтры или поиск. +
+ ) + )} +{assignMsg}
} +