feat: complete web UI — dashboard, articles, publish, settings, issues

Made-with: Cursor
This commit is contained in:
cottongin
2026-04-06 15:21:18 -04:00
parent 50ff2e1533
commit ec9f31f072
13 changed files with 718 additions and 0 deletions

40
templates/base.html Normal file
View File

@@ -0,0 +1,40 @@
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{% block title %}PI Weekly{% endblock %} — Plymouth Independent</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css">
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
<nav class="container">
<ul>
<li><a href="/" class="brand">PI Weekly</a></li>
</ul>
<ul>
<li><a href="/articles">Articles</a></li>
<li><a href="/publish">Publish</a></li>
<li><a href="/issues">Issues</a></li>
<li><a href="/settings">Settings</a></li>
</ul>
</nav>
<main class="container">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div role="alert" {% if category == 'error' %}class="pico-background-red-500"{% endif %}>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
{% block content %}{% endblock %}
</main>
<footer class="container">
<small>PI Weekly Newspaper Generator</small>
</footer>
{% block scripts %}{% endblock %}
</body>
</html>