38279-vm/core/templates/base.html
Flatlogic Bot ad4bdec188 Viblo 2.0
2026-02-08 03:52:45 +00:00

165 lines
5.3 KiB
HTML

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ title|default:"AI Video Creator" }}</title>
<meta name="description" content="AI-powered short-form video creation studio.">
<!-- Google Fonts: Inter & Outfit -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@600;700;800&display=swap" rel="stylesheet">
<!-- Bootstrap 5 CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom Dark Studio Styles -->
<style>
:root {
--bg-deep: #0f172a;
--bg-surface: #1e293b;
--bg-elevated: #334155;
--accent: #8b5cf6;
--accent-glow: rgba(139, 92, 246, 0.4);
--text-primary: #f8fafc;
--text-secondary: #94a3b8;
--border-color: rgba(255, 255, 255, 0.08);
}
body {
background-color: var(--bg-deep);
color: var(--text-primary);
font-family: 'Inter', sans-serif;
margin: 0;
padding: 0;
min-height: 100vh;
}
h1, h2, h3, h4, .font-heading {
font-family: 'Outfit', sans-serif;
}
.navbar {
background-color: rgba(15, 23, 42, 0.8);
backdrop-filter: blur(12px);
border-bottom: 1px solid var(--border-color);
padding: 1rem 0;
}
.navbar-brand {
font-family: 'Outfit', sans-serif;
font-weight: 800;
font-size: 1.5rem;
color: var(--text-primary) !important;
letter-spacing: -0.02em;
}
.navbar-brand span {
background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.btn-accent {
background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);
color: white;
border: none;
font-weight: 600;
padding: 0.75rem 1.5rem;
border-radius: 12px;
transition: all 0.2s ease;
box-shadow: 0 4px 12px var(--accent-glow);
}
.btn-accent:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px var(--accent-glow);
color: white;
}
.card-studio {
background-color: var(--bg-surface);
border: 1px solid var(--border-color);
border-radius: 20px;
padding: 1.5rem;
transition: all 0.3s ease;
}
.card-studio:hover {
border-color: var(--accent);
transform: translateY(-4px);
}
.text-gradient {
background: linear-gradient(135deg, #f8fafc 0%, #94a3b8 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.glass-panel {
background: rgba(30, 41, 59, 0.7);
backdrop-filter: blur(10px);
border: 1px solid var(--border-color);
border-radius: 24px;
}
.status-badge {
padding: 0.25rem 0.75rem;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
}
.status-draft { background: #334155; color: #f8fafc; }
.status-scripting { background: rgba(139, 92, 246, 0.2); color: #a78bfa; }
.status-completed { background: rgba(16, 185, 129, 0.2); color: #10b981; }
footer {
padding: 4rem 0 2rem;
color: var(--text-secondary);
font-size: 0.9rem;
}
</style>
{% block extra_head %}{% endblock %}
</head>
<body>
<nav class="navbar navbar-expand-lg sticky-top">
<div class="container">
<a class="navbar-brand" href="{% url 'index' %}">
AI<span>Creator</span>
</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link text-white-50 px-3" href="/admin/">Admin</a>
</li>
<li class="nav-item">
<a class="btn btn-accent ms-lg-3" href="{% url 'index' %}">Studio Dashboard</a>
</li>
</ul>
</div>
</div>
</nav>
<main class="py-5">
{% block content %}{% endblock %}
</main>
<footer class="text-center">
<div class="container border-top border-white-10 pt-4">
<p>© 2026 AI Video Creator Studio. Built for Unlimited Creation.</p>
</div>
</footer>
<!-- Bootstrap JS -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
{% block extra_js %}{% endblock %}
</body>
</html>