/
kev
/
Nextcloud_File-Changes-Tracker
Обзор
Документация
Войти
/
kev
/
Nextcloud_File-Changes-Tracker
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
templates/main.php
155 строк
8 KB
Evgeny Konovalov
first_commit
16 фев 2026, 17:45
16 фев 2026, 17:45
476f06c
Код
Авторство
О чём код?
<?php /** * Главная страница приложения File Changes Tracker */ script('file_changes_tracker', 'file_changes_tracker-main'); style('file_changes_tracker', 'main'); ?> <div id="app-file-changes-tracker"> <div id="app-navigation"> <ul> <li> <a href="#" data-section="events" class="nav-link active"> <span class="icon-history"></span> <span><?php p($l->t('Журнал событий')); ?></span> </a> </li> <li> <a href="#" data-section="statistics" class="nav-link"> <span class="icon-category-monitoring"></span> <span><?php p($l->t('Статистика')); ?></span> </a> </li> </ul> <div class="navigation-hint"> <p style="padding: 15px; margin: 15px 10px; background: var(--color-background-hover); border-radius: 8px; font-size: 13px; color: var(--color-text-maxcontrast);"> <span class="icon-info" style="display: inline-block; vertical-align: middle;"></span> <?php p($l->t('Для настройки отслеживаемых папок перейдите в Параметры → Отслеживание файлов')); ?> </p> </div> </div> <div id="app-content"> <div id="app-content-wrapper"> <!-- Секция журнала событий --> <div id="section-events" class="content-section active"> <div class="section-header"> <h2><?php p($l->t('Журнал событий')); ?></h2> <div class="header-actions"> <button id="btn-export-events" class="button"> <span class="icon-download"></span> <?php p($l->t('Экспорт')); ?> </button> </div> </div> <!-- Панель фильтров (всегда видна) --> <div id="filters-panel" class="filters-panel-static"> <div class="filters-row"> <div class="filter-group"> <label><?php p($l->t('Тип события')); ?></label> <select id="filter-event-type" class="filter-input"> <option value=""><?php p($l->t('Все типы')); ?></option> <option value="created"><?php p($l->t('Создание')); ?></option> <option value="modified"><?php p($l->t('Изменение')); ?></option> <option value="deleted"><?php p($l->t('Удаление')); ?></option> <option value="renamed"><?php p($l->t('Переименование')); ?></option> </select> </div> <div class="filter-group"> <label><?php p($l->t('Дата с')); ?></label> <input type="date" id="filter-date-from" class="filter-input"> </div> <div class="filter-group"> <label><?php p($l->t('Дата по')); ?></label> <input type="date" id="filter-date-to" class="filter-input"> </div> </div> <div class="filters-row"> <div class="filter-group"> <label><?php p($l->t('Папка')); ?></label> <div class="picker-group"> <input type="text" id="filter-path" class="filter-input" readonly placeholder="<?php p($l->t('Все папки')); ?>"> <button type="button" id="btn-pick-folder-filter" class="button"> <span class="icon-folder"></span> <?php p($l->t('Выбрать')); ?> </button> </div> </div> <div class="filter-group"> <label><?php p($l->t('Пользователь')); ?></label> <div class="picker-group"> <input type="text" id="filter-user-display" class="filter-input" readonly placeholder="<?php p($l->t('Все пользователи')); ?>"> <input type="hidden" id="filter-user"> <button type="button" id="btn-pick-user-filter" class="button"> <span class="icon-user"></span> <?php p($l->t('Выбрать')); ?> </button> </div> </div> <div class="filter-actions-inline"> <button id="btn-apply-filters" class="button primary"> <span class="icon-checkmark"></span> <?php p($l->t('Применить')); ?> </button> <button id="btn-reset-filters" class="button"> <span class="icon-close"></span> <?php p($l->t('Сбросить')); ?> </button> </div> </div> </div> <div id="events-list" class="events-container"> <div class="loading-indicator"> <span class="icon-loading"></span> <p><?php p($l->t('Загрузка...')); ?></p> </div> </div> <div id="events-pagination" class="pagination"></div> </div> <!-- Секция статистики --> <div id="section-statistics" class="content-section"> <div class="section-header"> <h2><?php p($l->t('Статистика')); ?></h2> </div> <div id="statistics-container" class="statistics-container"> <div class="loading-indicator"> <span class="icon-loading"></span> <p><?php p($l->t('Загрузка...')); ?></p> </div> </div> </div> </div> </div> </div> <!-- Модальное окно выбора пользователя для фильтра --> <div id="user-filter-modal" class="folder-modal" style="display: none;"> <div class="modal-content"> <div class="modal-header"> <h3><?php p($l->t('Выбор пользователя')); ?></h3> <button class="modal-close-user-filter icon-close"></button> </div> <div class="modal-body"> <div class="search-box"> <input type="text" id="user-filter-search" placeholder="<?php p($l->t('Поиск пользователя...')); ?>" autocomplete="off"> </div> <div id="user-filter-list" class="responsible-list"> <div class="hint-text"><?php p($l->t('Начните вводить для поиска...')); ?></div> </div> </div> </div> </div>