Handle stale sync state in client UI
This commit is contained in:
@@ -49,6 +49,100 @@ p {
|
||||
background: light-dark(oklch(0.965 0.006 145), oklch(0.18 0.012 145));
|
||||
}
|
||||
|
||||
.app-boot {
|
||||
min-height: 100vh;
|
||||
display: grid;
|
||||
place-content: center;
|
||||
justify-items: start;
|
||||
gap: 14px;
|
||||
padding: 32px;
|
||||
background: light-dark(oklch(0.965 0.006 145), oklch(0.18 0.012 145));
|
||||
color: light-dark(oklch(0.24 0.014 145), oklch(0.93 0.008 145));
|
||||
font-family: 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
|
||||
}
|
||||
|
||||
.app-boot > span,
|
||||
.app-boot summary {
|
||||
color: light-dark(oklch(0.53 0.014 145), oklch(0.68 0.012 145));
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.app-boot h1 {
|
||||
max-width: 22ch;
|
||||
margin: 0;
|
||||
font-size: clamp(22px, 5vw, 34px);
|
||||
letter-spacing: -0.05em;
|
||||
}
|
||||
|
||||
.app-boot p {
|
||||
max-width: 58ch;
|
||||
color: light-dark(oklch(0.53 0.014 145), oklch(0.68 0.012 145));
|
||||
font-size: 12px;
|
||||
line-height: 1.7;
|
||||
}
|
||||
|
||||
.app-boot button,
|
||||
.client-stale-banner button {
|
||||
padding: 8px 12px;
|
||||
border: 0;
|
||||
border-radius: 8px;
|
||||
background: light-dark(oklch(0.91 0.02 185), oklch(0.28 0.03 185));
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.app-boot button:focus-visible,
|
||||
.client-stale-banner button:focus-visible {
|
||||
outline: 2px solid oklch(0.65 0.11 185);
|
||||
outline-offset: 3px;
|
||||
}
|
||||
|
||||
.app-boot details {
|
||||
max-width: min(640px, calc(100vw - 64px));
|
||||
margin-top: 8px;
|
||||
}
|
||||
|
||||
.app-boot summary {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.app-boot code,
|
||||
.app-boot pre {
|
||||
display: block;
|
||||
overflow-x: auto;
|
||||
margin: 12px 0 0;
|
||||
font-size: 11px;
|
||||
line-height: 1.6;
|
||||
white-space: pre-wrap;
|
||||
}
|
||||
|
||||
.client-stale-banner {
|
||||
position: fixed;
|
||||
top: 16px;
|
||||
left: 50%;
|
||||
z-index: 60;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto auto;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
padding: 9px 10px 9px 14px;
|
||||
border-radius: 12px;
|
||||
background: color-mix(in oklch, var(--client-panel) 90%, transparent);
|
||||
box-shadow: 0 10px 32px oklch(0.08 0.015 145 / 0.14);
|
||||
backdrop-filter: blur(12px);
|
||||
color: var(--client-muted);
|
||||
font: 600 10px/1.3 'JetBrains Mono', 'SF Mono', ui-monospace, Menlo, monospace;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.client-stale-banner strong {
|
||||
color: var(--client-text);
|
||||
}
|
||||
|
||||
.client-stale-banner button {
|
||||
color: var(--client-text);
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
/* ============ Client overview ============ */
|
||||
|
||||
.app.client-app {
|
||||
@@ -1897,6 +1991,16 @@ p {
|
||||
padding: 20px 14px;
|
||||
}
|
||||
|
||||
.client-stale-banner {
|
||||
width: calc(100% - 28px);
|
||||
grid-template-columns: 1fr auto;
|
||||
}
|
||||
|
||||
.client-stale-banner span {
|
||||
grid-column: 1 / -1;
|
||||
grid-row: 2;
|
||||
}
|
||||
|
||||
.client-panel {
|
||||
position: static;
|
||||
grid-template-columns: 1fr;
|
||||
|
||||
Reference in New Issue
Block a user