88 lines
3.1 KiB
HTML
88 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Document</title>
|
|
<link
|
|
rel="stylesheet"
|
|
href="{{ url_for('static', path='style.css') }}"
|
|
/>
|
|
</head>
|
|
<body>
|
|
<h1>Queue Manager</h1>
|
|
|
|
<div class="hero">
|
|
<div class="card">
|
|
<h2>Input (PC)</h2>
|
|
<p>
|
|
Paste your OneTab export or list of links here to add them
|
|
to the queue
|
|
</p>
|
|
<div class="actions">
|
|
<a href="/queuein" class="btn">Add Links</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Output (Mobile)</h2>
|
|
<p>Open these on your phone to consume the queue</p>
|
|
<div class="actions">
|
|
<a href="/q" class="btn">Reader (QR)</a>
|
|
<a href="/t" class="btn">Trail (Focus)</a>
|
|
<a href="/r" class="btn">Next Link</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Scan this page</h2>
|
|
<p>Connect your phone to the same Wi-Fi and scan this</p>
|
|
<div
|
|
class="qrcode"
|
|
style="padding: 1rem; background: white; border-radius: 8px"
|
|
id="page_url"
|
|
></div>
|
|
<script src="https://cdn.jsdelivr.net/npm/[email protected]/qrcode.js"></script>
|
|
<script>
|
|
new QRCode(document.getElementById("page_url"), {
|
|
text: "{{ page_url }}",
|
|
width: 256,
|
|
height: 256,
|
|
colorDark: "#000000",
|
|
colorLight: "#ffffff",
|
|
correctLevel: QRCode.CorrectLevel.L,
|
|
});
|
|
</script>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<h2>Tools</h2>
|
|
<div
|
|
class="actions"
|
|
style="flex-direction: column; align-items: stretch"
|
|
>
|
|
<a href="/manage" class="btn">Queue Manager</a>
|
|
<a href="/pastepad" class="btn">PastePad</a>
|
|
<a href="/extractor" class="btn">Link Extractor</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<details>
|
|
<summary>System Routes</summary>
|
|
<div class="route-list">
|
|
{% macro this(route) %}
|
|
<div class="route-item">
|
|
<a href="{{ route.path }}">{{ route.name }}</a>
|
|
<span>{{ route.path }}</span>
|
|
</div>
|
|
{% endmacro %} {% for route in routes |
|
|
sort(attribute="__class__.__name__") %} {{ this(route) }} {%
|
|
endfor %}
|
|
</div>
|
|
<script>
|
|
console.log(`{{ routes | safe }}`);
|
|
</script>
|
|
</details>
|
|
</body>
|
|
</html>
|