markdownViewer/app/templates/base.html
2025-03-22 02:33:26 +01:00

152 lines
No EOL
4.1 KiB
HTML

<!DOCTYPE html>
<html>
<head>
{% block head %}
<title>Histogram Viewer</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/digitallytailored/classless@latest/classless.min.css">
<link rel="stylesheet" href="https://esm.sh/@wooorm/starry-night@3/style/both">
<style>
:root {
/* --background-color: #1a1a1a; */
--text-color: #ffffff;
--border-color: #ffffff;
--red: #ff0000;
--green: #00ff00;
--blue: #0000ff;
--yellow: #ffff00;
--purple: #800080;
--orange: #ffa500;
--gray: #808080;
}
nav {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem;
background-color: var(--background-color);
}
.nav-left {
display: flex;
align-items: center;
gap: 1rem;
}
.nav-right {
display: flex;
align-items: center;
gap: 1rem;
margin-left: auto;
}
.nav-right button {
margin-left: auto;
}
.card {
padding: 1rem;
border-radius: 0.5rem;
background-color: var(--background-color);
color: var(--text-color);
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.1);
border-radius: 1rem;
}
.card:hover {
box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
}
.card-title {
text-decoration: none;
color: var(--text-color);
}
.card-title:hover {
text-decoration: underline;
}
.delete-button {
position: relative;
float: right;
margin: 0;
padding: 0.25rem 0.5rem;
font-size: 0.8rem;
background-color: var(--red);
color: var(--text-color);
border: none;
border-radius: 0.5rem;
cursor: pointer;
}
.upload_button {
position: relative;
float: right;
margin: 0;
padding: 0.25rem 0.5rem;
border: 1px solid var(--border-color);
border-radius: 0.5rem;
cursor: pointer;
max-width: 8rem;
}
.container {
display: flex;
flex-direction: column;
gap: 1rem;
max-width: 65%;
margin: 0 auto;
}
</style>
{% endblock %}
<script>
document.addEventListener('DOMContentLoaded', function () {
// Dark mode toggle button
const darkModeToggle = document.getElementById('darkModeToggle');
function setColorScheme(scheme) {
document.documentElement.setAttribute('color-scheme', scheme);
localStorage.setItem('color-scheme', scheme);
}
function getColorScheme() {
let scheme = localStorage.getItem('color-scheme');
if (scheme) {
return scheme;
}
return window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
}
setColorScheme(getColorScheme());
darkModeToggle.addEventListener('click', function () {
const newScheme = getColorScheme() === 'dark' ? 'light' : 'dark';
setColorScheme(newScheme);
});
darkModeToggle.checked = getColorScheme() === 'dark';
});
</script>
</head>
<nav style="justify-content: baseline;">
<button class="nav-left"><a href="{{ url_for('main.index') }}">Home</a></button>
<div class="nav-right">
<a href="{{ url_for('main.upload_file') }}" class="button">Add New</a>
</div>
<button class="outline nav-right" id="darkModeToggle">Toggle Theme</button>
<div class="nav-right">
{% block nav %}
{% endblock %}
</div>
</nav>
<body>
<div class="container">
{% block content %}
{% endblock %}
</div>
</body>
</html>