Сделал светлую тему по умолчанию
This commit is contained in:
parent
05609de844
commit
7fde9fce1b
@ -1,18 +1,21 @@
|
|||||||
// Theme Switcher Script
|
// Theme Switcher Script
|
||||||
document.addEventListener('DOMContentLoaded', function() {
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
const themeToggle = document.getElementById('theme-toggle');
|
const themeToggle = document.getElementById('theme-toggle');
|
||||||
|
const mobileThemeToggle = document.getElementById('mobile-theme-toggle');
|
||||||
const themeCSS = document.getElementById('theme-css');
|
const themeCSS = document.getElementById('theme-css');
|
||||||
|
|
||||||
// Проверяем сохраненную тему в localStorage
|
// Проверяем сохраненную тему в localStorage
|
||||||
const savedTheme = localStorage.getItem('theme');
|
const savedTheme = localStorage.getItem('theme');
|
||||||
|
|
||||||
if (savedTheme === 'light') {
|
// Устанавливаем светлую тему по умолчанию
|
||||||
switchToLightTheme();
|
if (savedTheme === 'dark') {
|
||||||
} else {
|
|
||||||
switchToDarkTheme();
|
switchToDarkTheme();
|
||||||
|
} else {
|
||||||
|
switchToLightTheme(); // Светлая тема по умолчанию
|
||||||
}
|
}
|
||||||
|
|
||||||
// Обработчик переключения темы
|
// Обработчик переключения темы для десктопного переключателя
|
||||||
|
if (themeToggle) {
|
||||||
themeToggle.addEventListener('change', function() {
|
themeToggle.addEventListener('change', function() {
|
||||||
if (this.checked) {
|
if (this.checked) {
|
||||||
switchToLightTheme();
|
switchToLightTheme();
|
||||||
@ -20,23 +23,46 @@ document.addEventListener('DOMContentLoaded', function() {
|
|||||||
switchToDarkTheme();
|
switchToDarkTheme();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Обработчик переключения темы для мобильного переключателя
|
||||||
|
if (mobileThemeToggle) {
|
||||||
|
mobileThemeToggle.addEventListener('change', function() {
|
||||||
|
if (this.checked) {
|
||||||
|
switchToLightTheme();
|
||||||
|
} else {
|
||||||
|
switchToDarkTheme();
|
||||||
|
}
|
||||||
|
// Синхронизируем оба переключателя
|
||||||
|
if (themeToggle) {
|
||||||
|
themeToggle.checked = this.checked;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function switchToLightTheme() {
|
function switchToLightTheme() {
|
||||||
themeCSS.href = themeCSS.href.replace('styles_dark.css', 'styles_w.css');
|
themeCSS.href = themeCSS.href.replace('styles_dark.css', 'styles_w.css');
|
||||||
themeToggle.checked = true;
|
if (themeToggle) themeToggle.checked = true;
|
||||||
|
if (mobileThemeToggle) mobileThemeToggle.checked = true;
|
||||||
localStorage.setItem('theme', 'light');
|
localStorage.setItem('theme', 'light');
|
||||||
}
|
}
|
||||||
|
|
||||||
function switchToDarkTheme() {
|
function switchToDarkTheme() {
|
||||||
themeCSS.href = themeCSS.href.replace('styles_w.css', 'styles_dark.css');
|
themeCSS.href = themeCSS.href.replace('styles_w.css', 'styles_dark.css');
|
||||||
themeToggle.checked = false;
|
if (themeToggle) themeToggle.checked = false;
|
||||||
|
if (mobileThemeToggle) mobileThemeToggle.checked = false;
|
||||||
localStorage.setItem('theme', 'dark');
|
localStorage.setItem('theme', 'dark');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Синхронизация переключателей при загрузке
|
||||||
|
if (themeToggle && mobileThemeToggle) {
|
||||||
|
mobileThemeToggle.checked = themeToggle.checked;
|
||||||
|
}
|
||||||
|
|
||||||
// Обработка ошибок загрузки CSS
|
// Обработка ошибок загрузки CSS
|
||||||
themeCSS.onerror = function() {
|
themeCSS.onerror = function() {
|
||||||
console.error('Ошибка загрузки CSS файла темы');
|
console.error('Ошибка загрузки CSS файла темы');
|
||||||
// Восстанавливаем темную тему по умолчанию
|
// Восстанавливаем светлую тему по умолчанию при ошибке
|
||||||
themeCSS.href = '/static/programmer/css/styles_dark.css';
|
themeCSS.href = themeCSS.href.replace('styles_dark.css', 'styles_w.css');
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
@ -8,7 +8,7 @@
|
|||||||
{% bootstrap_css %}
|
{% bootstrap_css %}
|
||||||
|
|
||||||
<!-- Основной CSS файл (темная тема по умолчанию) -->
|
<!-- Основной CSS файл (темная тема по умолчанию) -->
|
||||||
<link type="text/css" href="{% static 'programmer/css/styles_dark.css' %}" rel="stylesheet" id="theme-css" />
|
<link type="text/css" href="{% static 'programmer/css/styles_w.css' %}" rel="stylesheet" id="theme-css" />
|
||||||
|
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||||
<link rel="shortcut icon" href="{% static 'programmer/images/main.ico' %}" type="image/x-icon">
|
<link rel="shortcut icon" href="{% static 'programmer/images/main.ico' %}" type="image/x-icon">
|
||||||
@ -367,7 +367,7 @@
|
|||||||
|
|
||||||
<!-- Theme Toggle Switch -->
|
<!-- Theme Toggle Switch -->
|
||||||
<div class="theme-switcher">
|
<div class="theme-switcher">
|
||||||
<input type="checkbox" id="theme-toggle" class="theme-toggle-checkbox">
|
<input type="checkbox" id="theme-toggle" class="theme-toggle-checkbox" checked>
|
||||||
<label for="theme-toggle" class="theme-toggle-label">
|
<label for="theme-toggle" class="theme-toggle-label">
|
||||||
<span class="theme-toggle-slider"></span>
|
<span class="theme-toggle-slider"></span>
|
||||||
<span class="theme-icon sun">☀️</span>
|
<span class="theme-icon sun">☀️</span>
|
||||||
@ -411,7 +411,7 @@
|
|||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
<div class="theme-switcher" style="justify-content: center;">
|
<div class="theme-switcher" style="justify-content: center;">
|
||||||
<input type="checkbox" id="mobile-theme-toggle" class="theme-toggle-checkbox">
|
<input type="checkbox" id="mobile-theme-toggle" class="theme-toggle-checkbox" checked>
|
||||||
<label for="mobile-theme-toggle" class="theme-toggle-label">
|
<label for="mobile-theme-toggle" class="theme-toggle-label">
|
||||||
<span class="theme-toggle-slider"></span>
|
<span class="theme-toggle-slider"></span>
|
||||||
<span class="theme-icon sun">☀️</span>
|
<span class="theme-icon sun">☀️</span>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user