76 lines
4.8 KiB
HTML
76 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" data-theme="dark">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="theme-color" content="#131615">
|
|
<meta name="description" content="Convert public hosts and adblocking lists into MikroTik-compatible host entries.">
|
|
<title>{% block title %}Adlist Converter{% endblock %} / Control room</title>
|
|
<link rel="icon" type="image/svg+xml" href="{{ url_for('static', filename='favicon.svg', v=asset_revision) }}">
|
|
<script>
|
|
try { const theme = localStorage.getItem('adlist-theme');
|
|
if (theme === 'dark' || theme === 'light') document.documentElement.dataset.theme = theme;
|
|
} catch (_) {}
|
|
</script>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/main.css', v=asset_revision) }}">
|
|
{% block head %}{% endblock %}
|
|
</head>
|
|
<body>
|
|
<div class="shell">
|
|
<aside class="sidebar" id="sidebar">
|
|
<a class="brand" href="{{ url_for('index') }}" aria-label="Adlist Converter home">
|
|
<span class="brand-mark" aria-hidden="true">a<span>/</span>l</span>
|
|
<span class="brand-name">Adlist<span class="brand-suffix"> Converter</span></span>
|
|
</a>
|
|
<div class="edition">HOSTS CONVERSION ENGINE</div>
|
|
<nav class="main-navigation" aria-label="Main navigation" id="main-navigation">
|
|
<a class="nav {% if page == 'converter' %}active{% endif %}" href="{{ url_for('index') }}" {% if page == 'converter' %}aria-current="page"{% endif %}>
|
|
<span class="nav-index">01</span><b>Converter</b><span class="nav-arrow" aria-hidden="true">↗</span>
|
|
</a>
|
|
<a class="nav" href="{{ url_for('index') }}#recent-links">
|
|
<span class="nav-index">02</span><b>Recent links</b><span class="nav-arrow" aria-hidden="true">↗</span>
|
|
</a>
|
|
<a class="nav {% if page == 'stats' %}active{% endif %}" href="{{ url_for('stats') }}" {% if page == 'stats' %}aria-current="page"{% endif %}>
|
|
<span class="nav-index">03</span><b>Statistics</b><span class="nav-arrow" aria-hidden="true">↗</span>
|
|
</a>
|
|
<a class="nav" href="{{ url_for('stats_json') }}" target="_blank" rel="noopener">
|
|
<span class="nav-index">04</span><b>Stats API</b><span class="nav-arrow" aria-hidden="true">↗</span>
|
|
</a>
|
|
</nav>
|
|
<div class="sidebar-bottom">
|
|
<span class="small-label">RUNTIME</span>
|
|
<p>Python / Flask / Redis<br>WSGI / ASGI / HTTP cache</p>
|
|
<div class="local-tag"><i aria-hidden="true"></i> PROXY CACHE READY</div>
|
|
<div class="sidebar-credit"><a href="https://www.linuxiarz.pl" target="_blank" rel="noopener noreferrer">linuxiarz.pl <span aria-hidden="true">↗</span></a></div>
|
|
</div>
|
|
</aside>
|
|
<div class="workarea">
|
|
<header class="topbar">
|
|
<div class="topbar-left">
|
|
<button class="menu-toggle quiet" type="button" data-action="menu" aria-controls="main-navigation" aria-expanded="false" aria-label="Toggle menu">
|
|
<svg viewBox="0 0 24 24" width="18" height="18" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" aria-hidden="true"><path d="M4 7h16M4 12h16M4 17h16"/></svg>
|
|
</button>
|
|
<div class="breadcrumb">CONTROL ROOM <span>/</span> <b>{% if page == 'stats' %}Statistics{% elif page == 'error' %}Error{% else %}Converter{% endif %}</b></div>
|
|
</div>
|
|
<div class="top-actions">
|
|
<span class="top-annotation">HOSTS / MIKROTIK</span>
|
|
<button type="button" class="quiet theme-toggle" data-action="toggle-theme" aria-label="Switch color theme" title="Switch color theme">
|
|
<svg class="theme-icon theme-icon-sun" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" aria-hidden="true"><circle cx="12" cy="12" r="4"/><path d="M12 2v2m0 16v2M4.93 4.93l1.41 1.41m11.32 11.32 1.41 1.41M2 12h2m16 0h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41"/></svg>
|
|
<svg class="theme-icon theme-icon-moon" viewBox="0 0 24 24" width="16" height="16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" aria-hidden="true"><path d="M20.5 14.1A8.5 8.5 0 0 1 9.9 3.5 8.5 8.5 0 1 0 20.5 14.1Z"/></svg>
|
|
<span>Theme</span>
|
|
</button>
|
|
<a class="quiet top-external" href="https://www.linuxiarz.pl" target="_blank" rel="noopener noreferrer">linuxiarz.pl <span aria-hidden="true">↗</span></a>
|
|
</div>
|
|
</header>
|
|
<main id="main-content">
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
<footer class="app-footer"><span>ADLIST CONVERTER <span class="footer-divide">/</span> INDEPENDENT UTILITY</span><span>Powered by Flask · Built for MikroTik</span></footer>
|
|
</div>
|
|
</div>
|
|
<div id="toast" class="toast" role="status" aria-live="polite" aria-atomic="true"></div>
|
|
<script defer src="{{ url_for('static', filename='js/main.js', v=asset_revision) }}"></script>
|
|
{% block scripts %}{% endblock %}
|
|
</body>
|
|
</html>
|