Corp/backend/templates/notifications/notification_settings.html
Игорь Надеин 8363cbd541 feat: Complete CSS to SCSS migration (100%)
- Migrated all 28 CSS components to SCSS architecture
- Deleted 29 source CSS files (kept only compiled app.css & bootstrap-custom.css)
- Created 30 SCSS component modules in scss/components/
- Cleaned 24 templates from duplicate CSS links
- Updated main.scss with new imports (layout-spacing, spacing-utils, rightbar-calendar)
- Filled empty _navbar.scss with content
- Refactored css/ folder: removed obsolete files, updated README.md
- Created comprehensive documentation (migration complete, quick reference, reports)

Migration Statistics:
- Components migrated: 28 (~4,768 lines SCSS)
- CSS files deleted: 29
- Templates cleaned: 24
- app.css size: 95 KB (compiled from SCSS)
- bootstrap-custom.css: 301 KB
- Total: 396 KB

Phase 6 Complete: 100% SCSS architecture achieved ✅
2026-01-15 13:48:11 +03:00

145 lines
7.5 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{% extends "base.html" %}
{% load static %}
{% block title %}Настройки уведомлений{% endblock %}
{% block extra_css %}
<style>
.settings-icon {
width: 48px;
height: 48px;
border-radius: 50%;
background: linear-gradient(135deg, var(--bs-primary) 0%, var(--bs-info) 100%);
display: flex;
align-items: center;
justify-content: center;
color: white;
font-size: 1.5rem;
}
.form-check-input:disabled ~ .form-check-label {
opacity: 0.5;
}
</style>
{% endblock %}
{% block content %}
<div class="container-fluid py-4">
<div class="row">
<div class="col-12">
<div class="d-flex justify-content-between align-items-center mb-4">
<h2><i class="bi-gear"></i> Настройки уведомлений</h2>
<a href="{% url 'notifications:list' %}" class="btn btn-outline-secondary">
<i class="bi-arrow-left"></i> К уведомлениям
</a>
</div>
<!-- Общие настройки -->
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0"><i class="bi-sliders"></i> Общие настройки</h5>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<div class="form-check form-switch mb-3">
<input class="form-check-input" type="checkbox" id="soundToggle" checked>
<label class="form-check-label" for="soundToggle">
<i class="bi-volume-up"></i> <strong>Звуковые уведомления</strong>
<small class="d-block text-muted">Воспроизводить звук при получении уведомления</small>
</label>
</div>
</div>
<div class="col-md-6">
<div class="alert alert-info mb-0">
<i class="bi-info-circle"></i>
<strong>Браузерные уведомления</strong> уже включены для вашего браузера.
Разрешите уведомления в настройках браузера, если они не работают.
</div>
</div>
</div>
</div>
</div>
<!-- Telegram привязка -->
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0"><i class="bi-telegram"></i> Telegram бот</h5>
</div>
<div class="card-body">
<div id="telegramLinkContainer">
<div class="text-center py-3">
<div class="spinner-border spinner-border-sm text-primary" role="status">
<span class="visually-hidden">Загрузка...</span>
</div>
</div>
</div>
</div>
</div>
<!-- Настройки по категориям -->
<div class="card">
<div class="card-header">
<h5 class="mb-0"><i class="bi-list-check"></i> Настройки по категориям</h5>
</div>
<div class="card-body">
<div id="settingsContainer">
<div class="text-center py-5">
<div class="spinner-border text-primary" role="status">
<span class="visually-hidden">Загрузка...</span>
</div>
</div>
</div>
</div>
</div>
<!-- Информация -->
<div class="card mt-4">
<div class="card-body">
<h6 class="mb-3"><i class="bi-question-circle"></i> Справка</h6>
<dl class="row mb-0">
<dt class="col-sm-3">Веб-уведомления</dt>
<dd class="col-sm-9">Отображаются в интерфейсе системы, в колокольчике и списке уведомлений</dd>
<dt class="col-sm-3">Email</dt>
<dd class="col-sm-9">
Отправка уведомлений на вашу почту. Для включения отметьте чекбокс, затем выберите режим:
<ul class="mb-0 mt-1">
<li><strong>Мгновенно</strong> - каждое уведомление отправляется сразу</li>
<li><strong>Ежедневный дайджест</strong> - все уведомления за день в одном письме</li>
<li><strong>Еженедельный дайджест</strong> - все уведомления за неделю в одном письме</li>
</ul>
<small class="text-muted">Чтобы отключить email, снимите галочку с "Email уведомления"</small>
</dd>
<dt class="col-sm-3">Telegram</dt>
<dd class="col-sm-9">
Мгновенные уведомления в Telegram бот. Для настройки:
<ol class="mb-0 mt-1">
<li>Узнайте ваш Chat ID через бота <a href="https://t.me/userinfobot" target="_blank">@userinfobot</a></li>
<li>Добавьте Chat ID в поле "Telegram" в вашем профиле</li>
<li>Отправьте <code>/start</code> нашему боту <code>@{{ telegram_bot_username|default:"eusrr_bot" }}</code></li>
<li>Включите галочку "Telegram" для нужных категорий</li>
</ol>
<small class="text-muted">Подробная инструкция в разделе "Telegram бот" выше</small>
</dd>
<dt class="col-sm-3">Браузерные уведомления</dt>
<dd class="col-sm-9 mb-0">Всплывающие уведомления операционной системы. Управляются в настройках вашего браузера.</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
{% csrf_token %}
{% endblock %}
{% block extra_js %}
<script>
// Передаем имя бота в JavaScript
window.TELEGRAM_BOT_USERNAME = '{{ telegram_bot_username|default:"eusrr_bot" }}';
</script>
<script src="{% static 'js/notifications/notification-settings.js' %}"></script>
{% endblock %}