fix(polish): 订单购物车论坛粉边软化 + 论坛付费帖购链路

- 购物车/商品/论坛表面复用 #77 soft recipe(mix 边 + soft ring)
- 论坛 visibility=pay:订单 resource + 余额扣费闭环
- VIP 价/免费解锁 + 购买 CTA/AJAX,复用现有 Order/Credits

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-12 13:34:03 +08:00
co-authored by Claude Fable 5
parent de204c4794
commit 043ac178fe
21 changed files with 411 additions and 52 deletions
+2 -2
View File
@@ -224,7 +224,7 @@
.aksrt-forum-board__application-reason {
margin: 10px 0;
padding: 10px 12px;
border-left: 3px solid var(--color-primary, #1890ff);
border-left: 3px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
background: var(--surface-2, #f8fafc);
color: var(--color-ink-3, #64748b);
font-size: 13px;
@@ -240,7 +240,7 @@
padding: 12px 16px;
background: var(--surface-1, #fff);
border-radius: 8px;
border-left: 3px solid var(--color-primary);
border-left: 3px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
}
.aksrt-forum-board__sticky h3 {
+3 -2
View File
@@ -489,8 +489,9 @@
}
.aksrt-forum-compose__draft:hover {
border-color: var(--color-primary);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
color: var(--color-primary);
background: var(--color-primary-softer, color-mix(in srgb, var(--color-primary) 6%, transparent));
}
/* ── topic cover (§7.3) ── */
@@ -646,7 +647,7 @@
}
.aksrt-forum-compose__cover-btn:hover {
border-color: var(--color-primary);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
color: var(--color-primary);
background: var(--color-primary-soft);
}
@@ -43,7 +43,7 @@
}
.aksrt-forum-reply.is-pinned {
border-left: 3px solid #1890ff;
border-left: 3px solid color-mix(in srgb, var(--color-primary) 55%, transparent);
}
.aksrt-forum-reply.is-pinned.is-hot {
+6 -6
View File
@@ -253,7 +253,7 @@
.aksrt-forum-topic__badge--question {
background: #e6f7ff;
color: #1890ff;
color: var(--color-primary);
}
.aksrt-forum-topic__badge--solved {
@@ -263,7 +263,7 @@
.aksrt-forum-topic-item__badge--question {
background: #e6f7ff;
color: #1890ff;
color: var(--color-primary);
}
.aksrt-forum-topic-item__badge--solved {
@@ -328,8 +328,8 @@
}
.aksrt-forum-topic__score-btn:hover:not(:disabled) {
border-color: var(--color-primary, #1890ff);
color: var(--color-primary, #1890ff);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
color: var(--color-primary);
}
.aksrt-forum-topic__score-btn--up:hover:not(:disabled) {
@@ -372,7 +372,7 @@
.aksrt-forum-topic__vote-type-badge {
display: inline-block;
padding: 1px 6px;
background: var(--color-primary, #1890ff);
background: var(--color-primary);
color: #fff;
border-radius: var(--radius-pill, 999px);
font-size: 11px;
@@ -401,7 +401,7 @@
.aksrt-forum-topic__chip--topic-cat {
background: var(--color-primary-bg, #e6f7ff);
color: var(--color-primary, #1890ff);
color: var(--color-primary);
font-weight: 600;
}
@@ -14,11 +14,11 @@
}
.aksrt-forum-reply__like-btn:hover {
color: var(--c-primary, #1890ff);
color: var(--color-primary);
}
.aksrt-forum-reply__like-btn.is-active {
color: var(--c-primary, #1890ff);
color: var(--color-primary);
}
.aksrt-forum-reply__like-count {
@@ -17,7 +17,7 @@
}
.aksrt-forum-replies__more-btn:hover {
border-color: var(--c-primary, #1890ff);
color: var(--c-primary, #1890ff);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
color: var(--color-primary);
}
@@ -19,8 +19,8 @@
}
.aksrt-forum-quick-post__input:hover {
border-color: var(--c-primary, #1890ff);
box-shadow: 0 0 0 2px rgba(24, 144, 255, .1);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
.aksrt-forum-quick-post__input img {
@@ -16,7 +16,7 @@
.aksrt-forum-reply__reply-btn:hover,
.aksrt-forum-reply__top-btn:hover {
color: var(--c-primary, #1890ff);
color: var(--color-primary);
}
/* ── §7.3 Hidden content block [aksrt_hide] ── */
@@ -80,13 +80,13 @@
.aksrt-forum-home-tabs__btn:hover {
color: var(--c-text-1, #333);
border-color: var(--c-primary, #1890ff);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
}
.aksrt-forum-home-tabs__btn.is-active {
background: var(--c-primary, #1890ff);
background: var(--color-primary);
color: #fff;
border-color: var(--c-primary, #1890ff);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
}
.aksrt-forum-home-tabs__badge {
@@ -30,13 +30,13 @@
.aksrt-forum-replies__tab:hover {
color: var(--c-text-1, #333);
border-color: var(--c-primary, #1890ff);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
}
.aksrt-forum-replies__tab.is-active {
background: var(--c-primary, #1890ff);
background: var(--color-primary);
color: #fff;
border-color: var(--c-primary, #1890ff);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
}
.aksrt-forum-replies__filter {
+4 -1
View File
@@ -266,7 +266,10 @@
}
.aksrt-forum-topic__vote-option.is-selected {
outline: 1px solid var(--color-primary);
outline: none;
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
background: var(--color-primary-soft, color-mix(in srgb, var(--color-primary) 12%, transparent));
box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
.aksrt-forum-topic__vote-count {
+2 -1
View File
@@ -17,7 +17,8 @@
}
.aksrt-forum-topic-row:hover {
border-color: var(--color-primary);
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
box-shadow: var(--shadow-sm);
}
.aksrt-forum-topic-row__avatar img {
+7 -6
View File
@@ -87,7 +87,7 @@
.aksrt-product-card:hover {
transform: translateY(-3px);
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
border-color: var(--color-primary, var(--color-primary));
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
}
.aksrt-product-card__link {
@@ -205,13 +205,13 @@
}
.aksrt-product-archive__pagination .page-numbers:hover {
border-color: var(--color-primary, var(--color-primary));
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
color: var(--color-primary, var(--color-primary));
}
.aksrt-product-archive__pagination .page-numbers.current {
background: var(--color-primary, var(--color-primary));
border-color: var(--color-primary, var(--color-primary));
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
color: #fff;
}
@@ -506,7 +506,7 @@
}
.aksrt-cart__qty-btn:hover {
border-color: var(--color-primary, var(--color-primary));
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
}
.aksrt-cart__item-subtotal {
@@ -675,7 +675,8 @@
.aksrt-product-edit__field input:focus,
.aksrt-product-edit__field textarea:focus {
outline: none;
border-color: var(--color-primary, var(--color-primary));
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);
}
.aksrt-product-edit__field textarea {
@@ -717,7 +718,7 @@
}
.aksrt-product-edit__actions .btn-ghost:hover {
border-color: var(--color-primary, var(--color-primary));
border-color: color-mix(in srgb, var(--color-primary) 45%, var(--color-line, #e5e7eb));
}
.aksrt-product-archive__toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}