feat: Заменить рендеринг бейджей сообщества на компонент CommunityBadge в менеджерах ASNs, Domains и IPRanges, улучшив читаемость кода и унифицировав отображение. Добавить возможность скачивания шаблонов CSV для пустых состояний в этих менеджерах, улучшая пользовательский опыт. Обновить модальные окна подтверждения удаления для более удобного взаимодействия с пользователем.
Publish Fast Tabler Docker image / build-and-push-fast (push) Successful in 1m52s

This commit is contained in:
2025-08-27 19:48:58 +07:00
parent ac0cbc8c31
commit 730017405c
8 changed files with 171 additions and 174 deletions
+52 -1
View File
@@ -2,4 +2,55 @@
/* Sticky footer helpers */
.page { min-height: 100vh; display: flex; flex-direction: column; }
.footer { margin-top: auto; }
.footer { margin-top: auto; }
/* ===== Tabler visual consistency (global overrides) ===== */
:root {
--app-gap-xs: .25rem;
--app-gap-sm: .5rem;
--app-gap-md: .75rem;
--app-gap-lg: 1rem;
}
/* Header actions under page header */
.page-header .header-actions {
display: flex;
flex-wrap: wrap;
gap: var(--app-gap-sm);
}
.page-header .header-actions .btn-group { margin-right: var(--app-gap-sm); }
.page-header .vr { margin: 0 var(--app-gap-sm); }
/* Buttons: icon spacing left */
.btn .icon { margin-right: .375rem; }
.btn.btn-icon .icon { margin-right: 0; }
/* Tables: remove hover background for rows (as per project preference) */
.table tbody tr:hover { background-color: transparent; }
/* Центровка контента ячеек и компактный вид */
.table.card-table th, .table.card-table td { vertical-align: middle; }
/* Compact card spacing */
.card.card-md { margin-bottom: var(--app-gap-lg); }
/* Utilities used in components */
.cursor-pointer { cursor: pointer; }
.border-dashed { border: 2px dashed rgba(0,0,0,.08); }
.transition { transition: all .2s ease; }
.rotate-180 { transform: rotate(180deg); }
/* Input icon alignment tweaks */
.input-icon .input-icon-addon { display: flex; align-items: center; }
/* Modal close button click area */
.modal .btn-close { position: absolute; right: .75rem; top: .75rem; }
/* Фильтры: удобная ширина селектов */
.form-select.w-auto { min-width: 180px; }
/* Икон-кнопки одинакового размера */
.btn.btn-icon.btn-sm { width: 2rem; height: 2rem; display: inline-flex; align-items: center; justify-content: center; }
/* Отступы между бейджами и в empty-action */
.badge + .badge { margin-left: .25rem; }
.empty .empty-action .btn + .btn { margin-left: .5rem; }