Добавил один общий стиль для темной и светной темы

This commit is contained in:
NikDizell 2026-03-04 01:31:48 +03:00
parent 95ed1cf600
commit 4f096dbe3e
4 changed files with 840 additions and 224 deletions

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,6 @@
document.addEventListener('DOMContentLoaded', function() {
const themeToggle = document.getElementById('theme-toggle');
const mobileThemeToggle = document.getElementById('mobile-theme-toggle');
const themeCSS = document.getElementById('theme-css');
const themeCSS1C = document.getElementById('theme-css-1c');
// Проверяем сохраненную тему в localStorage
@ -42,16 +41,20 @@ document.addEventListener('DOMContentLoaded', function() {
}
function switchToLightTheme() {
themeCSS.href = themeCSS.href.replace('styles_dark.css', 'styles_w.css');
document.body.classList.remove('theme-dark');
if (themeCSS1C) {
themeCSS1C.href = themeCSS1C.href.replace('1c-dark.min.css', '1c-light.min.css');
}
if (themeToggle) themeToggle.checked = true;
if (mobileThemeToggle) mobileThemeToggle.checked = true;
localStorage.setItem('theme', 'light');
}
function switchToDarkTheme() {
themeCSS.href = themeCSS.href.replace('styles_w.css', 'styles_dark.css');
document.body.classList.add('theme-dark');
if (themeCSS1C) {
themeCSS1C.href = themeCSS1C.href.replace('1c-light.min.css', '1c-dark.min.css');
}
if (themeToggle) themeToggle.checked = false;
if (mobileThemeToggle) mobileThemeToggle.checked = false;
localStorage.setItem('theme', 'dark');
@ -66,7 +69,6 @@ document.addEventListener('DOMContentLoaded', function() {
themeCSS.onerror = function() {
console.error('Ошибка загрузки CSS файла темы');
// Восстанавливаем светлую тему по умолчанию при ошибке
themeCSS.href = themeCSS.href.replace('styles_dark.css', 'styles_w.css');
themeCSS1C.href = themeCSS1C.href.replace('1c-light.min.css', '1c-dark.min.css');
};
});

View File

@ -30,7 +30,7 @@
{% bootstrap_css %}
<!-- Основной CSS файл (темная тема по умолчанию) -->
<link type="text/css" href="{% static 'programmer/css/styles_w.css' %}" rel="stylesheet" id="theme-css" />
<link type="text/css" href="{% static 'programmer/css/styles.css' %}" rel="stylesheet" />
<!-- Тема Highlight.js -->
<!-- <link rel="stylesheet" href="{% static 'programmer/css/highlight-default.min.css' %}">-->
@ -677,7 +677,7 @@
<p>📱 {{ CONTACT_PHONE }}</p>
</div>
<div class="footer-copyright">
<p>&copy; 2025 ИП Сердюк Николай Александрович. Все права защищены.</p>
<p>&copy; 2026 ИП Сердюк Николай Александрович. Все права защищены.</p>
</div>
</div>
</div>
@ -705,29 +705,6 @@
<!-- <script src="{% static 'programmer/js/1c-enterprise.min.js' %}"></script>-->
{% endblock %}
<!-- В recall.html после основного контента -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Review",
"itemReviewed": {
"@type": "Service",
"name": "Услуги программиста 1С"
},
"author": {
"@type": "Organization",
"name": "ООО «РОВЕН-Регионы»"
},
"reviewRating": {
"@type": "Rating",
"ratingValue": "5",
"bestRating": "5"
},
"datePublished": "2025-11-13",
"description": "Выражаю благодарность программисту 1С Николаю Сердюк за профессиональную работу и качественное решение поставленных задач..."
}
</script>
<script>
document.addEventListener('DOMContentLoaded', function() {
const bottomConsent = document.getElementById('cookie-consent-bottom');

View File

@ -264,9 +264,12 @@ class ProfileEditView(LoginRequiredMixin, PageViewTrackingMixin, MenuContextMixi
return self.render_to_response(context)
class PrivacyPolicyView(TemplateView):
class PrivacyPolicyView(TemplateView, MenuContextMixin, BreadcrumbMixin):
template_name = 'programmer/privacy.html'
def get_breadcrumbs(self):
return [{'title': 'Политика конфиденциальности', 'url_name': None}]
@require_POST
def callback_request(request: HttpRequest) -> HttpResponse: