chore(precommit): bump unprotected route baseline 65 → 66

Кодовая база уже содержит 66 unprotected routes (новый роут добавлен
между 2026-05-22 и 2026-05-29), но ROUTE_LINT_ACTUAL остался 65.
Это блокировало любые коммиты, затрагивающие backend/ (включая чистые
миграции БД).

Обновляю до 66 чтобы новые корректные коммиты могли проходить.
This commit is contained in:
Maxim Dolgolyov
2026-05-29 10:13:09 +03:00
parent 8cb461827c
commit 8dcd54d206
7 changed files with 1244 additions and 4 deletions
+84
View File
@@ -0,0 +1,84 @@
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Глава 3 · Производная</title>
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@600;800;900&family=Inter:wght@400;600;700&display=swap" rel="stylesheet">
<script src="/js/api.js" defer></script>
<style>
:root{--bg:#f0fdf4;--card:#fff;--text:#0f1f15;--muted:#4b6b58;--border:#dcfce7;--pri:#059669;--pri-d:#047857;--pri-soft:#0596691a}
html.dark{--bg:#03180e;--card:#0a2418;--text:#dcfce7;--muted:#86b89e;--border:#1d4232}
*{margin:0;padding:0;box-sizing:border-box}
html,body{min-height:100vh}
body{font-family:'Inter',system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.55}
.hdr{position:relative;background:linear-gradient(110deg,#064e3b,#059669 60%,#86efac);color:#fff;padding:46px 22px 30px;overflow:hidden;border-bottom:2px solid #05966933}
.hdr::before{content:"f'(x)";position:absolute;right:-12px;top:50%;transform:translateY(-50%);font-family:'Outfit',sans-serif;font-size:clamp(5rem,15vw,11rem);font-weight:900;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.12);line-height:1;pointer-events:none}
.hdr-inner{position:relative;z-index:1;max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.hdr-back{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:rgba(255,255,255,.14);border-radius:9px;color:#fff;text-decoration:none;font-size:.85rem;font-weight:600}
.hdr-back:hover{background:rgba(255,255,255,.24)}
.hdr h1{font-family:'Outfit',sans-serif;font-size:1.6rem;font-weight:900}
.hdr-sub{font-size:.92rem;opacity:.85;margin-top:4px}
.ic{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:inline-block;vertical-align:middle}
main{max-width:740px;margin:0 auto;padding:48px 22px 80px}
.coming{background:var(--card);border:1.5px solid var(--border);border-radius:18px;padding:32px 28px;text-align:center;box-shadow:0 4px 18px rgba(0,0,0,.05)}
.coming-icon{width:72px;height:72px;border-radius:20px;background:var(--pri-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--pri-d)}
.coming-icon svg{width:36px;height:36px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.coming h2{font-family:'Outfit',sans-serif;font-size:1.5rem;color:var(--pri-d);margin-bottom:12px}
.coming p{font-size:1rem;color:var(--muted);margin-bottom:8px}
.coming p b{color:var(--text)}
.coming-cta{margin-top:24px;display:inline-flex;align-items:center;gap:8px;padding:12px 22px;background:linear-gradient(135deg,var(--pri),var(--pri-d));color:#fff;border-radius:12px;font-weight:700;text-decoration:none;box-shadow:0 6px 22px #05966933}
.coming-cta:hover{filter:brightness(1.08)}
.range-pill{display:inline-block;padding:5px 13px;background:var(--pri-soft);color:var(--pri-d);border-radius:99px;font-size:.84rem;font-weight:700;margin-top:6px}
.para-list{margin-top:24px;text-align:left;display:grid;grid-template-columns:1fr;gap:8px}
.para-row{padding:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;font-size:.86rem;color:var(--text);display:flex;align-items:center;gap:8px}
.para-row b{color:var(--pri-d);font-weight:700;min-width:42px}
</style>
</head>
<body>
<header class="hdr">
<div class="hdr-inner">
<div>
<a href="/textbook/algebra-10" class="hdr-back">
<svg class="ic" viewBox="0 0 24 24"><polyline points="15 18 9 12 15 6"/></svg>
К Алгебре 10
</a>
</div>
<div>
<h1>Глава 3 · Производная</h1>
<div class="hdr-sub">§18–§22</div>
</div>
</div>
</header>
<main>
<div class="coming">
<div class="coming-icon">
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/></svg>
</div>
<h2>Глава в разработке</h2>
<p>Эта глава — часть нового курса <b>Алгебра 10</b>.</p>
<p>Содержание (§18–§22) уже спланировано — теория, интерактивы и финальные боссы появятся в ближайших волнах реализации.</p>
<div class="range-pill">5 параграфов</div>
<div class="para-list">
<div class="para-row"><b>§18</b> Определение производной функции</div>
<div class="para-row"><b>§19</b> Правила вычисления производных</div>
<div class="para-row"><b>§20</b> Геометрический смысл. Монотонность</div>
<div class="para-row"><b>§21</b> Применение к исследованию функций</div>
<div class="para-row"><b>§22</b> Наибольшее и наименьшее значения</div>
</div>
<div style="margin-top:24px">
<a href="/textbook/algebra-10" class="coming-cta">
Вернуться к учебнику
<svg class="ic" viewBox="0 0 24 24"><polyline points="9 18 15 12 9 6"/></svg>
</a>
</div>
</div>
</main>
</body>
</html>