feat: complete UI redesign with DaisyUI + Tailwind CSS v4
Design system overhaul using DaisyUI v5 on Tailwind CSS v4: - Custom 'ohmstream' dark theme with orange primary (#FF9F1C), magenta secondary, gold accent matching existing palette - Tailwind CSS-first config (input.css source, style.css built output) - DaisyUI components: navbar, drawer, cards, badges, alerts, tables, progress bars, tabs, toggles, stats, form controls, tooltips - Mobile-first responsive layout with drawer navigation - Eliminated ~500+ lines of embedded CSS across 15+ template files - Removed all inline style spam from admin_panel and settings_section - Preserved all HTMX triggers, Alpine.js state, and Jinja2 logic - Updated auth-ui.js for DaisyUI tab-active class compatibility Build: npm run build:css (minified) / npm run watch:css (dev)
This commit is contained in:
@@ -1,11 +1,13 @@
|
||||
<div class="section-container">
|
||||
<div class="section-header">
|
||||
<h2><i class="fa-solid fa-clipboard-list"></i> Ma Watchlist</h2>
|
||||
<div class="header-actions">
|
||||
<div class="mb-10">
|
||||
<div class="flex justify-between items-center mb-4">
|
||||
<h2 class="text-xl font-bold flex items-center gap-2">
|
||||
<i class="fa-solid fa-clipboard-list"></i> Ma Watchlist
|
||||
</h2>
|
||||
<div class="flex gap-2">
|
||||
<button class="btn btn-sm btn-primary" hx-post="/api/watchlist/check" hx-swap="none">
|
||||
<i class="fas fa-sync"></i> Vérifier épisodes
|
||||
</button>
|
||||
<button class="btn btn-sm btn-secondary"
|
||||
<button class="btn btn-sm btn-ghost"
|
||||
hx-get="/api/watchlist"
|
||||
hx-target="#watchlist-items-container">
|
||||
<i class="fas fa-redo"></i> Actualiser
|
||||
@@ -16,34 +18,9 @@
|
||||
<!-- Watchlist items container loaded via HTMX on page load or manual refresh -->
|
||||
<div id="watchlist-items-container"
|
||||
hx-get="/api/watchlist"
|
||||
hx-trigger="load"
|
||||
class="watchlist-content">
|
||||
<div class="loading-placeholder">
|
||||
<div class="spinner"></div> Chargement de votre watchlist...
|
||||
</div>
|
||||
hx-trigger="load"
|
||||
class="flex justify-center py-8 text-base-content/50">
|
||||
<span class="loading loading-spinner loading-lg"></span>
|
||||
<span class="ml-2">Chargement de votre watchlist...</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<style>
|
||||
.watchlist-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
|
||||
gap: 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.watchlist-item {
|
||||
display: flex;
|
||||
gap: 15px;
|
||||
padding: 15px;
|
||||
background: var(--bg-card);
|
||||
border-radius: 4px;
|
||||
border: 1px solid var(--secondary);
|
||||
transition: border-color 0.2s;
|
||||
}
|
||||
.watchlist-item:hover { border-color: #FFBF69; }
|
||||
.item-poster img { width: 80px; height: 120px; border-radius: 4px; object-fit: cover; }
|
||||
.item-info { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
|
||||
.item-info h3 { font-size: 1rem; margin-bottom: 5px; color: #F2F2F2; }
|
||||
.item-meta { display: flex; gap: 8px; margin-bottom: 8px; }
|
||||
.item-actions { display: flex; gap: 10px; margin-top: 10px; }
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user