diff --git a/pwuniapp/pages/activity/create.vue b/pwuniapp/pages/activity/create.vue index 08f72f6..31c330a 100644 --- a/pwuniapp/pages/activity/create.vue +++ b/pwuniapp/pages/activity/create.vue @@ -1890,4 +1890,121 @@ const handleSubmit = async () => { } } } +/* ===== Premium visual layer: 发起组局 / 平台派单 ===== */ +.create-activity-container { + background: + radial-gradient(110% 40% at 50% -6%, rgba(99, 102, 241, 0.14), transparent 62%), + var(--surface-0); + + .publish-mode-item { + background: rgba(22, 31, 51, 0.78); + border: 1rpx solid var(--hairline); + border-radius: 24rpx; + transition: transform var(--motion-fast, 120ms) var(--ease-out, ease-out); + + &:active { + transform: scale(0.985); + } + + &.active { + background: + linear-gradient(145deg, rgba(99, 102, 241, 0.16), rgba(16, 185, 129, 0.08)); + border-color: rgba(129, 140, 248, 0.4); + box-shadow: + inset 0 1rpx 0 rgba(255, 255, 255, 0.06), + 0 10rpx 24rpx rgba(0, 0, 0, 0.16); + } + } + + .form-card { + background: linear-gradient(180deg, rgba(22, 31, 51, 0.84) 0%, rgba(15, 22, 38, 0.9) 100%); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + } + + .game-pill, + .time-chip, + .zone-chip-item { + background: rgba(255, 255, 255, 0.035); + border-color: rgba(255, 255, 255, 0.07); + color: #A7B3CB; + border-radius: 999rpx; + + &.selected { + background: rgba(99, 102, 241, 0.16); + border-color: rgba(129, 140, 248, 0.4); + color: #C7D2FE; + font-weight: 600; + } + } + + .config-empty-tip { + color: #7C89A6; + } + + .btn-submit { + border-radius: 999rpx; + background: linear-gradient(135deg, #F97316 0%, #EA580C 55%, #C2410C 100%); + box-shadow: + 0 16rpx 34rpx rgba(234, 88, 12, 0.26), + inset 0 1rpx 0 rgba(255, 255, 255, 0.25); + transition: transform var(--motion-fast, 120ms) var(--ease-out, ease-out); + } + + .btn-submit:active { + transform: scale(0.985); + } + + .bottom-bar { + background: rgba(10, 15, 29, 0.9); + backdrop-filter: blur(20px); + border-top: 1rpx solid rgba(255, 255, 255, 0.07); + } +} + +.create-activity-container.theme-warm { + background: + radial-gradient(100% 38% at 50% -6%, rgba(234, 88, 12, 0.07), transparent 62%), + #FDFBF7; + + .publish-mode-item { + background: #FFFFFF; + border-color: #F0ECE4; + + &.active { + background: linear-gradient(145deg, #FFF7ED, #FFFFFF); + border-color: #FED7AA; + box-shadow: 0 10rpx 24rpx rgba(234, 88, 12, 0.06); + } + } + + .form-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + } + + .game-pill, + .time-chip, + .zone-chip-item { + background: #F8F5F0; + border-color: #F0ECE4; + color: #78716C; + + &.selected { + background: #FFF7ED; + border-color: #FED7AA; + color: #C2410C; + } + } + + .config-empty-tip { + color: #A8A29E; + } + + .bottom-bar { + background: rgba(255, 255, 255, 0.92); + border-top-color: #F0ECE4; + } +} diff --git a/pwuniapp/pages/expert/hall.vue b/pwuniapp/pages/expert/hall.vue index e02a15e..d245303 100644 --- a/pwuniapp/pages/expert/hall.vue +++ b/pwuniapp/pages/expert/hall.vue @@ -1640,4 +1640,198 @@ const copyOrderNo = () => { } } } +/* ===== Premium visual layer: 接单大厅 ===== */ +.hall-container { + background: + radial-gradient(110% 44% at 50% -6%, rgba(16, 185, 129, 0.12), transparent 62%), + var(--surface-0); + + .hall-header-card { + background: linear-gradient(145deg, rgba(24, 34, 58, 0.92) 0%, rgba(13, 20, 36, 0.94) 100%); + border-color: var(--hairline); + box-shadow: + inset 0 1rpx 0 rgba(255, 255, 255, 0.05), + 0 14rpx 34rpx rgba(0, 0, 0, 0.2); + + .avatar-img { + border-width: 3rpx; + box-shadow: 0 0 0 6rpx rgba(16, 185, 129, 0.1); + } + + .expert-name { + font-size: 32rpx; + letter-spacing: 0.3rpx; + } + + .status-toggle { + background: rgba(7, 11, 20, 0.55); + border-color: rgba(255, 255, 255, 0.1); + } + } + + .hall-stats-card { + background: rgba(15, 22, 38, 0.78); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + + .stat-num { + font-family: var(--font-num, monospace); + letter-spacing: 0.2rpx; + } + } + + .cat-chip { + background: rgba(22, 31, 51, 0.82); + border-color: var(--hairline); + color: #A7B3CB; + + &.active { + background: rgba(16, 185, 129, 0.16); + border-color: rgba(110, 231, 183, 0.35); + color: #6EE7B7; + } + } + + .dispatch-list .dispatch-card { + position: relative; + overflow: hidden; + background: linear-gradient(180deg, rgba(22, 31, 51, 0.96) 0%, rgba(13, 20, 36, 0.98) 100%); + border-color: var(--hairline); + border-radius: 24rpx; + box-shadow: 0 12rpx 30rpx rgba(0, 0, 0, 0.2); + animation: hallCardEnter 0.5s var(--ease-out) both; + + &::before { + content: ''; + position: absolute; + left: 0; + top: 24rpx; + bottom: 24rpx; + width: 4rpx; + border-radius: 4rpx; + background: linear-gradient(180deg, #6EE7B7, #10B981); + opacity: 0.72; + } + + .order-title { + font-size: 29rpx; + letter-spacing: 0.2rpx; + } + + .reward-val { + font-family: var(--font-num, monospace); + font-size: 38rpx; + } + + .remark-box { + background: rgba(255, 255, 255, 0.035); + border: 1rpx solid rgba(255, 255, 255, 0.045); + } + + .card-action-bar { + border-top-color: rgba(255, 255, 255, 0.045); + } + + .btn-grab-order { + border-radius: 999rpx; + box-shadow: 0 8rpx 20rpx rgba(16, 185, 129, 0.26); + } + } + + .nearby-activity-card { + background: rgba(15, 22, 38, 0.78); + border: 1rpx solid var(--hairline); + border-radius: 22rpx; + } +} + +.hall-container.theme-warm { + background: + radial-gradient(100% 42% at 50% -6%, rgba(16, 185, 129, 0.07), transparent 62%), + #FDFBF7; + + .hall-header-card { + background: linear-gradient(145deg, #FFFFFF 0%, #FFFBF5 100%); + border-color: #F0ECE4; + box-shadow: 0 14rpx 32rpx rgba(28, 25, 23, 0.06); + + .expert-name { + color: #1C1917; + } + + .rating-sub { + color: #78716C; + } + + .status-toggle { + background: #F8F5F0; + border-color: #F0ECE4; + + .toggle-text { + color: #57534E; + } + } + } + + .hall-stats-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + + .stat-num { + color: #1C1917; + } + } + + .cat-chip { + background: #FFFFFF; + border-color: #F0ECE4; + color: #78716C; + + &.active { + background: #ECFDF5; + border-color: #A7F3D0; + color: #047857; + } + } + + .dispatch-list .dispatch-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + + .order-title { + color: #1C1917; + } + + .remark-box { + background: #FAF8F4; + border-color: #F0ECE4; + + .remark-text { + color: #57534E; + } + } + + .card-action-bar { + border-top-color: #F5F2EC; + } + } + + .nearby-activity-card { + background: #FFFFFF; + border-color: #F0ECE4; + } +} + +@keyframes hallCardEnter { + from { + opacity: 0; + transform: translateY(14rpx) scale(0.99); + } + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} diff --git a/pwuniapp/pages/expert/workspace.vue b/pwuniapp/pages/expert/workspace.vue index 6a83f8b..a195172 100644 --- a/pwuniapp/pages/expert/workspace.vue +++ b/pwuniapp/pages/expert/workspace.vue @@ -2335,4 +2335,120 @@ const switchBackToPlayer = () => { color: var(--text-muted, #64748B); line-height: 1.6; } +/* ===== Premium visual layer: 大神工作台 ===== */ +.workspace-container { + background: + radial-gradient(110% 42% at 50% -6%, rgba(99, 102, 241, 0.14), transparent 62%), + var(--surface-0); + + .expert-status-card { + background: + radial-gradient(circle at 90% 8%, rgba(217, 164, 65, 0.1), transparent 42%), + linear-gradient(145deg, rgba(24, 34, 58, 0.94) 0%, rgba(13, 20, 36, 0.96) 100%); + border-color: rgba(129, 140, 248, 0.22); + box-shadow: + inset 0 1rpx 0 rgba(255, 255, 255, 0.05), + 0 16rpx 38rpx rgba(0, 0, 0, 0.22); + + .expert-avatar { + border-width: 3rpx; + box-shadow: 0 0 0 6rpx rgba(99, 102, 241, 0.1); + } + + .expert-name { + font-size: 32rpx; + letter-spacing: 0.3rpx; + } + + .badge-gold { + background: linear-gradient(135deg, rgba(217, 164, 65, 0.95), rgba(183, 121, 31, 0.95)); + border: 1rpx solid rgba(255, 255, 255, 0.18); + } + + .switch-wrap { + background: rgba(7, 11, 20, 0.5); + border-color: rgba(255, 255, 255, 0.1); + border-radius: 999rpx; + } + } + + .stats-board { + background: rgba(15, 22, 38, 0.78); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + + .stat-val { + font-family: var(--font-num, monospace); + letter-spacing: 0.2rpx; + } + } + + .section-card { + background: linear-gradient(180deg, rgba(22, 31, 51, 0.84) 0%, rgba(15, 22, 38, 0.9) 100%); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.14); + } + + .revenue-trends-card { + .trend-tabs { + background: rgba(7, 11, 20, 0.55); + border-color: var(--hairline); + } + + .period-summary-row { + background: rgba(255, 255, 255, 0.035); + border-color: rgba(255, 255, 255, 0.05); + } + } +} + +.workspace-container.theme-warm { + background: + radial-gradient(100% 40% at 50% -6%, rgba(234, 88, 12, 0.07), transparent 62%), + #FDFBF7; + + .expert-status-card { + background: + radial-gradient(circle at 90% 8%, rgba(234, 88, 12, 0.05), transparent 42%), + linear-gradient(145deg, #FFFFFF 0%, #FFFBF5 100%); + border-color: #F0ECE4; + box-shadow: 0 14rpx 32rpx rgba(28, 25, 23, 0.06); + + .expert-name { + color: #1C1917; + } + + .switch-wrap { + background: #F8F5F0; + border-color: #F0ECE4; + + .switch-label { + color: #57534E; + } + } + } + + .stats-board, + .section-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + + .stat-val { + color: #1C1917; + } + } + + .revenue-trends-card { + .trend-tabs { + background: #F8F5F0; + border-color: #F0ECE4; + } + + .period-summary-row { + background: #FAF8F4; + border-color: #F0ECE4; + } + } +} diff --git a/pwuniapp/pages/user/notifications.vue b/pwuniapp/pages/user/notifications.vue index f41d205..7146b23 100644 --- a/pwuniapp/pages/user/notifications.vue +++ b/pwuniapp/pages/user/notifications.vue @@ -390,4 +390,79 @@ onShow(() => { .btn-active:active { opacity: 0.75; } +/* ===== Premium visual layer: 消息通知 ===== */ +.notif-page { + background: + radial-gradient(110% 38% at 50% -6%, rgba(99, 102, 241, 0.12), transparent 62%), + var(--surface-0); + + .custom-nav-bar { + background: rgba(7, 11, 20, 0.88); + backdrop-filter: blur(18px); + border-bottom-color: rgba(255, 255, 255, 0.05); + } + + .notif-summary { + background: linear-gradient(145deg, rgba(24, 34, 58, 0.88) 0%, rgba(13, 20, 36, 0.92) 100%); + border-color: var(--hairline); + box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.16); + } + + .notif-card { + background: rgba(15, 22, 38, 0.78); + border-color: var(--hairline); + border-radius: 16px; + box-shadow: 0 10rpx 24rpx rgba(0, 0, 0, 0.12); + + &.is-unread { + background: linear-gradient(145deg, rgba(30, 41, 66, 0.92) 0%, rgba(18, 27, 46, 0.94) 100%); + border-color: rgba(129, 140, 248, 0.22); + } + + .notif-title { + font-size: 14px; + letter-spacing: 0.2rpx; + } + + .notif-content { + color: #A7B3CB; + } + } + + .notif-dot { + box-shadow: 0 0 10rpx rgba(255, 95, 87, 0.45); + } +} + +.notif-page.theme-warm { + background: + radial-gradient(100% 36% at 50% -6%, rgba(234, 88, 12, 0.06), transparent 62%), + #FDFBF7; + + .custom-nav-bar { + background: rgba(253, 251, 247, 0.92); + border-bottom-color: #F0ECE4; + } + + .notif-summary { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 12rpx 28rpx rgba(28, 25, 23, 0.05); + } + + .notif-card { + background: #FFFFFF; + border-color: #F0ECE4; + box-shadow: 0 10rpx 24rpx rgba(28, 25, 23, 0.04); + + &.is-unread { + background: #FFFDF8; + border-color: #FED7AA; + } + + .notif-content { + color: #78716C; + } + } +}