新增石米等淡色背景预设并设为默认,修复页面配置抽屉偶发不弹出问题,移除登录欢迎卡;同步 IDE 官网导航与背景样式,并扩展管理端工作台统计展示。 Co-authored-by: Cursor <cursoragent@cursor.com>
235 lines
4.5 KiB
Plaintext
235 lines
4.5 KiB
Plaintext
.stat-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
gap: 12px;
|
|
}
|
|
|
|
.stat-card {
|
|
--liquid-a: rgba(var(--primary-6), 0.1);
|
|
--liquid-b: rgba(var(--primary-6), 0.06);
|
|
--liquid-edge: var(--app-acrylic-border, rgba(255, 255, 255, 0.72));
|
|
--liquid-glow: transparent;
|
|
|
|
position: relative;
|
|
z-index: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 6px;
|
|
overflow: hidden;
|
|
isolation: isolate;
|
|
min-height: 88px;
|
|
margin: 0;
|
|
padding: 14px 16px 12px;
|
|
border: 1px solid var(--liquid-edge);
|
|
border-radius: 18px;
|
|
background: var(--app-acrylic-bg, rgba(255, 255, 255, 0.32));
|
|
box-shadow: none;
|
|
backdrop-filter: var(--app-acrylic-blur, blur(28px) saturate(160%));
|
|
-webkit-backdrop-filter: var(--app-acrylic-blur, blur(28px) saturate(160%));
|
|
text-align: left;
|
|
font: inherit;
|
|
color: inherit;
|
|
cursor: default;
|
|
transition:
|
|
border-color 0.2s ease,
|
|
background 0.2s ease,
|
|
color 0.2s ease;
|
|
|
|
&__blob,
|
|
&__shine {
|
|
display: none;
|
|
}
|
|
|
|
&__blob,
|
|
&__shine,
|
|
&__main,
|
|
&__hint {
|
|
position: relative;
|
|
z-index: 1;
|
|
}
|
|
|
|
&--primary {
|
|
--liquid-a: rgba(var(--primary-6), 0.12);
|
|
--liquid-b: rgba(var(--primary-6), 0.08);
|
|
}
|
|
|
|
&--warning {
|
|
--liquid-a: rgba(255, 125, 0, 0.12);
|
|
--liquid-b: rgba(255, 182, 93, 0.08);
|
|
}
|
|
|
|
&--danger {
|
|
--liquid-a: rgba(245, 63, 63, 0.12);
|
|
--liquid-b: rgba(249, 137, 129, 0.08);
|
|
|
|
&.stat-card--alert .stat-card__value {
|
|
color: #f98981;
|
|
}
|
|
}
|
|
|
|
&--success {
|
|
--liquid-a: rgba(0, 180, 42, 0.1);
|
|
--liquid-b: rgba(76, 210, 99, 0.08);
|
|
}
|
|
|
|
&--neutral {
|
|
--liquid-a: rgba(var(--primary-6), 0.08);
|
|
--liquid-b: rgba(var(--primary-6), 0.05);
|
|
}
|
|
|
|
&--alert {
|
|
border-color: color-mix(in srgb, var(--app-primary-color) 22%, var(--app-acrylic-border));
|
|
}
|
|
|
|
&--clickable {
|
|
cursor: pointer;
|
|
|
|
&:hover {
|
|
border-color: var(--app-acrylic-border-strong, rgba(255, 255, 255, 0.92));
|
|
background: var(--app-acrylic-hover-bg, rgba(255, 255, 255, 0.44));
|
|
box-shadow: none;
|
|
transform: none;
|
|
|
|
.stat-card__hint {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
&:active {
|
|
transform: none;
|
|
}
|
|
|
|
&:focus-visible {
|
|
outline: 2px solid var(--app-primary-color, rgb(var(--primary-6)));
|
|
outline-offset: 2px;
|
|
}
|
|
}
|
|
|
|
&__main {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 10px;
|
|
min-width: 0;
|
|
flex: 1;
|
|
}
|
|
|
|
&__meta {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: 6px;
|
|
min-width: 0;
|
|
}
|
|
|
|
&__avatar {
|
|
flex-shrink: 0;
|
|
background-color: transparent;
|
|
filter: none;
|
|
|
|
:deep(img) {
|
|
width: 48px;
|
|
height: 48px;
|
|
object-fit: contain;
|
|
}
|
|
}
|
|
|
|
&__avatar--icon {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
background: transparent !important;
|
|
color: var(--app-primary-color, rgb(var(--primary-6)));
|
|
font-size: 22px;
|
|
}
|
|
|
|
&__label {
|
|
color: var(--color-text-3);
|
|
font-size: 12px;
|
|
line-height: 1.3;
|
|
max-width: 100%;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
&__body {
|
|
display: flex;
|
|
align-items: baseline;
|
|
justify-content: flex-end;
|
|
gap: 4px;
|
|
flex-shrink: 0;
|
|
min-width: 0;
|
|
}
|
|
|
|
&__value {
|
|
color: var(--color-text-1);
|
|
font-size: 28px;
|
|
font-weight: 700;
|
|
font-variant-numeric: tabular-nums;
|
|
line-height: 1;
|
|
letter-spacing: -0.02em;
|
|
text-shadow: none;
|
|
}
|
|
|
|
&__unit {
|
|
color: var(--color-text-3);
|
|
font-size: 12px;
|
|
font-weight: 500;
|
|
}
|
|
|
|
&__arrow {
|
|
color: var(--color-text-4);
|
|
font-size: 16px;
|
|
transition: color 0.25s ease, transform 0.25s ease;
|
|
}
|
|
|
|
&--clickable:hover &__arrow {
|
|
color: var(--app-primary-color, rgb(var(--primary-6)));
|
|
transform: translateX(2px);
|
|
}
|
|
|
|
&__trend {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 2px;
|
|
margin-left: 2px;
|
|
font-size: 13px;
|
|
font-weight: 600;
|
|
|
|
&.is-up {
|
|
color: #f53f3f;
|
|
}
|
|
|
|
&.is-down {
|
|
color: #00b42a;
|
|
}
|
|
}
|
|
|
|
&__hint {
|
|
margin-top: auto;
|
|
color: var(--color-text-4, #c9cdd4);
|
|
font-size: 11px;
|
|
line-height: 1.2;
|
|
text-align: right;
|
|
opacity: 0;
|
|
transition: opacity 0.25s ease;
|
|
}
|
|
}
|
|
|
|
@media (max-width: 1280px) {
|
|
.stat-grid {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
}
|
|
|
|
@media (max-width: 720px) {
|
|
.stat-grid {
|
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
}
|
|
|
|
.stat-card__hint {
|
|
display: none;
|
|
}
|
|
}
|