- Implement full web interface with Go html/template server - Add GX component library (buttons, dialogs, tables, forms, etc.) - Create scene/performer/studio/movie detail and listing pages - Add Adult Empire scraper for additional metadata sources - Implement movie support with database schema - Add import and sync services for data management - Include comprehensive API and frontend documentation - Add custom color scheme and responsive layout 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
72 lines
2.8 KiB
HTML
72 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Studios - Goondex</title>
|
|
<link rel="stylesheet" href="/static/css/goondex.css">
|
|
</head>
|
|
<body>
|
|
<nav class="navbar">
|
|
<div class="container nav-inner">
|
|
<img src="/static/img/logo/GOONDEX_logo.png" class="logo-img">
|
|
<ul class="nav-links">
|
|
<li><a href="/">Dashboard</a></li>
|
|
<li><a href="/performers">Performers</a></li>
|
|
<li><a href="/studios" class="active">Studios</a></li>
|
|
<li><a href="/scenes">Scenes</a></li>
|
|
<li><a href="/movies">Movies</a></li>
|
|
</ul>
|
|
</div>
|
|
</nav>
|
|
|
|
<main class="container">
|
|
<div class="page-header">
|
|
<h2>Studios</h2>
|
|
<form class="search-form" action="/studios" method="get">
|
|
<input type="text" name="q" class="input" placeholder="Search studios..." value="{{.Query}}">
|
|
<button type="submit" class="btn">Search<div class="hoverEffect"><div></div></div></button>
|
|
</form>
|
|
</div>
|
|
|
|
{{if .Studios}}
|
|
<div class="gx-card-grid">
|
|
{{range .Studios}}
|
|
<div class="gx-card" onclick="location.href='/studios/{{.Studio.ID}}'">
|
|
<div class="gx-card-thumb"
|
|
style="background-image: url('{{if .Studio.ImageURL}}{{.Studio.ImageURL}}{{else}}/static/img/placeholder-studio.jpg{{end}}'); background-color: #1a1a1a;">
|
|
</div>
|
|
|
|
<div class="gx-card-body">
|
|
<div class="gx-card-title">{{.Studio.Name}}</div>
|
|
<div class="gx-card-meta">{{.SceneCount}} scenes</div>
|
|
|
|
{{if .Studio.Description}}
|
|
<div class="gx-card-meta" style="margin-top: 0.5rem; font-size: 0.8rem; opacity: 0.8; line-height: 1.3; max-height: 2.6rem; overflow: hidden; text-overflow: ellipsis;">
|
|
{{.Studio.Description}}
|
|
</div>
|
|
{{end}}
|
|
|
|
{{if .Studio.Source}}
|
|
<div class="gx-card-tags" style="margin-top: 0.6rem;">
|
|
<span class="gx-card-tag">{{.Studio.Source}}</span>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
{{else}}
|
|
<div class="empty-state">
|
|
<p>No studios found.</p>
|
|
{{if .Query}}
|
|
<p>Try a different search term or <a href="/studios">view all studios</a>.</p>
|
|
{{else}}
|
|
<p>Import studios using the dashboard or CLI: <code>./goondex import studio "name"</code></p>
|
|
{{end}}
|
|
</div>
|
|
{{end}}
|
|
</main>
|
|
</body>
|
|
</html>
|