feat(exam-prep F2): порт браузера вариантов + API /variants + POST /attempts + редирект /exam9
This commit is contained in:
@@ -8,6 +8,9 @@
|
||||
<link href="https://fonts.googleapis.com/css2?family=Unbounded:wght@400;700;800&family=Manrope:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="/css/ls.css" />
|
||||
<link rel="stylesheet" href="/css/exam-prep.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.css" />
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/katex.min.js"></script>
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.11/dist/contrib/auto-render.min.js" onload="onKatexLoad()"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="app-layout">
|
||||
@@ -24,19 +27,22 @@
|
||||
<path d="m9 14 2 2 4-4"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div>
|
||||
<div style="flex:1">
|
||||
<div class="ep-title" id="ep-title"><span class="ep-skel" style="width:280px;height:1.2em"> </span></div>
|
||||
<div class="ep-sub" id="ep-sub"><span class="ep-skel" style="width:200px;height:.8em"> </span></div>
|
||||
<div class="ep-sub" id="ep-sub"><span class="ep-skel" style="width:200px;height:.8em"> </span></div>
|
||||
</div>
|
||||
<button class="vp-picker-btn" id="vp-btn" title="Выбрать вариант">
|
||||
<span id="vp-label">Выбрать вариант</span>
|
||||
<svg class="vp-chev" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"/></svg>
|
||||
</button>
|
||||
</header>
|
||||
|
||||
<nav class="ep-tabs" id="ep-tabs"></nav>
|
||||
|
||||
<main id="ep-main">
|
||||
<div class="ep-empty">
|
||||
<i data-lucide="layout-grid"></i>
|
||||
<h4>Браузер вариантов</h4>
|
||||
<p>В F2 сюда переедет просмотр 80 вариантов с условиями и решениями. До этого пользуйтесь старой страницей: <a href="/exam9" style="color:var(--violet)">/exam9</a></p>
|
||||
<i data-lucide="loader-circle"></i>
|
||||
<h4>Загрузка вариантов…</h4>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
@@ -44,6 +50,18 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="vp-overlay" id="vp-overlay">
|
||||
<div class="vp-panel" onclick="event.stopPropagation()">
|
||||
<div class="vp-panel-head">
|
||||
<h2>Выберите вариант</h2>
|
||||
<button class="vp-panel-close" id="vp-close" title="Закрыть">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
<div class="vp-grid" id="vp-grid"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/lucide@0.469.0/dist/umd/lucide.min.js"></script>
|
||||
<script src="/js/api.js"></script>
|
||||
<script src="/js/sidebar.js"></script>
|
||||
@@ -52,6 +70,7 @@
|
||||
<script src="/js/mobile.js"></script>
|
||||
<script src="/js/exam-prep/common.js"></script>
|
||||
<script src="/js/exam-prep/api.js"></script>
|
||||
<script>(async () => { await EP.boot(); if (window.lucide) lucide.createIcons(); })();</script>
|
||||
<script src="/js/exam-prep/katex.js"></script>
|
||||
<script src="/js/exam-prep/variants.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user