base.html 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>{% block title %}Dewy Oracle{% endblock %}</title>
  7. <link rel="stylesheet" href="/static/css/style.css">
  8. {% block extra_head %}{% endblock %}
  9. </head>
  10. <body>
  11. {% if user %}
  12. <div class="app-container">
  13. <!-- Sidebar Navigation -->
  14. <aside class="sidebar">
  15. <div class="sidebar-header">
  16. <a href="/" class="sidebar-logo">
  17. <img src="/static/img/logo.svg" alt="Dewy Oracle Logo">
  18. <span>Dewy Oracle</span>
  19. </a>
  20. </div>
  21. <nav class="sidebar-nav">
  22. <ul>
  23. <li>
  24. <a href="/" class="{% if request.path == '/' %}active{% endif %}">
  25. <span>📚</span>
  26. <span>Dashboard</span>
  27. </a>
  28. </li>
  29. <li>
  30. <a href="/reading-log" class="{% if request.path == '/reading-log' %}active{% endif %}">
  31. <span>📊</span>
  32. <span>Reading Log</span>
  33. </a>
  34. </li>
  35. {% if user.is_admin %}
  36. <li>
  37. <a href="/admin" class="{% if request.path == '/admin' %}active{% endif %}">
  38. <span>⚙️</span>
  39. <span>Admin</span>
  40. </a>
  41. </li>
  42. {% endif %}
  43. </ul>
  44. </nav>
  45. <div class="sidebar-user">
  46. <div class="sidebar-user-info">
  47. <div class="user-avatar">{{ user.display_name[0]|upper if user.display_name else user.username[0]|upper }}</div>
  48. <div class="user-name">{{ user.display_name or user.username }}</div>
  49. </div>
  50. <button onclick="logout()" class="btn btn-secondary btn-full btn-small">Logout</button>
  51. </div>
  52. </aside>
  53. <!-- Main Content -->
  54. <main class="main-content">
  55. <div class="content-header">
  56. {% block header %}{% endblock %}
  57. </div>
  58. {% block content %}{% endblock %}
  59. </main>
  60. </div>
  61. {% endif %}
  62. <script src="/static/js/app.js"></script>
  63. {% block extra_scripts %}{% endblock %}
  64. </body>
  65. </html>