various: simplify code; work on security and performance

Signed-off-by: NotAShelf <raf@notashelf.dev>
Change-Id: I9a5114addcab5fbff430ab2b919b83466a6a6964
This commit is contained in:
raf 2026-02-02 17:32:11 +03:00
commit c4adc4e3e0
Signed by: NotAShelf
GPG key ID: 29D95B64378DB4BF
75 changed files with 12921 additions and 358 deletions

View file

@ -81,6 +81,15 @@ body {
.sidebar.collapsed .nav-item { justify-content: center; padding: 8px; border-left: none; }
.sidebar.collapsed .nav-icon { width: auto; margin: 0; }
/* Nav item text - hide when collapsed */
.nav-item-text {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.sidebar.collapsed .nav-item-text { display: none; }
.sidebar-toggle {
background: none;
border: none;
@ -1550,6 +1559,34 @@ ul li { padding: 3px 0; font-size: 12px; color: var(--text-1); }
transition: width 0.3s ease;
}
.progress-fill.indeterminate {
width: 30%;
animation: indeterminate 1.5s ease-in-out infinite;
}
@keyframes indeterminate {
0% { transform: translateX(-100%); }
100% { transform: translateX(400%); }
}
/* ── Import status panel ── */
.import-status-panel {
background: var(--bg-2);
border: 1px solid var(--accent);
border-radius: var(--radius);
padding: 12px 16px;
margin-bottom: 16px;
}
.import-status-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
font-size: 13px;
color: var(--text-0);
}
/* ── Tag confirmation ── */
.tag-confirm-delete {
display: inline-flex;
@ -2336,14 +2373,26 @@ ul li { padding: 3px 0; font-size: 12px; color: var(--text-1); }
align-items: center;
gap: 6px;
font-size: 12px;
flex-wrap: wrap;
overflow: hidden;
min-width: 0;
}
.user-name {
font-weight: 500;
color: var(--text-0);
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
max-width: 90px;
flex-shrink: 1;
}
/* Hide user details in collapsed sidebar, show only logout icon */
.sidebar.collapsed .user-info .user-name,
.sidebar.collapsed .user-info .role-badge { display: none; }
.sidebar.collapsed .user-info .btn { padding: 6px; }
.role-badge {
display: inline-block;
padding: 1px 6px;