Goondex/internal/web/templates/dashboard.html

260 lines
9.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
{{template "html-head" .}}
<style>
/* ==== LUXURY SIDE PANELS (A1 Medium 240px) ==== */
body {
display: flex;
justify-content: center;
align-items: stretch;
min-height: 100vh;
overflow-x: hidden;
}
.side-panel {
width: 240px;
flex-shrink: 0;
background: #000;
border-right: 1px solid rgba(255, 79, 163, 0.2);
border-left: 1px solid rgba(255, 79, 163, 0.2);
display: flex;
flex-direction: column;
overflow: hidden;
position: sticky;
top: 0;
height: 100vh;
}
.side-panel.right {
border-right: none;
}
.side-panel img {
width: 100%;
height: auto;
display: block;
object-fit: cover;
opacity: 0.85;
transition: opacity 0.3s ease;
}
.side-panel img:hover {
opacity: 1;
}
/* Main site content */
.main-wrapper {
flex: 1;
overflow-y: auto;
max-width: 1400px;
}
/* Ensure navbar stays inside main-wrapper */
nav.navbar {
position: sticky;
top: 0;
z-index: 50;
}
/* Search results styling override to match new layout */
#global-search-results {
max-width: 100%;
}
/* Hide side panels on mobile */
@media (max-width: 900px) {
.side-panel {
display: none;
}
}
</style>
</head>
<body>
<!-- LEFT LUXURY SIDE PANEL -->
<div class="side-panel left">
<img src="/static/img/sidebar/preview1.jpg" alt="">
<img src="/static/img/sidebar/preview2.jpg" alt="">
<img src="/static/img/sidebar/preview3.jpg" alt="">
</div>
<!-- MAIN CONTENT WRAPPER -->
<div class="main-wrapper">
<!-- NAVIGATION -->
{{template "navbar" .}}
<main class="container">
<!-- HERO -->
<section class="hero-section">
<h1 class="hero-title">Welcome to Goondex</h1>
<p class="hero-subtitle">TPDB bulk imports with Adult Empire enrichment</p>
<div class="hero-actions">
<button class="btn" onclick="bulkImportAll()">
TPDB Bulk Import
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="syncAll()">
Sync Data
<div class="hoverEffect"><div></div></div>
</button>
</div>
</section>
<!-- SEARCH -->
<section class="search-section" style="margin-bottom: 2.5rem;">
<input type="text" id="global-search" class="input"
placeholder="Search performers, studios, scenes, or tags...">
<div id="global-search-results" class="search-results"></div>
</section>
<!-- STATS -->
<section class="stats-grid">
<!-- Performers -->
<div class="stat-card">
<div class="stat-icon">👤</div>
<div class="stat-content">
<div class="stat-value">{{.PerformerCount}}</div>
<div class="stat-label">Performers</div>
</div>
<div class="stat-actions">
<a href="/performers" class="stat-link">View all →</a>
<button class="btn-small" onclick="aeImportPerformerByName()">
Quick import
<div class="hoverEffect"><div></div></div>
</button>
</div>
</div>
<!-- Studios -->
<div class="stat-card">
<div class="stat-icon">🏢</div>
<div class="stat-content">
<div class="stat-value">{{.StudioCount}}</div>
<div class="stat-label">Studios</div>
</div>
<div class="stat-actions">
<a href="/studios" class="stat-link">View all →</a>
</div>
</div>
<!-- Scenes -->
<div class="stat-card">
<div class="stat-icon">🎬</div>
<div class="stat-content">
<div class="stat-value">{{.SceneCount}}</div>
<div class="stat-label">Scenes</div>
</div>
<div class="stat-actions">
<a href="/scenes" class="stat-link">View all →</a>
<button class="btn-small" onclick="aeImportSceneByName()">
Quick import
<div class="hoverEffect"><div></div></div>
</button>
</div>
</div>
<!-- Movies -->
<div class="stat-card">
<div class="stat-icon">🎞️</div>
<div class="stat-content">
<div class="stat-value">{{.MovieCount}}</div>
<div class="stat-label">Movies</div>
</div>
<div class="stat-actions">
<a href="/movies" class="stat-link">View all →</a>
</div>
</div>
</section>
<!-- TPDB IMPORT/SYNC -->
<section class="import-section">
<h3 id="ae-import">TPDB Import & Sync</h3>
<p class="help-text">
Run bulk imports from TPDB, then enrich with AE/StashDB. Keep it running to build a complete base.
</p>
<div class="import-buttons">
<button class="btn" onclick="bulkImportAll()">
Import Everything (TPDB)
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="bulkImportPerformers()">
Import All Performers
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="bulkImportStudios()">
Import All Studios
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="bulkImportScenes()">
Import All Scenes
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="syncAll()">
Sync All
<div class="hoverEffect"><div></div></div>
</button>
</div>
<div id="import-all-import-status" class="status-banner" style="margin-top: 0.75rem;"></div>
<div id="sync-import-status" class="status-banner" style="margin-top: 0.75rem;"></div>
</section>
<!-- AE IMPORT SECTION -->
<section class="import-section">
<h3>Adult Empire Imports</h3>
<p class="help-text">
Import directly from Adult Empire via the UI with built-in progress feedback.
</p>
<div class="import-buttons">
<button class="btn-secondary" onclick="aeImportPerformerByName()">
Import Performer by Name
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="aeImportPerformerByURL()">
Import Performer by URL
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="aeImportSceneByName()">
Import Scene by Title
<div class="hoverEffect"><div></div></div>
</button>
<button class="btn-secondary" onclick="aeImportSceneByURL()">
Import Scene by URL
<div class="hoverEffect"><div></div></div>
</button>
</div>
<p class="help-text">
Movies: scraper not finished yet. Use performer/scene imports for now.
</p>
<div id="ae-status" class="status-banner"></div>
</section>
</main>
</div>
<!-- RIGHT LUXURY SIDE PANEL -->
<div class="side-panel right">
<img src="/static/img/sidebar/preview4.jpg" alt="">
<img src="/static/img/sidebar/preview5.jpg" alt="">
<img src="/static/img/sidebar/preview6.jpg" alt="">
</div>
<!-- EXISTING MODALS (unchanged, full code integrity kept) -->
{{/* Your modals remain exactly as before */}}
{{template "html-scripts" .}}
</body>
</html>