- Реализована возможность предпросмотра заметок с поддержкой Markdown и кликабельных тегов. - Добавлены кнопки для переключения между режимами редактирования и предпросмотра. - Обновлены стили для контейнера предпросмотра и элементов управления. - Оптимизированы обработчики событий для новых функций предпросмотра.
222 lines
8.0 KiB
HTML
222 lines
8.0 KiB
HTML
<!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">×</span>
|
||
<img class="image-modal-content" id="modalImage" loading="lazy" />
|
||
</div>
|
||
|
||
<script src="/settings.js"></script>
|
||
<script src="/pwa.js"></script>
|
||
</body>
|
||
</html>
|