- Реализованы функции для закрепления и архивирования заметок, а также их восстановления. - Добавлены новые индексы в базу данных для улучшения производительности запросов. - Внедрено логирование действий пользователей, включая регистрацию, вход, создание, обновление и удаление заметок. - Обновлены интерфейсы для поддержки новых функций, включая кнопки для архивирования и закрепления заметок. - Оптимизированы стили и добавлены новые элементы управления для улучшения пользовательского опыта.
158 lines
5.9 KiB
HTML
158 lines
5.9 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="/profile" class="back-btn">
|
||
<span class="iconify" data-icon="mdi:account"></span> Профиль
|
||
</a>
|
||
<a href="/notes" class="back-btn">
|
||
<span class="iconify" data-icon="mdi:note-text"></span> К заметкам
|
||
</a>
|
||
</div>
|
||
</header>
|
||
|
||
<!-- Табы навигации -->
|
||
<div class="settings-tabs">
|
||
<button class="settings-tab active" 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="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 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>
|
||
|
||
|