86 lines
3.4 KiB
HTML
86 lines
3.4 KiB
HTML
<!doctype html>
|
|
<html lang="ru">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>NODE.DC Admin</title>
|
|
<link rel="stylesheet" href="./admin.css" />
|
|
</head>
|
|
<body>
|
|
<main class="admin-shell">
|
|
<aside class="sidebar">
|
|
<div class="sidebar-head">
|
|
<div>
|
|
<div class="eyebrow">NODE.DC</div>
|
|
<h1>Блоки страницы</h1>
|
|
</div>
|
|
<button id="reload" class="icon-btn" type="button" title="Перезагрузить данные">↻</button>
|
|
</div>
|
|
<div id="regions" class="regions"></div>
|
|
</aside>
|
|
|
|
<section class="editor">
|
|
<header class="editor-head">
|
|
<div>
|
|
<div id="selected-region" class="eyebrow">Выберите блок</div>
|
|
<h2 id="selected-title">Контентный слой</h2>
|
|
</div>
|
|
<div class="actions">
|
|
<a class="ghost-btn" href="/" target="_blank">Открыть сайт</a>
|
|
<button id="render" class="ghost-btn" type="button">Собрать index.html</button>
|
|
<button id="save" class="primary-btn" type="button">Сохранить JSON</button>
|
|
</div>
|
|
</header>
|
|
|
|
<div id="empty-state" class="empty-state">
|
|
Слева выберите блок. Сейчас это первый этап: блоки можно включать, выключать,
|
|
дублировать и менять порядок внутри своего DOM-региона.
|
|
</div>
|
|
|
|
<form id="block-form" class="block-form hidden">
|
|
<div class="field-grid">
|
|
<label>
|
|
ID блока
|
|
<input id="block-id" name="id" type="text" autocomplete="off" />
|
|
</label>
|
|
<label>
|
|
Название в админке
|
|
<input id="block-label" name="adminLabel" type="text" autocomplete="off" />
|
|
</label>
|
|
<label>
|
|
Шаблон
|
|
<input id="block-template" name="template" type="text" autocomplete="off" readonly />
|
|
</label>
|
|
<label>
|
|
Anchor
|
|
<input id="block-anchor" name="anchor" type="text" autocomplete="off" />
|
|
</label>
|
|
</div>
|
|
|
|
<label class="toggle-row">
|
|
<input id="block-enabled" name="enabled" type="checkbox" />
|
|
<span>Блок включён в рендер</span>
|
|
</label>
|
|
|
|
<div class="button-row">
|
|
<button id="move-up" class="ghost-btn" type="button">Вверх</button>
|
|
<button id="move-down" class="ghost-btn" type="button">Вниз</button>
|
|
<button id="duplicate" class="ghost-btn" type="button">Дублировать</button>
|
|
<button id="copy" class="ghost-btn" type="button">Копировать</button>
|
|
<button id="paste-after" class="ghost-btn" type="button">Вставить после</button>
|
|
<button id="delete-block" class="danger-btn" type="button">Удалить</button>
|
|
</div>
|
|
|
|
<label class="json-field">
|
|
JSON выбранного блока
|
|
<textarea id="block-json" spellcheck="false"></textarea>
|
|
</label>
|
|
</form>
|
|
|
|
<pre id="status" class="status"></pre>
|
|
</section>
|
|
</main>
|
|
<script src="./admin.js" type="module"></script>
|
|
</body>
|
|
</html>
|