fix: improve promotion tabs and referral layout

This commit is contained in:
kate522 committed 2026-08-16 21:28:02 +08:00
1 parent 5b9f54f5ac
commit 853114a9f9
18 files changed
+127 -602

No files matched your search

+1 -1
View File
@@ -5,5 +5,5 @@
@import url("user-center/settings.css");
@import url("revenue.css");
@import url("user-center/revenue.css");
@import url("user-center/promotion.css");
@import url("user-center/revenue-earnings.css");
@import url("user-center/responsive.css");
@@ -1,76 +1,76 @@
/**
* User Center — 推广中心 (promotion / invite) standalone tab.
* User Center — revenue standalone tab.
*
* Hosts the [data-aksrt-invite] card moved out of the revenue tab. Priority
* order: 成果概览 → 分享操作 → 奖励说明 → 邀请记录. Status/feedback are text
* (data-invite-status / data-invite-copy-feedback), never colour-only.
*/
/* Standalone panel: the uc-promotion-panel is the only card, so flatten the
/* Standalone panel: the uc-revenue-panel is the only card, so flatten the
* generic dashboard-panel chrome (mirrors #panel-revenue / #panel-vip). */
.uc-content #panel-promotion.dashboard-panel { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.uc-content .uc-promotion-page { padding: 4px 0; }
.uc-content #panel-revenue.dashboard-panel { padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.uc-content .uc-revenue-page { padding: 4px 0; }
.uc-content .uc-promotion-panel { display: grid; gap: 18px; padding: 22px; border: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); border-radius: 14px; background: var(--surface-1); }
.uc-content .uc-promotion-card { margin: 0; }
.uc-content .uc-promotion-panel__header { display: flex; align-items: center; gap: 12px; }
.uc-content .uc-promotion-panel__icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #db2777, #f472b6); }
.uc-content .uc-promotion-panel__eyebrow { margin: 0 0 2px; color: #b8377d; font-size: 12px; font-weight: 700; }
.uc-content .uc-promotion-panel__header h3 { margin: 0; font-size: 19px; }
.uc-content .uc-promotion-panel__intro,
.uc-content .uc-promotion-section__header p { margin: 0; color: var(--color-ink-4); font-size: 13px; line-height: 1.65; }
.uc-content .uc-promotion-panel__status { margin: 0; padding: 10px 12px; border-radius: 8px; color: var(--color-ink-3); background: var(--surface-2); font-size: 13px; }
.uc-content .uc-promotion-panel__status.is-error,
.uc-content .uc-promotion-copy-feedback.is-error { color: var(--color-error, #dc2626); }
.uc-content .uc-promotion-section { padding-top: 2px; }
.uc-content .uc-promotion-section h4 { margin: 0 0 4px; font-size: 15px; }
.uc-content .uc-revenue-panel { display: grid; gap: 18px; padding: 22px; border: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); border-radius: 14px; background: var(--surface-1); }
.uc-content .uc-revenue-card { margin: 0; }
.uc-content .uc-revenue-panel__header { display: flex; align-items: center; gap: 12px; }
.uc-content .uc-revenue-panel__icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 12px; color: #fff; background: linear-gradient(135deg, #db2777, #f472b6); }
.uc-content .uc-revenue-panel__eyebrow { margin: 0 0 2px; color: #b8377d; font-size: 12px; font-weight: 700; }
.uc-content .uc-revenue-panel__header h3 { margin: 0; font-size: 19px; }
.uc-content .uc-revenue-panel__intro,
.uc-content .uc-revenue-section__header p { margin: 0; color: var(--color-ink-4); font-size: 13px; line-height: 1.65; }
.uc-content .uc-revenue-panel__status { margin: 0; padding: 10px 12px; border-radius: 8px; color: var(--color-ink-3); background: var(--surface-2); font-size: 13px; }
.uc-content .uc-revenue-panel__status.is-error,
.uc-content .uc-revenue-copy-feedback.is-error { color: var(--color-error, #dc2626); }
.uc-content .uc-revenue-section { padding-top: 2px; }
.uc-content .uc-revenue-section h4 { margin: 0 0 4px; font-size: 15px; }
/* 成果概览 — the hero metric row. */
.uc-content .uc-promotion-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; border: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); border-radius: 12px; overflow: hidden; }
.uc-content .uc-promotion-stat { display: grid; gap: 4px; padding: 16px; border-right: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); }
.uc-content .uc-promotion-stat:last-child { border-right: 0; }
.uc-content .uc-promotion-stat span,
.uc-content .uc-promotion-stat small { color: var(--color-ink-4); font-size: 12px; }
.uc-content .uc-promotion-stat strong { color: #b8377d; font-size: 28px; font-variant-numeric: tabular-nums; line-height: 1.1; }
.uc-content .uc-revenue-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 12px; border: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); border-radius: 12px; overflow: hidden; }
.uc-content .uc-revenue-stat { display: grid; gap: 4px; padding: 16px; border-right: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); }
.uc-content .uc-revenue-stat:last-child { border-right: 0; }
.uc-content .uc-revenue-stat span,
.uc-content .uc-revenue-stat small { color: var(--color-ink-4); font-size: 12px; }
.uc-content .uc-revenue-stat strong { color: #b8377d; font-size: 28px; font-variant-numeric: tabular-nums; line-height: 1.1; }
/* 分享操作 — code + copyable link + primary button. */
.uc-content .uc-promotion-share { display: grid; gap: 10px; margin-top: 12px; }
.uc-content .uc-promotion-code { display: flex; align-items: baseline; gap: 10px; color: var(--color-ink-4); font-size: 13px; }
.uc-content .uc-promotion-code strong { color: var(--color-ink); font-size: 19px; letter-spacing: .08em; }
.uc-content .uc-promotion-link-row { display: flex; gap: 10px; }
.uc-content .uc-promotion-link { flex: 1; min-width: 0; height: 42px; padding: 0 11px; border: 1px solid var(--color-line-soft, rgba(0,0,0,.1)); border-radius: 8px; background: var(--surface-2); }
.uc-content .uc-promotion-copy { min-width: 108px; }
.uc-content .uc-promotion-copy-feedback { min-height: 18px; margin: 0; color: var(--color-ink-4); font-size: 12px; }
.uc-content .uc-revenue-share { display: grid; gap: 10px; margin-top: 12px; }
.uc-content .uc-revenue-code { display: flex; align-items: baseline; gap: 10px; color: var(--color-ink-4); font-size: 13px; }
.uc-content .uc-revenue-code strong { color: var(--color-ink); font-size: 19px; letter-spacing: .08em; }
.uc-content .uc-revenue-link-row { display: flex; gap: 10px; }
.uc-content .uc-revenue-link { flex: 1; min-width: 0; height: 42px; padding: 0 11px; border: 1px solid var(--color-line-soft, rgba(0,0,0,.1)); border-radius: 8px; background: var(--surface-2); }
.uc-content .uc-revenue-copy { min-width: 108px; }
.uc-content .uc-revenue-copy-feedback { min-height: 18px; margin: 0; color: var(--color-ink-4); font-size: 12px; }
/* 邀请记录 — list with per-row status badge + text. */
.uc-content .uc-promotion-records__header { display: flex; justify-content: space-between; gap: 12px; }
.uc-content .uc-promotion-record-list { display: grid; margin-top: 12px; }
.uc-content .uc-promotion-record { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); }
.uc-content .uc-promotion-record__avatar { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; overflow: hidden; border-radius: 50%; background: var(--surface-2); }
.uc-content .uc-promotion-record__avatar img { width: 100%; height: 100%; object-fit: cover; }
.uc-content .uc-promotion-record__main { display: grid; flex: 1; min-width: 0; gap: 3px; }
.uc-content .uc-promotion-record__main span,
.uc-content .uc-promotion-record__status small { color: var(--color-ink-4); font-size: 12px; }
.uc-content .uc-promotion-record__status { display: grid; justify-items: end; gap: 4px; }
.uc-content .uc-promotion-badge { padding: 3px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.uc-content .uc-promotion-badge.is-registered { color: #2563eb; background: rgba(37,99,235,.1); }
.uc-content .uc-promotion-badge.is-verified { color: #7c3aed; background: rgba(124,58,237,.1); }
.uc-content .uc-promotion-badge.is-rewarded { color: #16a34a; background: rgba(22,163,74,.1); }
.uc-content .uc-promotion-record-empty { padding: 22px; border-top: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); color: var(--color-ink-4); font-size: 13px; text-align: center; }
.uc-content .uc-revenue-records__header { display: flex; justify-content: space-between; gap: 12px; }
.uc-content .uc-revenue-record-list { display: grid; margin-top: 12px; }
.uc-content .uc-revenue-record { display: flex; align-items: center; gap: 12px; padding: 12px 0; border-top: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); }
.uc-content .uc-revenue-record__avatar { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; overflow: hidden; border-radius: 50%; background: var(--surface-2); }
.uc-content .uc-revenue-record__avatar img { width: 100%; height: 100%; object-fit: cover; }
.uc-content .uc-revenue-record__main { display: grid; flex: 1; min-width: 0; gap: 3px; }
.uc-content .uc-revenue-record__main span,
.uc-content .uc-revenue-record__status small { color: var(--color-ink-4); font-size: 12px; }
.uc-content .uc-revenue-record__status { display: grid; justify-items: end; gap: 4px; }
.uc-content .uc-revenue-badge { padding: 3px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; }
.uc-content .uc-revenue-badge.is-registered { color: #2563eb; background: rgba(37,99,235,.1); }
.uc-content .uc-revenue-badge.is-verified { color: #7c3aed; background: rgba(124,58,237,.1); }
.uc-content .uc-revenue-badge.is-rewarded { color: #16a34a; background: rgba(22,163,74,.1); }
.uc-content .uc-revenue-record-empty { padding: 22px; border-top: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); color: var(--color-ink-4); font-size: 13px; text-align: center; }
/* 键盘可聚焦:复制按钮与链接输入的可见焦点。 */
.uc-content .uc-promotion-copy:focus-visible,
.uc-content .uc-promotion-link:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.uc-content .uc-revenue-copy:focus-visible,
.uc-content .uc-revenue-link:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
/* 移动端:单列、无横向溢出、复制按钮整行可点击。 */
@media (max-width: 640px) {
.uc-content .uc-promotion-panel { padding: 18px; }
.uc-content .uc-promotion-stats { grid-template-columns: 1fr; }
.uc-content .uc-promotion-stat { border-right: 0; border-bottom: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); }
.uc-content .uc-promotion-stat:last-child { border-bottom: 0; }
.uc-content .uc-promotion-link-row { flex-direction: column; }
.uc-content .uc-promotion-copy { width: 100%; }
.uc-content .uc-promotion-record { align-items: flex-start; }
.uc-content .uc-revenue-panel { padding: 18px; }
.uc-content .uc-revenue-stats { grid-template-columns: 1fr; }
.uc-content .uc-revenue-stat { border-right: 0; border-bottom: 1px solid var(--color-line-soft, rgba(0,0,0,.06)); }
.uc-content .uc-revenue-stat:last-child { border-bottom: 0; }
.uc-content .uc-revenue-link-row { flex-direction: column; }
.uc-content .uc-revenue-copy { width: 100%; }
.uc-content .uc-revenue-record { align-items: flex-start; }
}
/* New affiliate contract cards. */
@@ -183,31 +183,31 @@
.uc-content .uc-reward-tabs a { position: relative; padding: 0 0 12px; color: var(--color-ink-4); font-size: 14px; text-decoration: none; }
.uc-content .uc-reward-tabs a.is-active { color: var(--color-primary); font-weight: 700; }
.uc-content .uc-reward-tabs a.is-active::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; border-radius: 99px; background: var(--color-primary); content: ""; }
.uc-content .uc-promotion-summary-list { display: grid; gap: 0; max-width: 920px; }
.uc-content .uc-revenue-summary-list { display: grid; gap: 0; max-width: 920px; }
.uc-content .uc-reward-pane--detail { grid-template-columns: minmax(0, 1fr); width: 100%; }
.uc-content .uc-reward-pane--detail .uc-promotion-summary-list { width: 100%; max-width: none; }
.uc-content .uc-promotion-summary-row { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 54px; padding: 8px 0; border-bottom: 1px solid var(--color-line-soft, rgba(15, 23, 42, .07)); }
.uc-content .uc-promotion-summary-row > span { color: var(--color-ink-3); font-size: 14px; }
.uc-content .uc-promotion-summary-row > strong { color: var(--color-ink); font-size: 16px; }
.uc-content .uc-promotion-summary-row > em { color: var(--color-ink-4); font-style: normal; }
.uc-content .uc-promotion-count { display: flex; align-items: baseline; gap: 2px; }
.uc-content .uc-promotion-count strong { color: var(--color-ink); font-size: 16px; }
.uc-content .uc-promotion-count em { color: var(--color-ink-4); font-style: normal; }
.uc-content .uc-promotion-summary-row--link input { width: auto; max-width: 100%; min-width: 28ch; height: 38px; padding: 0 10px; border: 1px solid var(--color-line-soft, rgba(15, 23, 42, .12)); border-radius: 7px; color: var(--color-primary); background: var(--surface-2, #f8fafc); }
.uc-content .uc-promotion-summary-row--link button { min-width: 64px; height: 38px; padding: 0 12px; border-radius: 7px; }
.uc-content .uc-promotion-summary-row--link small { grid-column: 2 / -1; min-height: 16px; color: var(--color-success, #16a34a); font-size: 12px; }
.uc-content .uc-promotion-summary-row--link small.is-error { color: var(--color-error, #dc2626); }
.uc-content .uc-promotion-summary-row--total > div { display: flex; flex-wrap: wrap; gap: 12px; }
.uc-content .uc-promotion-summary-row--total strong { padding: 7px 11px; border-radius: 7px; color: var(--color-primary); background: var(--surface-2, #f8fafc); font-size: 14px; }
.uc-content .uc-promotion-summary-row--explain { align-items: start; padding-top: 16px; border-bottom: 0; }
.uc-content .uc-promotion-summary-row--explain .uc-reward-richtext { grid-column: 2 / -1; color: var(--color-ink-3); font-size: 14px; line-height: 1.75; }
.uc-content .uc-promotion-summary-row--explain .uc-reward-richtext p { margin: 0; }
.uc-content .uc-promotion-user-list { display: grid; }
.uc-content .uc-promotion-user-row { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--color-line-soft, rgba(15, 23, 42, .07)); }
.uc-content .uc-promotion-user-row img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; background: var(--surface-2); }
.uc-content .uc-promotion-user-row > div { display: grid; flex: 1; gap: 3px; min-width: 0; }
.uc-content .uc-promotion-user-row small { color: var(--color-ink-4); font-size: 12px; }
.uc-content .uc-promotion-user-row > span { color: var(--color-success, #16a34a); font-size: 12px; }
.uc-content .uc-reward-pane--detail .uc-revenue-summary-list { width: 100%; max-width: none; }
.uc-content .uc-revenue-summary-row { display: grid; grid-template-columns: 112px minmax(0, 1fr) auto; align-items: center; gap: 12px; min-height: 54px; padding: 8px 0; border-bottom: 1px solid var(--color-line-soft, rgba(15, 23, 42, .07)); }
.uc-content .uc-revenue-summary-row > span { color: var(--color-ink-3); font-size: 14px; }
.uc-content .uc-revenue-summary-row > strong { color: var(--color-ink); font-size: 16px; }
.uc-content .uc-revenue-summary-row > em { color: var(--color-ink-4); font-style: normal; }
.uc-content .uc-revenue-count { display: flex; align-items: baseline; gap: 2px; }
.uc-content .uc-revenue-count strong { color: var(--color-ink); font-size: 16px; }
.uc-content .uc-revenue-count em { color: var(--color-ink-4); font-style: normal; }
.uc-content .uc-revenue-summary-row--link input { width: auto; max-width: 100%; min-width: 28ch; height: 38px; padding: 0 10px; border: 1px solid var(--color-line-soft, rgba(15, 23, 42, .12)); border-radius: 7px; color: var(--color-primary); background: var(--surface-2, #f8fafc); }
.uc-content .uc-revenue-summary-row--link button { min-width: 64px; height: 38px; padding: 0 12px; border-radius: 7px; }
.uc-content .uc-revenue-summary-row--link small { grid-column: 2 / -1; min-height: 16px; color: var(--color-success, #16a34a); font-size: 12px; }
.uc-content .uc-revenue-summary-row--link small.is-error { color: var(--color-error, #dc2626); }
.uc-content .uc-revenue-summary-row--total > div { display: flex; flex-wrap: wrap; gap: 12px; }
.uc-content .uc-revenue-summary-row--total strong { padding: 7px 11px; border-radius: 7px; color: var(--color-primary); background: var(--surface-2, #f8fafc); font-size: 14px; }
.uc-content .uc-revenue-summary-row--explain { align-items: start; padding-top: 16px; border-bottom: 0; }
.uc-content .uc-revenue-summary-row--explain .uc-reward-richtext { grid-column: 2 / -1; color: var(--color-ink-3); font-size: 14px; line-height: 1.75; }
.uc-content .uc-revenue-summary-row--explain .uc-reward-richtext p { margin: 0; }
.uc-content .uc-revenue-user-list { display: grid; }
.uc-content .uc-revenue-user-row { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--color-line-soft, rgba(15, 23, 42, .07)); }
.uc-content .uc-revenue-user-row img { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; background: var(--surface-2); }
.uc-content .uc-revenue-user-row > div { display: grid; flex: 1; gap: 3px; min-width: 0; }
.uc-content .uc-revenue-user-row small { color: var(--color-ink-4); font-size: 12px; }
.uc-content .uc-revenue-user-row > span { color: var(--color-success, #16a34a); font-size: 12px; }
.uc-content .uc-commission-card__action:hover {
background: rgba(255, 255, 255, .24);
@@ -360,11 +360,11 @@
.uc-content .uc-reward-area { padding: 20px 16px 24px; }
.uc-content .uc-reward-area__heading { display: grid; gap: 4px; }
.uc-content .uc-reward-tabs { gap: 16px; overflow-x: auto; }
.uc-content .uc-promotion-summary-row { grid-template-columns: 92px minmax(0, 1fr) auto; gap: 8px; }
.uc-content .uc-promotion-summary-row--link { grid-template-columns: minmax(0, 1fr) auto; }
.uc-content .uc-promotion-summary-row--link input { width: 100% !important; min-width: 0; }
.uc-content .uc-promotion-summary-row--link > span { grid-column: 1 / -1; }
.uc-content .uc-promotion-summary-row--link small { grid-column: 1 / -1; }
.uc-content .uc-promotion-summary-row--explain { grid-template-columns: 1fr; }
.uc-content .uc-promotion-summary-row--explain .uc-reward-richtext { grid-column: 1; }
.uc-content .uc-revenue-summary-row { grid-template-columns: 92px minmax(0, 1fr) auto; gap: 8px; }
.uc-content .uc-revenue-summary-row--link { grid-template-columns: minmax(0, 1fr) auto; }
.uc-content .uc-revenue-summary-row--link input { width: 100% !important; min-width: 0; }
.uc-content .uc-revenue-summary-row--link > span { grid-column: 1 / -1; }
.uc-content .uc-revenue-summary-row--link small { grid-column: 1 / -1; }
.uc-content .uc-revenue-summary-row--explain { grid-template-columns: 1fr; }
.uc-content .uc-revenue-summary-row--explain .uc-reward-richtext { grid-column: 1; }
}
+1 -1
View File
@@ -1,5 +1,5 @@
/**
* User Center - commission and promotion rewards.
* User Center - commission and revenue rewards.
*/
.uc-content #panel-revenue.dashboard-panel {
+1 -1
View File
@@ -736,7 +736,7 @@ body.aksrt-user-center .uc-content,
.uc-service-grid__item--cart .uc-service-grid__icon { color: #dd6941; background: rgba(238, 109, 61, 0.12); }
.uc-service-grid__item--level .uc-service-grid__icon { color: #9b6b0a; background: rgba(234, 179, 8, 0.13); }
.uc-service-grid__item--promotion .uc-service-grid__icon { color: #b8377d; background: rgba(219, 39, 119, 0.12); }
.uc-service-grid__item--revenue .uc-service-grid__icon { color: #b8377d; background: rgba(219, 39, 119, 0.12); }
.uc-service-grid__item--auth .uc-service-grid__icon { color: #287bc4; background: rgba(14, 165, 233, 0.12); }
.uc-service-grid__item--orders .uc-service-grid__icon { color: #c05621; background: rgba(234, 88, 12, 0.12); }
.uc-service-grid__item--notice .uc-service-grid__icon { color: #d04b65; background: rgba(244, 63, 94, 0.11); }