| <!DOCTYPE html> |
| <html lang="id"> |
| <head> |
| <meta charset="UTF-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1.0"> |
| <title>{% block title %}Galeri Angkatan{% endblock %}</title> |
| <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet"> |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.0/font/bootstrap-icons.css"> |
| <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}"> |
| </head> |
| <body> |
| |
| <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> |
| <div class="container"> |
| <a class="navbar-brand" href="{{ url_for('index') }}"> |
| <i class="bi bi-images"></i> Galeri Angkatan |
| </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" href="{{ url_for('index') }}">Home</a> |
| </li> |
| {% if current_user.is_authenticated %} |
| {% if current_user.is_admin %} |
| <li class="nav-item"> |
| <a class="nav-link" href="{{ url_for('admin_dashboard') }}">Admin Panel</a> |
| </li> |
| {% endif %} |
| <li class="nav-item"> |
| <a class="nav-link" href="{{ url_for('logout') }}">Logout ({{ current_user.username }})</a> |
| </li> |
| {% else %} |
| <li class="nav-item"> |
| <a class="nav-link" href="{{ url_for('login') }}">Login Admin</a> |
| </li> |
| {% endif %} |
| </ul> |
| </div> |
| </div> |
| </nav> |
|
|
| |
| <div class="container mt-3"> |
| {% with messages = get_flashed_messages(with_categories=true) %} |
| {% if messages %} |
| {% for category, message in messages %} |
| <div class="alert alert-{{ 'success' if category == 'success' else 'danger' if category == 'error' else 'info' }} alert-dismissible fade show" role="alert"> |
| {{ message }} |
| <button type="button" class="btn-close" data-bs-dismiss="alert"></button> |
| </div> |
| {% endfor %} |
| {% endif %} |
| {% endwith %} |
| </div> |
|
|
| |
| <div id="loading-screen" class="loading-screen"> |
| <div class="loading-content"> |
| <h3 class="mb-4">Loading Galeri Angkatan...</h3> |
| <div id="slideshow" class="loading-slideshow"></div> |
| <div class="spinner-border text-light mt-4" role="status"> |
| <span class="visually-hidden">Loading...</span> |
| </div> |
| </div> |
| </div> |
|
|
| |
| <main class="container my-4"> |
| {% block content %}{% endblock %} |
| </main> |
|
|
| <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script> |
| <script src="{{ url_for('static', filename='js/main.js') }}"></script> |
| {% block scripts %}{% endblock %} |
| </body> |
| </html> |