feat(v3.4.16): partner UX, package pricing, CS gate, HQ list polish
Stop auto ST from validation_error; show package prices with right-aligned layout; partner store list status/filter and onboard CS QR gate; HQ store table truncation/fixed actions; expose CS config in wechat_mini settings; bind local servers for LAN. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1960,6 +1960,134 @@ nav.app-tabbar .app-tabbar-label {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.partner-store-filter-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.partner-store-filter-label {
|
||||
flex-shrink: 0;
|
||||
font-family: var(--font-label);
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: var(--color-on-surface-variant);
|
||||
}
|
||||
|
||||
.partner-store-filter-select {
|
||||
flex: 1;
|
||||
height: 40px;
|
||||
padding: 0 12px;
|
||||
border: 1px solid var(--color-outline-variant);
|
||||
border-radius: var(--radius-md);
|
||||
background: var(--color-surface-container-low);
|
||||
font-size: 14px;
|
||||
color: var(--color-ink-black);
|
||||
}
|
||||
|
||||
.partner-store-filter-select:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 2px rgba(166, 29, 36, 0.2);
|
||||
}
|
||||
|
||||
.partner-store-card-main {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
.partner-store-card-badge {
|
||||
flex-shrink: 0;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.partner-store-card-actions--v3416 {
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.partner-store-card-actions--v3416 > .partner-store-switch {
|
||||
flex: 1 1 auto;
|
||||
min-width: 140px;
|
||||
}
|
||||
|
||||
.partner-store-card-actions--v3416 > .partner-store-close-btn {
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.partner-store-card-actions--v3416 > .partner-menu-icon {
|
||||
flex: 0 0 auto;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.partner-store-switch {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
cursor: pointer;
|
||||
font-family: var(--font-label);
|
||||
font-size: 12px;
|
||||
color: var(--color-on-surface-variant);
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.partner-store-switch input {
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.partner-store-switch-track {
|
||||
position: relative;
|
||||
width: 44px;
|
||||
height: 24px;
|
||||
border-radius: 999px;
|
||||
background: var(--color-surface-container-highest);
|
||||
transition: background 0.2s ease;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.partner-store-switch-track::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
background: #fff;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
|
||||
.partner-store-switch input:checked + .partner-store-switch-track {
|
||||
background: var(--color-success-green);
|
||||
}
|
||||
|
||||
.partner-store-switch input:checked + .partner-store-switch-track::after {
|
||||
transform: translateX(20px);
|
||||
}
|
||||
|
||||
.partner-store-switch--disabled {
|
||||
opacity: 0.45;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.partner-store-close-btn {
|
||||
flex: 0 0 auto !important;
|
||||
padding: 8px 12px !important;
|
||||
border: 1px solid rgba(166, 29, 36, 0.35);
|
||||
background: transparent;
|
||||
color: var(--color-heritage-red);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.partner-store-close-btn:disabled {
|
||||
opacity: 0.45;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
.partner-store-card {
|
||||
background: var(--color-card);
|
||||
border-radius: var(--radius-md);
|
||||
@@ -2061,6 +2189,39 @@ nav.app-tabbar .app-tabbar-label {
|
||||
margin: 0 var(--space-page) var(--space-md);
|
||||
}
|
||||
|
||||
.partner-onboard-cs-card {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.partner-onboard-cs-qr {
|
||||
display: block;
|
||||
width: min(220px, 70vw);
|
||||
height: auto;
|
||||
margin: 0 auto 16px;
|
||||
border-radius: 8px;
|
||||
background: #fff;
|
||||
border: 1px solid var(--color-surface-container);
|
||||
}
|
||||
|
||||
.partner-onboard-cs-check {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
margin-top: 8px;
|
||||
font-family: var(--font-label);
|
||||
font-size: 14px;
|
||||
color: var(--color-ink-black);
|
||||
cursor: pointer;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.partner-onboard-cs-check input {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* ── Store detail ── */
|
||||
.partner-detail-page {
|
||||
padding-bottom: 96px;
|
||||
|
||||
Reference in New Issue
Block a user