feat: unify filter workbenches

This commit is contained in:
lingniu
2026-07-19 07:36:08 +08:00
parent af608b35e0
commit 3e80da1b73
16 changed files with 281 additions and 78 deletions

View File

@@ -20599,14 +20599,14 @@
* Shared Semi UI configuration SideSheet: one hierarchy for strategy,
* column and source-policy work across desktop and mobile.
*/
.v2-workspace-config-sidesheet .semi-sidesheet-inner {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-inner {
overflow: hidden;
border-left: 1px solid #d9e3ef;
background: #f5f7fa;
box-shadow: -22px 0 64px rgba(24, 43, 68, .16);
}
.v2-workspace-config-sidesheet .semi-sidesheet-header {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-header {
min-height: 78px;
border-bottom: 1px solid #e1e8f1;
background:
@@ -20615,7 +20615,7 @@
padding: 14px 18px;
}
.v2-workspace-config-sidesheet .semi-sidesheet-title {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-title {
min-width: 0;
}
@@ -20667,7 +20667,7 @@
font-weight: 700;
}
.v2-workspace-config-sidesheet .semi-sidesheet-body {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-body {
min-height: 0;
overflow: hidden;
background: #f5f7fa;
@@ -20760,7 +20760,7 @@
scrollbar-gutter: stable;
}
.v2-workspace-config-sidesheet .semi-sidesheet-footer {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet) .semi-sidesheet-footer {
min-height: 64px;
border-top: 1px solid #e1e8f1;
background: rgba(255, 255, 255, .97);
@@ -20981,14 +20981,14 @@
padding: 0;
}
.v2-workspace-config-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet).semi-sidesheet-bottom .semi-sidesheet-inner {
border: 1px solid #d8e2ed;
border-bottom: 0;
border-radius: 18px 18px 0 0;
box-shadow: 0 -18px 48px rgba(23, 43, 68, .17);
}
.v2-workspace-config-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet).semi-sidesheet-bottom .semi-sidesheet-header {
min-height: 68px;
padding: 10px 12px 10px 14px;
}
@@ -21032,7 +21032,7 @@
padding: 8px;
}
.v2-workspace-config-sidesheet.semi-sidesheet-bottom .semi-sidesheet-footer {
:is(.v2-workspace-config-sidesheet, .v2-workspace-filter-sidesheet).semi-sidesheet-bottom .semi-sidesheet-footer {
min-height: 58px;
padding: 7px 9px calc(7px + env(safe-area-inset-bottom));
}
@@ -21971,3 +21971,159 @@
grid-template-columns: repeat(3, minmax(0, 1fr));
}
}
/*
* Unified Semi UI filter workbench.
* Desktop advanced ranges and mobile discovery sheets now share one identity,
* one scroll owner and one explicit draft-to-apply action boundary.
*/
.v2-workspace-filter-sidesheet .semi-sidesheet-inner {
background: #f4f7fb;
}
.v2-workspace-filter-sidesheet .semi-sidesheet-header {
background:
radial-gradient(circle at 10% 0%, rgba(18, 104, 243, .1), transparent 38%),
linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
}
.v2-workspace-filter-sidesheet .v2-workspace-config-title-icon {
border-color: #cfe0f7;
background: linear-gradient(145deg, #f4f8ff 0%, #e7f0ff 100%);
}
.v2-workspace-filter-sidesheet .v2-workspace-config-summary {
min-height: 74px;
}
.v2-workspace-filter-sidesheet .v2-workspace-config-summary strong {
font-size: 12px;
}
.v2-workspace-filter-sidesheet .v2-workspace-config-content {
padding: 10px;
}
.v2-workspace-filter-sidesheet .v2-alert-advanced-filter {
gap: 13px;
border: 1px solid #dce5ef;
border-radius: 12px;
background: #fff;
padding: 14px;
box-shadow: 0 8px 24px rgba(31, 53, 80, .05);
}
.v2-workspace-filter-sidesheet .v2-alert-advanced-filter label {
gap: 6px;
}
@media (max-width: 680px) {
.v2-workspace-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
width: 100% !important;
max-width: 100%;
padding-bottom: env(safe-area-inset-bottom);
}
.v2-workspace-filter-sidesheet .v2-workspace-config-title {
gap: 8px;
}
.v2-workspace-filter-sidesheet .v2-workspace-config-title-icon {
width: 34px;
height: 34px;
border-radius: 10px;
font-size: 16px;
}
.v2-workspace-filter-sidesheet .v2-workspace-config-title strong {
font-size: 16px;
}
.v2-workspace-filter-sidesheet .v2-workspace-config-title small {
max-width: min(48vw, 210px);
}
.v2-workspace-filter-sidesheet .v2-workspace-config-content {
padding: 8px;
}
.v2-workspace-filter-sidesheet .v2-mobile-filter-sheet-section {
border-color: #dce5ef;
border-radius: 11px;
box-shadow: 0 7px 22px rgba(31, 53, 80, .045);
}
.v2-source-mobile-filter-sidesheet .v2-source-candidates.v2-vehicle-candidate-list {
position: static;
max-height: min(390px, 43dvh);
}
.v2-source-mobile-filter-empty {
display: grid;
min-height: 190px;
place-content: center;
justify-items: center;
gap: 7px;
border: 1px dashed #cad8e9;
border-radius: 12px;
background:
radial-gradient(circle at 50% 0%, rgba(18, 104, 243, .07), transparent 48%),
rgba(255, 255, 255, .72);
color: #7b8b9f;
padding: 20px;
text-align: center;
}
.v2-source-mobile-filter-empty > i {
display: grid;
width: 42px;
height: 42px;
place-items: center;
border: 1px solid #d4e2f5;
border-radius: 12px;
background: #eef5ff;
color: #1268f3;
font-size: 18px;
}
.v2-source-mobile-filter-empty > strong {
color: #2b4058;
font-size: 13px;
}
.v2-source-mobile-filter-empty > small {
max-width: 250px;
color: #7c8b9e;
font-size: 9px;
line-height: 1.55;
}
}
@media (max-width: 900px) and (max-height: 480px) and (orientation: landscape) {
.v2-workspace-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-inner {
height: 100dvh !important;
max-height: 100dvh;
border-radius: 0;
}
.v2-workspace-filter-sidesheet.semi-sidesheet-bottom .semi-sidesheet-header {
min-height: 54px;
padding: 7px 10px 7px 12px;
}
.v2-workspace-filter-sidesheet .v2-workspace-config-title-icon,
.v2-workspace-filter-sidesheet .v2-workspace-config-title small,
.v2-workspace-filter-sidesheet .v2-workspace-config-title > .semi-tag,
.v2-workspace-filter-sidesheet .v2-mobile-filter-sheet-section > header {
display: none;
}
.v2-workspace-filter-sidesheet .v2-workspace-config-content {
padding: 7px;
}
.v2-source-mobile-filter-empty {
min-height: 88px;
padding: 10px;
}
}