NoteJS/public/settings.html
Fovway 5b76167c3d Добавлены функции предпросмотра заметок и улучшены стили интерфейса
- Реализована возможность предпросмотра заметок с поддержкой Markdown и кликабельных тегов.
- Добавлены кнопки для переключения между режимами редактирования и предпросмотра.
- Обновлены стили для контейнера предпросмотра и элементов управления.
- Оптимизированы обработчики событий для новых функций предпросмотра.
2025-10-24 13:01:20 +07:00

222 lines
8.0 KiB
HTML
Raw 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.

<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"
/>
<title>Настройки - NoteJS</title>
<!-- PWA Meta Tags -->
<meta
name="description"
content="NoteJS - современная система заметок с поддержкой Markdown, изображений, тегов и календаря"
/>
<meta name="theme-color" content="#007bff" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="default" />
<meta name="apple-mobile-web-app-title" content="NoteJS" />
<meta name="msapplication-TileColor" content="#007bff" />
<!-- Icons -->
<link rel="icon" type="image/svg+xml" href="/icon.svg" />
<link
rel="icon"
type="image/png"
sizes="32x32"
href="/icons/icon-32x32.png"
/>
<link
rel="icon"
type="image/png"
sizes="16x16"
href="/icons/icon-16x16.png"
/>
<link
rel="apple-touch-icon"
sizes="180x180"
href="/icons/icon-192x192.png"
/>
<link rel="mask-icon" href="/icon.svg" color="#007bff" />
<!-- Manifest -->
<link rel="manifest" href="/manifest.json" />
<!-- Styles -->
<link rel="stylesheet" href="/style.css?v=5" />
<!-- Scripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/iconify/2.0.0/iconify.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/11.1.0/marked.min.js"></script>
</head>
<body>
<div class="container">
<header class="notes-header">
<span><span class="iconify" data-icon="mdi:cog"></span> Настройки</span>
<div class="user-info">
<a href="/notes" class="back-btn">
<span class="iconify" data-icon="mdi:note-text"></span> К заметкам
</a>
<a href="/profile" class="back-btn">
<span class="iconify" data-icon="mdi:account"></span> Профиль
</a>
</div>
</header>
<!-- Табы навигации -->
<div class="settings-tabs">
<button class="settings-tab active" data-tab="appearance">
<span class="iconify" data-icon="mdi:palette"></span> Внешний вид
</button>
<button class="settings-tab" data-tab="archive">
<span class="iconify" data-icon="mdi:archive"></span> Архив заметок
</button>
<button class="settings-tab" data-tab="logs">
<span class="iconify" data-icon="mdi:history"></span> История действий
</button>
</div>
<!-- Контент табов -->
<div class="settings-content">
<!-- Внешний вид -->
<div class="tab-content active" id="appearance-tab">
<h3>Внешний вид</h3>
<div class="form-group">
<label for="settings-accentColor">Цветовой акцент</label>
<div class="accent-color-picker">
<div
class="color-option"
data-color="#007bff"
style="background-color: #007bff"
title="Синий"
></div>
<div
class="color-option"
data-color="#28a745"
style="background-color: #28a745"
title="Зеленый"
></div>
<div
class="color-option"
data-color="#dc3545"
style="background-color: #dc3545"
title="Красный"
></div>
<div
class="color-option"
data-color="#fd7e14"
style="background-color: #fd7e14"
title="Оранжевый"
></div>
<div
class="color-option"
data-color="#6f42c1"
style="background-color: #6f42c1"
title="Фиолетовый"
></div>
<div
class="color-option"
data-color="#e83e8c"
style="background-color: #e83e8c"
title="Розовый"
></div>
</div>
<input
type="color"
id="settings-accentColor"
value="#007bff"
style="margin-top: 10px"
/>
</div>
<button id="updateAppearanceBtn" class="btnSave">
Сохранить изменения
</button>
</div>
<!-- Архив заметок -->
<div class="tab-content" id="archive-tab">
<h3>Архивные заметки</h3>
<p style="color: #666; font-size: 14px; margin-bottom: 20px">
Архивированные заметки можно восстановить или удалить окончательно
</p>
<div id="archived-notes-container" class="archived-notes-list">
<!-- Заметки будут загружены динамически -->
</div>
</div>
<!-- История действий -->
<div class="tab-content" id="logs-tab">
<h3>История действий</h3>
<!-- Фильтры -->
<div class="logs-filters">
<select id="logTypeFilter" class="log-filter-select">
<option value="">Все действия</option>
<option value="login">Вход</option>
<option value="logout">Выход</option>
<option value="register">Регистрация</option>
<option value="note_create">Создание заметки</option>
<option value="note_update">Редактирование заметки</option>
<option value="note_delete">Удаление заметки</option>
<option value="note_pin">Закрепление</option>
<option value="note_archive">Архивирование</option>
<option value="note_unarchive">Восстановление</option>
<option value="note_delete_permanent">
Окончательное удаление
</option>
<option value="profile_update">Обновление профиля</option>
</select>
<button id="refreshLogs" class="btnSave">
<span class="iconify" data-icon="mdi:refresh"></span> Обновить
</button>
</div>
<!-- Таблица логов -->
<div class="logs-table-container">
<table class="logs-table">
<thead>
<tr>
<th>Дата и время</th>
<th>Действие</th>
<th>Детали</th>
<th>IP-адрес</th>
</tr>
</thead>
<tbody id="logsTableBody">
<!-- Логи будут загружены динамически -->
</tbody>
</table>
</div>
<div
id="logsLoadMore"
class="load-more-container"
style="display: none"
>
<button id="loadMoreLogsBtn" class="btnSave">Загрузить еще</button>
</div>
</div>
</div>
</div>
<div id="settings-message-container" class="message-container"></div>
<div class="footer">
<p>Создатель: <span>Fovway</span></p>
</div>
<!-- Модальное окно для просмотра изображений -->
<div id="imageModal" class="image-modal">
<span class="image-modal-close">&times;</span>
<img class="image-modal-content" id="modalImage" loading="lazy" />
</div>
<script src="/settings.js"></script>
<script src="/pwa.js"></script>
</body>
</html>