feat(web): protect phone data and polish release UI
This commit is contained in:
+97
-60
@@ -253,11 +253,6 @@ code {
|
||||
color: #fff;
|
||||
font-size: 1rem;
|
||||
}
|
||||
.product-copy small {
|
||||
color: #91a3b9;
|
||||
font-size: 0.68rem;
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
.topbar-actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -384,16 +379,13 @@ main > section > header,
|
||||
margin-bottom: 1rem;
|
||||
border-bottom: 1px solid var(--line);
|
||||
}
|
||||
.fleet-heading p,
|
||||
main > section > header p,
|
||||
.page-heading p {
|
||||
margin: 0.2rem 0 0;
|
||||
color: var(--muted);
|
||||
}
|
||||
.page-kicker,
|
||||
.eyebrow,
|
||||
.fleet-sidebar-eyebrow,
|
||||
.fleet-results-eyebrow {
|
||||
.eyebrow {
|
||||
margin: 0 0 0.18rem !important;
|
||||
color: var(--primary) !important;
|
||||
font-size: 0.66rem;
|
||||
@@ -625,17 +617,6 @@ main > section > header p,
|
||||
color: #fff;
|
||||
background: var(--primary);
|
||||
}
|
||||
.fleet-sidebar-result-count {
|
||||
margin: 0;
|
||||
padding: 0.45rem 0.6rem;
|
||||
color: var(--muted);
|
||||
border-radius: 8px;
|
||||
background: #f4f6f8;
|
||||
font-size: 0.76rem;
|
||||
}
|
||||
.fleet-sidebar-result-count strong {
|
||||
color: var(--ink);
|
||||
}
|
||||
.fleet-active-filters {
|
||||
display: flex;
|
||||
gap: 0.35rem;
|
||||
@@ -1722,10 +1703,6 @@ main ul[aria-label='已配置实例'] > li {
|
||||
.auth-card input {
|
||||
width: 100%;
|
||||
}
|
||||
.auth-card .eyebrow {
|
||||
color: #8eabff !important;
|
||||
}
|
||||
|
||||
@media (max-width: 70rem) {
|
||||
.fleet-workspace,
|
||||
.fleet-workspace.is-sidebar-collapsed {
|
||||
@@ -1775,7 +1752,6 @@ main ul[aria-label='已配置实例'] > li {
|
||||
gap: 0.55rem;
|
||||
padding: 0.55rem 0.75rem;
|
||||
}
|
||||
.product-copy small,
|
||||
.connection-status {
|
||||
display: none;
|
||||
}
|
||||
@@ -1901,11 +1877,6 @@ body,
|
||||
letter-spacing: 0;
|
||||
}
|
||||
|
||||
.product-copy small {
|
||||
color: var(--workbench-muted);
|
||||
font-size: 0.68rem;
|
||||
}
|
||||
|
||||
.global-navigation {
|
||||
align-self: stretch;
|
||||
gap: 0.15rem;
|
||||
@@ -2079,10 +2050,6 @@ main {
|
||||
border-bottom: 1px solid var(--workbench-border);
|
||||
}
|
||||
|
||||
.fleet-results-eyebrow {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.fleet-card-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||
@@ -2409,12 +2376,6 @@ main {
|
||||
margin-bottom: 0.75rem;
|
||||
font-size: 0.82rem;
|
||||
}
|
||||
.drawer-eyebrow {
|
||||
color: var(--workbench-mint);
|
||||
font-size: 0.68rem;
|
||||
font-weight: 800;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
.icon-button {
|
||||
width: 2.75rem;
|
||||
height: 2.75rem;
|
||||
@@ -2579,9 +2540,6 @@ main {
|
||||
flex-wrap: wrap;
|
||||
padding: 0.45rem 0.65rem;
|
||||
}
|
||||
.product-copy small {
|
||||
display: none;
|
||||
}
|
||||
.topbar-actions {
|
||||
margin-left: auto;
|
||||
}
|
||||
@@ -2838,10 +2796,6 @@ h1 {
|
||||
font-size: 1.04rem;
|
||||
}
|
||||
|
||||
.product-copy small {
|
||||
color: #75664f;
|
||||
}
|
||||
|
||||
.global-navigation {
|
||||
gap: 0.3rem;
|
||||
padding: 0.32rem;
|
||||
@@ -2961,9 +2915,7 @@ main > section > header h1,
|
||||
}
|
||||
|
||||
.page-kicker,
|
||||
.eyebrow,
|
||||
.fleet-sidebar-eyebrow,
|
||||
.fleet-results-eyebrow {
|
||||
.eyebrow {
|
||||
color: #138f85 !important;
|
||||
}
|
||||
|
||||
@@ -3115,10 +3067,6 @@ main > section > header h1,
|
||||
border-bottom: 2px dashed #cabfa9;
|
||||
}
|
||||
|
||||
.fleet-results-eyebrow {
|
||||
color: #725d42 !important;
|
||||
}
|
||||
|
||||
.fleet-card-grid {
|
||||
grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr));
|
||||
gap: 1rem;
|
||||
@@ -3764,10 +3712,6 @@ main ul[aria-label='已配置实例'] > li > div[class*='animal-'] {
|
||||
color: #725d42;
|
||||
}
|
||||
|
||||
.auth-card .eyebrow {
|
||||
color: #138f85 !important;
|
||||
}
|
||||
|
||||
.app-footer {
|
||||
width: 100%;
|
||||
margin-top: 1rem;
|
||||
@@ -3894,7 +3838,6 @@ svg {
|
||||
}
|
||||
.fleet-sidebar-header strong,
|
||||
.fleet-status-summary span,
|
||||
.fleet-results-eyebrow,
|
||||
.fleet-card-kicker,
|
||||
.fleet-card-metrics dt,
|
||||
.fleet-card-sms h3,
|
||||
@@ -3906,7 +3849,6 @@ svg {
|
||||
}
|
||||
.fleet-sidebar-header strong svg,
|
||||
.fleet-status-summary span svg,
|
||||
.fleet-results-eyebrow svg,
|
||||
.fleet-card-kicker svg,
|
||||
.fleet-card-metrics dt svg,
|
||||
.fleet-card-sms h3 svg,
|
||||
@@ -4901,3 +4843,98 @@ svg {
|
||||
overflow-x: auto;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
/* Phone privacy controls share one stable row across all fleet card widths. */
|
||||
.fleet-card-hardware {
|
||||
grid-template-columns: minmax(0, 1.55fr) minmax(5.25rem, 0.65fr);
|
||||
gap: 0.35rem;
|
||||
padding: 0.72rem 0.45rem;
|
||||
}
|
||||
|
||||
.fleet-card-hardware dt,
|
||||
.fleet-card-hardware dd {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.fleet-card-hardware .fleet-card-phone {
|
||||
gap: 0.15rem;
|
||||
}
|
||||
|
||||
.fleet-card-hardware .fleet-card-phone dd {
|
||||
display: flex;
|
||||
min-height: 2.5rem;
|
||||
align-items: center;
|
||||
gap: 0.25rem;
|
||||
}
|
||||
|
||||
.fleet-card-phone-value {
|
||||
min-width: 0;
|
||||
flex: 1 1 auto;
|
||||
overflow: hidden;
|
||||
font-size: 0.7rem;
|
||||
font-variant-numeric: tabular-nums;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.fleet-phone-privacy-toggle,
|
||||
.fleet-phone-privacy-toggle:hover:not(:disabled),
|
||||
.fleet-phone-privacy-toggle:active:not(:disabled) {
|
||||
position: relative;
|
||||
display: grid;
|
||||
width: 2.5rem;
|
||||
height: 2.5rem;
|
||||
min-height: 2.5rem;
|
||||
flex: 0 0 2.5rem;
|
||||
place-items: center;
|
||||
padding: 0;
|
||||
border: 1px solid var(--workbench-border);
|
||||
border-radius: 8px;
|
||||
color: var(--workbench-muted);
|
||||
background: #fffef9;
|
||||
box-shadow: none;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.fleet-phone-privacy-toggle::before {
|
||||
position: absolute;
|
||||
inset: -0.125rem;
|
||||
content: '';
|
||||
}
|
||||
|
||||
.fleet-phone-privacy-toggle:hover:not(:disabled) {
|
||||
color: var(--workbench-text);
|
||||
border-color: var(--workbench-border-strong);
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.fleet-phone-privacy-toggle[aria-pressed='true'] {
|
||||
color: var(--workbench-mint);
|
||||
border-color: rgba(17, 119, 110, 0.36);
|
||||
background: #f1faf6;
|
||||
}
|
||||
|
||||
.fleet-phone-privacy-toggle:focus-visible {
|
||||
outline: 2px solid var(--workbench-mint);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
.fleet-phone-privacy-toggle svg {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
}
|
||||
|
||||
.fleet-card-footer-primary > span:last-child {
|
||||
font-variant-numeric: tabular-nums;
|
||||
}
|
||||
|
||||
@media (min-width: 80rem) {
|
||||
.fleet-card-footer {
|
||||
display: grid;
|
||||
grid-template-columns: minmax(0, 1fr);
|
||||
}
|
||||
|
||||
.fleet-card-footer-time {
|
||||
justify-self: end;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user