90 lines
3.0 KiB
HTML
90 lines
3.0 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
|
<title>Manage List - GD fedl</title>
|
|
<link rel="stylesheet" href="styles.css">
|
|
</head>
|
|
<body data-page="manage">
|
|
<header>
|
|
<h1>Manage FEDL</h1>
|
|
<nav>
|
|
<a href="index.html">Home</a>
|
|
<a href="lists.html">Lists</a>
|
|
<a href="players.html">Players</a>
|
|
<a href="rules.html">Rules</a>
|
|
<a href="roulette.html">Roulette</a>
|
|
</nav>
|
|
</header>
|
|
<main>
|
|
<section class="panel manage-hero">
|
|
<p class="rules-kicker">Node Manager</p>
|
|
<h2>Edit the list without touching raw text files</h2>
|
|
<p class="muted small">This page saves through the Node server API and keeps both <code>data.json</code> and <code>data.txt</code> in sync.</p>
|
|
</section>
|
|
|
|
<section class="panel manage-grid">
|
|
<div>
|
|
<h2 id="manage-form-title">Add Entry</h2>
|
|
<form id="level-form" class="manage-form">
|
|
<input type="hidden" id="level-id" />
|
|
<label>
|
|
Category
|
|
<input id="level-category" type="text" value="new" placeholder="new" />
|
|
</label>
|
|
<label>
|
|
Position
|
|
<input id="level-position" type="number" min="1" placeholder="1" required />
|
|
</label>
|
|
<label>
|
|
Title
|
|
<input id="level-title" type="text" placeholder="Level title" required />
|
|
</label>
|
|
<label>
|
|
Video URL
|
|
<input id="level-url" type="url" placeholder="https://youtube.com/watch?v=example" />
|
|
</label>
|
|
<div class="manage-actions">
|
|
<button class="btn" type="submit" id="level-submit">Save Entry</button>
|
|
<button class="btn ghost-btn" type="button" id="level-reset">Clear</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<div>
|
|
<h2>Quick Notes</h2>
|
|
<ul class="rules-list">
|
|
<li>Entries are stored by the server in JSON for easier editing and API access.</li>
|
|
<li>The legacy text format is still rewritten automatically for compatibility.</li>
|
|
<li>Sorting on the public list still follows the numeric position field.</li>
|
|
</ul>
|
|
<p class="manage-status muted" id="manage-status">Loading current entries from the server.</p>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="panel">
|
|
<div class="search-row manage-search-row">
|
|
<h2>Current Entries</h2>
|
|
<input id="manage-search" type="text" placeholder="Search by title or category..." />
|
|
</div>
|
|
<div class="table-wrap">
|
|
<table class="levels-table">
|
|
<thead>
|
|
<tr>
|
|
<th style="width:100px">#</th>
|
|
<th style="width:140px">Category</th>
|
|
<th>Title</th>
|
|
<th style="width:220px">Video</th>
|
|
<th style="width:180px">Actions</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="manage-list"></tbody>
|
|
</table>
|
|
</div>
|
|
</section>
|
|
</main>
|
|
<script src="app.js"></script>
|
|
</body>
|
|
</html>
|