232 lines
8.2 KiB
HTML
232 lines
8.2 KiB
HTML
<!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">Adult Empire-first indexer (TPDB temporarily disabled)</p>
|
||
|
||
<div class="hero-actions">
|
||
<button class="btn" onclick="scrollToAEImport()">
|
||
Get Started (Adult Empire)
|
||
<div class="hoverEffect"><div></div></div>
|
||
</button>
|
||
|
||
<button class="btn-secondary" onclick="showTPDBDisabled()">
|
||
TPDB Sync (Disabled)
|
||
<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="scrollToAEImport()">
|
||
Import via CLI
|
||
<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>
|
||
<button class="btn-small" onclick="scrollToAEImport()">
|
||
Import via CLI
|
||
<div class="hoverEffect"><div></div></div>
|
||
</button>
|
||
</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="scrollToAEImport()">
|
||
Import via CLI
|
||
<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>
|
||
|
||
<!-- IMPORT SECTION -->
|
||
<section class="import-section">
|
||
<h3 id="ae-import">Import from Adult Empire (CLI)</h3>
|
||
<p class="help-text">
|
||
TPDB bulk import is temporarily disabled. Use the Adult Empire CLI to seed your library with high-quality mainstream data:
|
||
</p>
|
||
|
||
<div class="import-buttons">
|
||
<button class="btn-secondary" onclick="copyToClipboard('./goondex adultemp search-performer \"Name\"')">
|
||
Copy: Search Performer
|
||
<div class="hoverEffect"><div></div></div>
|
||
</button>
|
||
<button class="btn-secondary" onclick="copyToClipboard('./goondex adultemp scrape-performer <url>')">
|
||
Copy: Import Performer
|
||
<div class="hoverEffect"><div></div></div>
|
||
</button>
|
||
<button class="btn-secondary" onclick="copyToClipboard('./goondex adultemp search-scene \"Title\"')">
|
||
Copy: Search Scene
|
||
<div class="hoverEffect"><div></div></div>
|
||
</button>
|
||
<button class="btn-secondary" onclick="copyToClipboard('./goondex adultemp scrape-scene <url>')">
|
||
Copy: Import Scene
|
||
<div class="hoverEffect"><div></div></div>
|
||
</button>
|
||
</div>
|
||
|
||
<p class="help-text">
|
||
Movies: scraper not finished yet. Use scene/performer imports for now.
|
||
</p>
|
||
|
||
<p class="help-text">
|
||
Bulk “Import All” buttons will stay disabled until an Adult Empire bulk flow is available.
|
||
</p>
|
||
</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>
|