56 lines
No EOL
2.1 KiB
HTML
56 lines
No EOL
2.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en" data-theme="light">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{% block title %}Bullet Journal{% endblock %}</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
|
<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=Atkinson+Hyperlegible:wght@400;700&family=Lexend:wght@400;500;600;700&display=swap" rel="stylesheet">
|
|
</head>
|
|
<body>
|
|
<div class="page-surface">
|
|
<header class="page-header">
|
|
<h1 class="page-header__title">Bullet Journal</h1>
|
|
{% if current_user.is_authenticated %}
|
|
<nav class="header-nav">
|
|
<a href="{{ url_for('main.index') }}" class="btn btn-secondary btn-sm">Today</a>
|
|
<a href="{{ url_for('main.log_list') }}" class="btn btn-secondary btn-sm">All Logs</a>
|
|
<a href="{{ url_for('main.settings') }}" class="btn btn-secondary btn-sm">Settings</a>
|
|
<a href="{{ url_for('auth.logout') }}" class="btn btn-secondary btn-sm">Logout</a>
|
|
</nav>
|
|
{% endif %}
|
|
</header>
|
|
|
|
<main class="page-main">
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
|
|
{% if current_user.is_authenticated %}
|
|
<footer class="page-footer">
|
|
<a href="{{ url_for('main.index') }}" class="btn btn-secondary">Today</a>
|
|
<a href="{{ url_for('main.log_list') }}" class="btn btn-secondary">All Logs</a>
|
|
<a href="{{ url_for('main.export_logs') }}" class="btn btn-secondary">Export JSON</a>
|
|
<a href="{{ url_for('main.settings') }}" class="btn btn-secondary">Settings</a>
|
|
</footer>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<script>
|
|
// Theme toggle helper
|
|
function setTheme(theme) {
|
|
document.documentElement.setAttribute('data-theme', theme);
|
|
localStorage.setItem('theme', theme);
|
|
}
|
|
|
|
// Load saved theme or default to light
|
|
(function() {
|
|
const saved = localStorage.getItem('theme');
|
|
if (saved) {
|
|
setTheme(saved);
|
|
}
|
|
})();
|
|
</script>
|
|
</body>
|
|
</html> |