refactor: slice web app wip

This commit is contained in:
3252a8
2026-05-11 21:41:31 +03:00
parent 7d8bbbc904
commit ed6b214b29
48 changed files with 5367 additions and 4106 deletions
@@ -0,0 +1,277 @@
.admin-toolbar-search .input,
.admin-toolbar-search .admin-btn {
height: 36px;
}
.admin-toolbar > .input,
.admin-toolbar input[type="text"],
.admin-toolbar input[type="number"],
.admin-toolbar input[type="search"] {
flex: 1 1 200px;
min-width: 180px;
}
.admin-toolbar > .admin-btn {
height: 36px;
}
.admin-table td.admin-cell-actions .admin-btn {
margin-left: 4px;
}
.admin-screen-wrap input,
.admin-screen-wrap textarea,
.admin-screen-wrap select,
.admin-screen-wrap .input,
.admin-dialog input,
.admin-dialog textarea,
.admin-dialog select,
.admin-dialog .input {
min-width: 0;
max-width: 100%;
}
.admin-screen-wrap .input,
.admin-screen-wrap input[type="text"],
.admin-screen-wrap input[type="number"],
.admin-screen-wrap input[type="email"],
.admin-screen-wrap input[type="search"],
.admin-screen-wrap input[type="password"],
.admin-screen-wrap input[type="url"],
.admin-screen-wrap select,
.admin-dialog .input,
.admin-dialog input[type="text"],
.admin-dialog input[type="number"],
.admin-dialog input[type="email"],
.admin-dialog input[type="search"],
.admin-dialog input[type="password"],
.admin-dialog input[type="url"],
.admin-dialog select {
height: 36px;
border-radius: 8px;
border: 1px solid var(--admin-border-strong);
background: var(--admin-bg);
color: var(--admin-text);
padding: 0 12px;
font-size: 13px;
outline: none;
transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.admin-screen-wrap .input::placeholder,
.admin-screen-wrap input::placeholder,
.admin-screen-wrap textarea::placeholder,
.admin-dialog .input::placeholder,
.admin-dialog input::placeholder,
.admin-dialog textarea::placeholder {
color: var(--admin-dim);
}
.admin-screen-wrap .input:focus,
.admin-screen-wrap input:focus,
.admin-screen-wrap select:focus,
.admin-dialog .input:focus,
.admin-dialog input:focus,
.admin-dialog select:focus {
border-color: var(--admin-ring);
box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);
}
.admin-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 6px;
height: 34px;
padding: 0 14px;
border-radius: 8px;
border: 1px solid var(--admin-border);
background: var(--admin-surface-2);
color: var(--admin-text);
font-size: 13px;
font-weight: 500;
cursor: pointer;
white-space: nowrap;
transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.admin-btn:hover:not(:disabled) {
background: var(--admin-elev);
}
.admin-btn:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.admin-btn.admin-btn-primary {
background: var(--accent);
color: #02110a;
border-color: color-mix(in srgb, var(--accent) 70%, #000);
font-weight: 600;
}
.admin-btn.admin-btn-primary:hover:not(:disabled) {
background: color-mix(in srgb, var(--accent) 90%, #fff);
}
.admin-btn.admin-btn-ghost {
background: transparent;
border-color: transparent;
color: var(--admin-muted);
}
.admin-btn.admin-btn-ghost:hover:not(:disabled) {
background: var(--admin-surface-2);
color: var(--admin-text);
}
.admin-btn.admin-btn-danger {
background: color-mix(in srgb, #ff5757 80%, #000);
color: #fff;
border-color: color-mix(in srgb, #ff5757 60%, #000);
font-weight: 600;
}
.admin-btn.admin-btn-danger:hover:not(:disabled) {
background: #ff5757;
border-color: #ff5757;
}
.admin-btn.admin-btn-danger-soft {
color: #ffb4b4;
background: var(--admin-surface-2);
border-color: color-mix(in srgb, #ff6b6b 30%, transparent);
}
.admin-btn.admin-btn-danger-soft:hover:not(:disabled) {
background: color-mix(in srgb, #ff6b6b 14%, var(--admin-surface));
border-color: color-mix(in srgb, #ff6b6b 50%, transparent);
}
.admin-btn.admin-btn-icon {
width: 34px;
padding: 0;
}
.admin-btn.admin-btn-sm {
height: 28px;
padding: 0 10px;
font-size: 12px;
border-radius: 6px;
}
.admin-badge {
display: inline-flex;
align-items: center;
gap: 4px;
font-size: 11px;
font-weight: 600;
padding: 2px 8px;
border-radius: 999px;
border: 1px solid var(--admin-border);
background: var(--admin-surface-2);
color: var(--admin-muted);
white-space: nowrap;
}
.admin-badge.admin-badge-success {
border-color: color-mix(in srgb, var(--accent) 36%, transparent);
color: var(--accent);
background: color-mix(in srgb, var(--accent) 12%, var(--admin-surface));
}
.admin-badge.admin-badge-danger {
border-color: color-mix(in srgb, #ff6b6b 32%, transparent);
color: #ffb4b4;
background: color-mix(in srgb, #ff6b6b 12%, var(--admin-surface));
}
.admin-badge.admin-badge-warning {
border-color: color-mix(in srgb, #ffd166 32%, transparent);
color: #ffd166;
background: color-mix(in srgb, #ffd166 12%, var(--admin-surface));
}
.admin-badge.admin-badge-muted {
color: var(--admin-muted);
}
.admin-setting-control .input,
.admin-setting-control input[type="text"],
.admin-setting-control input[type="number"] {
flex: 1 1 160px;
min-width: 0;
width: 100%;
}
.admin-btn.admin-btn-icon {
width: 30px;
height: 30px;
padding: 0;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
}
.admin-row-editor-line .admin-btn {
width: 32px;
padding: 0;
}
.admin-action-grid > .admin-btn {
width: 100%;
height: 36px;
align-self: end;
}
.admin-extend-control .input {
height: 100%;
min-height: 0;
border: 0;
border-radius: 0;
background: transparent;
padding: 0 12px;
line-height: 34px;
box-shadow: none;
}
.admin-extend-control .input:focus {
box-shadow: none;
}
.admin-extend-control .admin-btn {
display: inline-flex;
align-items: center;
justify-content: center;
height: 100%;
min-height: 0;
padding: 0 12px;
border-width: 0 0 0 1px;
border-radius: 0;
border-color: var(--admin-border-strong);
background: var(--admin-surface-2);
line-height: 1;
white-space: nowrap;
}
.admin-extend-control .admin-btn svg {
flex: 0 0 auto;
}
.admin-input-row .input,
.admin-input-row .admin-btn {
height: 36px;
}
.admin-actions-tab > .admin-btn {
width: 100%;
height: 36px;
}
.admin-message-actions .admin-btn {
height: 36px;
}