mirror of
https://github.com/ceratic/MediaCollectorLibary.git
synced 2026-05-13 23:56:46 +02:00
75 lines
4.2 KiB
Twig
75 lines
4.2 KiB
Twig
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{{ title }} - Media Collector</title>
|
|
{% if app_env == 'production' %}
|
|
<link rel="stylesheet" href="{{ base_url() }}/build/assets/app-{{ manifest['resources/js/app.js'].file|replace({'.js': '.css'}) }}">
|
|
{% else %}
|
|
<link rel="stylesheet" href="{{ base_url() }}/app.css">
|
|
{% endif %}
|
|
<!-- Favicon -->
|
|
<link rel="icon" type="image/svg+xml" href="{{ base_url() }}/favicon.svg">
|
|
<meta name="csrf-token" content="{{ csrf_token() }}">
|
|
</head>
|
|
<body class="bg-gray-100">
|
|
<!-- Navigation -->
|
|
<nav class="bg-indigo-600 text-white shadow-lg">
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
|
<div class="flex justify-between h-16">
|
|
<div class="flex">
|
|
<div class="flex-shrink-0 flex items-center">
|
|
<a href="{{ path_for('home') }}" class="text-xl font-bold">Media Collector</a>
|
|
</div>
|
|
<div class="hidden sm:ml-6 sm:flex sm:space-x-8">
|
|
<a href="{{ path_for('home') }}" class="border-indigo-500 text-white inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Dashboard</a>
|
|
<a href="{{ path_for('games.index') }}" class="border-transparent text-indigo-100 hover:border-indigo-300 hover:text-white inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Games</a>
|
|
<a href="{{ path_for('movies.index') }}" class="border-transparent text-indigo-100 hover:border-indigo-300 hover:text-white inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Movies</a>
|
|
<a href="{{ path_for('tvshows.index') }}" class="border-transparent text-indigo-100 hover:border-indigo-300 hover:text-white inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">TV Shows</a>
|
|
<a href="{{ path_for('music.index') }}" class="border-transparent text-indigo-100 hover:border-indigo-300 hover:text-white inline-flex items-center px-1 pt-1 border-b-2 text-sm font-medium">Music</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="flex items-center space-x-4">
|
|
<!-- Admin Link (only for admins) -->
|
|
{% if is_admin() %}
|
|
<a href="/admin" class="text-indigo-100 hover:text-white text-sm font-medium">Admin</a>
|
|
{% endif %}
|
|
|
|
<!-- User Menu -->
|
|
<div class="relative" x-data="{ open: false }">
|
|
<button @click="open = !open" class="text-indigo-100 hover:text-white flex items-center space-x-1 text-sm font-medium">
|
|
<span>{{ current_user().username }}</span>
|
|
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
|
</svg>
|
|
</button>
|
|
|
|
<div x-show="open" @click.away="open = false" class="absolute right-0 mt-2 w-48 bg-white rounded-md shadow-lg py-1 z-50">
|
|
<div class="px-4 py-2 text-sm text-gray-700 border-b border-gray-200">
|
|
Signed in as<br>
|
|
<span class="font-medium">{{ current_user().username }}</span>
|
|
</div>
|
|
<a href="/logout" class="block px-4 py-2 text-sm text-gray-700 hover:bg-gray-100">Sign out</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
|
|
<!-- Page Content -->
|
|
<main class="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
|
|
<!-- Scripts -->
|
|
{% if app_env == 'production' %}
|
|
<script type="module" src="{{ base_url() }}/build/assets/{{ manifest['resources/js/app.js'].file }}"></script>
|
|
{% else %}
|
|
<script type="module" src="{{ base_url() }}/resources/js/app.js"></script>
|
|
{% endif %}
|
|
</body>
|
|
</html>
|