fix: improve promotion tabs and referral layout
This commit is contained in:
1 parent
ff730ab593
commit
5b9f54f5ac
5 files changed
+20
-8
No files matched your search
@@ -184,11 +184,16 @@
|
||||
.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-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-summary-row--link input { width: 100%; min-width: 0; 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-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); }
|
||||
@@ -356,7 +361,8 @@
|
||||
.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: 1fr auto; }
|
||||
.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; }
|
||||
|
||||
@@ -395,7 +395,13 @@
|
||||
api('/promotion/me').then(function (r) {
|
||||
if (!r.ok) { setFeedback((r.json && r.json.message) || '推广数据加载失败。', true); return; }
|
||||
var j = r.json || {}, stats = j.stats || {};
|
||||
if (input) input.value = j.url || '';
|
||||
if (input) {
|
||||
input.value = j.url || '';
|
||||
/* Keep the complete ref URL readable on desktop; mobile CSS still caps it. */
|
||||
var linkLength = String(j.url || '').length;
|
||||
input.setAttribute('size', String(Math.max(28, Math.min(96, linkLength || 28))));
|
||||
input.style.width = Math.max(28, Math.min(96, linkLength || 28)) + 'ch';
|
||||
}
|
||||
if (copy) copy.disabled = !j.url;
|
||||
var ratio = root.querySelector('[data-affiliate-ratio]'); if (ratio) ratio.textContent = String(j.ratio || 0) + '%';
|
||||
var promoters = root.querySelector('[data-affiliate-promoters]'); if (promoters) promoters.textContent = String(stats.promoters || 0);
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
if (name === 'creator' || name === 'promotion' || name === 'posts' || name === 'follow') {
|
||||
var params = queryParams || new URLSearchParams(window.location.search);
|
||||
var allowedParams = name === 'creator' ? ['income_page'] :
|
||||
(name === 'promotion' ? ['reward_tab', 'commission_page', 'invite_page'] :
|
||||
(name === 'promotion' ? ['reward_tab', 'commission_page', 'user_page'] :
|
||||
(name === 'posts' ? ['post_status', 'posts_page'] : ['follow_list', 'follow_page']));
|
||||
allowedParams.forEach(function(key) {
|
||||
if (params.get(key)) url += (url.indexOf('?') === -1 ? '?' : '&') + key + '=' + encodeURIComponent(params.get(key));
|
||||
|
||||
Reference in new issue
Block a user