Improve server picker layout and profile activation flow
Build and Deploy Gateway / build-and-push (push) Successful in 19s
Build and Deploy Gateway / deploy (push) Successful in 6s

This commit is contained in:
2026-08-11 01:40:50 +03:00
parent aa9c959368
commit 9432112fe2
9 changed files with 172 additions and 57 deletions
+118
View File
@@ -554,3 +554,121 @@
.client-server:disabled {
cursor: wait;
}
/* The drawer uses the same picker behavior with a flat, full-width list. */
.client-profile-body .client-servers {
display: flex;
flex-direction: column;
width: 100%;
margin: 0;
}
.client-profile-body .client-server-mode-panels {
order: 1;
}
.client-profile-body .client-server-toolbar {
order: 2;
grid-template-columns: auto 1fr;
grid-template-rows: 40px;
margin-top: 6px;
border-top: 1px solid var(--client-border);
}
.client-profile-body .client-server-toolbar-title {
display: none;
}
.client-profile-body .client-server-check {
grid-column: 1;
grid-row: 1;
justify-self: start;
width: auto;
gap: 8px;
padding: 0 8px;
}
.client-profile-body .client-server-check::after {
content: 'ПРОВЕРИТЬ ПИНГ';
font: 600 9px/1 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
letter-spacing: 0.03em;
}
.client-profile-body .client-server-mode-toggle {
grid-column: 2;
grid-row: 1;
justify-self: end;
}
.client-profile-body .client-servers.is-short .client-server-mode-toggle {
display: none;
}
.client-profile-body .client-server-grid,
.client-profile-body .client-server-row,
.client-profile-body .client-server-auto,
.client-profile-body .client-server-row .client-server {
width: 100%;
margin: 0;
}
.client-profile-body .client-server-row {
grid-template-columns: minmax(0, 1fr) 64px;
min-height: 52px;
border-bottom: 1px solid var(--client-border);
}
.client-profile-body .client-server-row.is-selected {
background: color-mix(in oklch, var(--client-accent) 7%, transparent);
box-shadow: inset 2px 0 var(--client-accent);
}
.client-profile-body .client-server-row .client-server {
grid-column: 1;
min-height: 51px;
display: grid;
grid-template-columns: 18px minmax(0, 1fr) auto;
place-items: center start;
gap: 8px;
padding: 0 8px;
border: 0;
text-align: left;
}
.client-profile-body .client-server-row .client-server::before {
content: '';
width: 10px;
height: 10px;
border: 1px solid var(--client-muted);
border-radius: 50%;
}
.client-profile-body .client-server-row .client-server.is-selected::before {
border: 1px solid var(--client-accent);
background: var(--client-accent);
box-shadow: inset 0 0 0 2px color-mix(in oklch, var(--client-bg) 88%, transparent);
}
.client-profile-body .client-server strong,
.client-profile-body .client-server small {
text-align: left;
}
.client-profile-body .client-server small {
grid-column: 3;
font-size: 8px;
}
.client-profile-body .client-server-meta {
grid-column: 2;
justify-self: stretch;
width: auto;
margin: 0;
}
.client-profile-body .client-server-meta .client-server-health {
width: auto;
place-items: center end;
padding: 0 10px 0 0;
color: var(--client-accent);
}
+14 -11
View File
@@ -38,6 +38,13 @@
padding: 32px 30px 76px;
}
@media (min-width: 921px) {
.client-subscription-drawer {
right: 64px;
width: min(480px, calc(100vw - 64px));
}
}
.client-profiles-header {
min-height: 44px;
display: flex;
@@ -115,6 +122,10 @@
border-bottom: 1px solid var(--client-border);
}
.client-profile-group.is-active .client-profile-title strong {
color: var(--client-accent);
}
.client-profile-header {
min-height: 72px;
display: grid;
@@ -269,7 +280,7 @@
.client-profile-body {
max-height: 3200px;
padding: 0 0 20px 18px;
padding: 0 0 20px;
overflow: hidden;
opacity: 1;
visibility: visible;
@@ -304,8 +315,7 @@
}
.client-profile-activate {
display: block;
margin-left: auto;
white-space: nowrap;
}
.client-profile-activate:disabled {
@@ -331,6 +341,7 @@
.client-profile-local-status {
padding-left: 18px;
padding-bottom: 8px;
color: oklch(0.68 0.14 72);
}
@@ -447,18 +458,10 @@
padding: 24px 18px 64px;
}
.client-profile-header {
grid-template-columns: minmax(0, 1fr) 36px 36px;
}
.client-profile-usage {
display: none;
}
.client-profile-body {
padding-left: 8px;
}
.client-profile-disclosure,
.client-profile-refresh,
.client-profile-menu-toggle,