47 lines
1.8 KiB
HTML
47 lines
1.8 KiB
HTML
{% load static %}
|
|
<!DOCTYPE html>
|
|
<html lang="ru" data-bs-theme="dark">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>{% block title %}ShiftFlow MES{% endblock %}</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.1/font/bootstrap-icons.css">
|
|
<link rel="stylesheet" href="{% static 'css/style.css' %}">
|
|
</head>
|
|
<body class="d-flex flex-column min-vh-100">
|
|
|
|
{% if user.is_authenticated %}
|
|
{% include 'components/_navbar.html' %}
|
|
{% endif %}
|
|
|
|
<main class="container-fluid py-3 flex-grow-1 d-flex flex-column">
|
|
{% block content %}{% endblock %}
|
|
</main>
|
|
|
|
{% if user.is_authenticated %}
|
|
{% include 'components/_footer.html' %}
|
|
{% endif %}
|
|
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bundle.min.js"></script>
|
|
<script>
|
|
function updateThemeIcon(theme) {
|
|
const icon = document.getElementById('theme-icon');
|
|
if (icon) icon.className = theme === 'dark' ? 'bi bi-brightness-high-fill' : 'bi bi-moon-stars-fill';
|
|
}
|
|
function toggleTheme() {
|
|
const html = document.documentElement;
|
|
const newTheme = html.getAttribute('data-bs-theme') === 'dark' ? 'light' : 'dark';
|
|
html.setAttribute('data-bs-theme', newTheme);
|
|
localStorage.setItem('theme', newTheme);
|
|
updateThemeIcon(newTheme);
|
|
}
|
|
document.addEventListener('DOMContentLoaded', () => {
|
|
const savedTheme = localStorage.getItem('theme') || 'dark';
|
|
document.documentElement.setAttribute('data-bs-theme', savedTheme);
|
|
updateThemeIcon(savedTheme);
|
|
});
|
|
</script>
|
|
</body>
|
|
|
|
</html> |