106 lines
4.5 KiB
HTML
106 lines
4.5 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" class="dark">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Banner</title>
|
|
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='css/output.css') }}">
|
|
|
|
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
|
|
|
|
</head>
|
|
|
|
<body class="bg-background text-text min-h-screen font-sans">
|
|
|
|
<nav class="bg-white border-gray-200 dark:bg-gray-900">
|
|
<div class="max-w-screen-xl flex flex-wrap items-center justify-between mx-auto p-4">
|
|
<a href="{{url_for('main.index')}}" class="flex items-center space-x-3 rtl:space-x-reverse">
|
|
<span class="self-center text-2xl font-semibold whitespace-nowrap dark:text-white">Tutortool</span>
|
|
</a>
|
|
<div class="hidden w-full md:block md:w-auto" id="navbar-default">
|
|
<ul class="font-medium flex flex-col justify-between md:justify-evenly p-4 md:p-0 mt-4 border border-gray-100 rounded-lg bg-gray-50 md:flex-row md:space-x-8 rtl:space-x-reverse md:mt-0 md:border-0 md:bg-white dark:bg-gray-800 md:dark:bg-gray-900 dark:border-gray-700">
|
|
<li>
|
|
<a href="{{url_for('admin.admin')}}"
|
|
class="block py-2 px-3 text-gray-900 rounded-sm hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-blue-700 md:p-0 dark:text-white md:dark:hover:text-blue-500 dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent">
|
|
Deck Admin
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{url_for('admin.banner')}}"
|
|
class="block py-2 px-3 text-white bg-blue-700 rounded-sm md:bg-transparent md:text-blue-700 md:p-0 dark:text-white md:dark:text-blue-500"
|
|
aria-current="page">
|
|
Banner
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="{{url_for('admin.confused_notifications')}}"
|
|
class="block py-2 px-3 text-gray-900 rounded-sm hover:bg-gray-100 md:hover:bg-transparent md:border-0 md:hover:text-blue-700 md:p-0 dark:text-white md:dark:hover:text-blue-500 dark:hover:bg-gray-700 dark:hover:text-white md:dark:hover:bg-transparent">
|
|
Confused
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Main Content -->
|
|
<main class="max-w-5xl mx-auto px-6 py-10 space-y-12">
|
|
|
|
<!-- Banner Form -->
|
|
<section class="flex justify-center">
|
|
<div class="w-full max-w-md">
|
|
<div class="bg-surface border border-border rounded-lg shadow-md p-6">
|
|
<h2 class="text-xl font-semibold text-center mb-4">Enter new Banner</h2>
|
|
<form method="POST" class="space-y-4">
|
|
{{ banner_form.hidden_tag() }}
|
|
<div>
|
|
<label class="block mb-1 text-sm font-medium">{{ banner_form.content.label }}</label>
|
|
{{ banner_form.content(class="w-full rounded-lg p-3 bg-background border border-border text-text placeholder-muted focus:outline-none focus:ring-2 focus:ring-primary") }}
|
|
</div>
|
|
|
|
<button
|
|
type="submit"
|
|
class="w-full bg-primary hover:bg-blue-700 text-white py-2 rounded-md transition">
|
|
Add message
|
|
</button>
|
|
</form>
|
|
{% if error %}
|
|
<p class="text-red-500 text-center mt-3">{{ error }}</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<!-- Banners -->
|
|
{% if banners %}
|
|
<section>
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6">
|
|
{% for banner in banners %}
|
|
<div class="block bg-surface border border-border rounded-xl p-5 shadow-sm hover:border-primary hover:bg-background transition">
|
|
<h3 class="text-lg font-semibold mb-1">{{ banner.content }}</h3>
|
|
{% if banner.is_active %}
|
|
<form method="POST" action="{{ url_for('admin.hide_active_banner') }}">
|
|
<button type="submit" class="w-full bg-red-600 hover:bg-red-700 text-white py-2 rounded-md transition">Hide</button>
|
|
</form>
|
|
{% else %}
|
|
<form method="POST", action="{{ url_for('admin.set_active_banner', banner_id=banner.id)}}">
|
|
<button type="submit" class="w-full bg-primary hover:bg-blue-700 text-white py-2 rounded-md transition">
|
|
Show banner
|
|
</button>
|
|
</form>
|
|
{% endif %}
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
</section>
|
|
{% else %}
|
|
<p class="text-center text-muted">No banners created yet.</p>
|
|
{% endif %}
|
|
|
|
</main>
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/flowbite@3.1.2/dist/flowbite.min.js"></script>
|
|
</body>
|
|
</html>
|