补充主题静态资源与归档模板

This commit is contained in:
kate522 committed 2026-07-03 23:15:11 +08:00
1 parent 1268a55dd0
commit 3247db7ed1
265 files changed
+59174

No files matched your search

+402
View File
@@ -0,0 +1,402 @@
/* ============================================================
* Forum — 板块页、主题页、发帖页
* ============================================================ */
/* Board page */
.aksrt-forum-board {
padding-top: 24px;
padding-bottom: 48px;
}
.aksrt-forum-board__header {
display: flex;
align-items: flex-start;
justify-content: space-between;
gap: 16px;
margin-bottom: 24px;
padding: 20px;
background: var(--surface-1, #fff);
border-radius: 12px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.aksrt-forum-board__title {
margin: 0 0 4px;
font-size: 22px;
font-weight: 700;
color: var(--color-ink);
}
.aksrt-forum-board__desc {
margin: 0 0 8px;
font-size: 14px;
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-board__meta {
display: flex;
gap: 16px;
font-size: 13px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-board__meta i {
margin-right: 4px;
}
.aksrt-forum-board__compose-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 18px;
border-radius: 8px;
background: var(--color-primary);
color: #fff;
text-decoration: none;
font-size: 14px;
font-weight: 500;
white-space: nowrap;
transition: opacity 0.15s;
}
.aksrt-forum-board__compose-btn:hover {
opacity: 0.85;
}
.aksrt-forum-board__actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: flex-end;
}
.aksrt-forum-board__manage-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
border-radius: 8px;
border: 1px solid var(--color-line, #d9d9d9);
background: var(--surface-1, #fff);
color: var(--color-ink);
text-decoration: none;
cursor: pointer;
font-size: 13px;
}
.aksrt-forum-board__manage-btn--danger {
border-color: var(--color-error, #f5222d);
color: var(--color-error, #f5222d);
}
.aksrt-forum-board__manage-btn--danger:hover {
background: var(--color-error, #f5222d);
color: #fff;
}
.aksrt-forum-board__governance {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 16px;
margin-bottom: 20px;
}
.aksrt-forum-board__governance-card {
padding: 18px;
background: var(--surface-1, #fff);
border-radius: 12px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.aksrt-forum-board__section-title {
margin: 0 0 10px;
font-size: 15px;
font-weight: 600;
color: var(--color-ink);
}
.aksrt-forum-board__moderators {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.aksrt-forum-board__moderator {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 6px 10px;
border-radius: 999px;
background: var(--surface-1, #f8f9fa);
}
.aksrt-forum-board__moderator img {
width: 36px;
height: 36px;
border-radius: 50%;
}
.aksrt-forum-board__application-form textarea {
width: 100%;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
padding: 10px 12px;
resize: vertical;
font-family: inherit;
}
.aksrt-forum-board__application-actions {
display: flex;
align-items: center;
gap: 10px;
margin-top: 10px;
}
.aksrt-forum-board__apply-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px 14px;
border: none;
border-radius: 8px;
background: var(--color-primary);
color: #fff;
cursor: pointer;
}
.aksrt-forum-board__application-note {
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-board__application-reason {
margin: 10px 0;
padding: 10px 12px;
border-left: 3px solid var(--color-primary, #1890ff);
background: var(--surface-2, #f8fafc);
color: var(--color-ink-3, #64748b);
font-size: 13px;
}
.aksrt-forum-board__governance-card .aksrt-forum-board__apply-btn {
text-decoration: none;
}
/* Sticky section */
.aksrt-forum-board__sticky {
margin-bottom: 16px;
padding: 12px 16px;
background: var(--surface-1, #fff);
border-radius: 8px;
border-left: 3px solid var(--color-primary);
}
.aksrt-forum-board__sticky h3 {
margin: 0 0 8px;
font-size: 13px;
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-board__sticky-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 6px 0;
text-decoration: none;
color: var(--color-ink);
font-size: 14px;
}
.aksrt-forum-board__sticky-item:hover {
color: var(--color-primary);
}
.aksrt-forum-board__sticky-meta {
font-size: 12px;
color: var(--color-ink-4, #c0c4cc);
}
.aksrt-forum-board__sticky-badge {
display: inline-block;
padding: 1px 6px;
border-radius: 3px;
font-size: 11px;
font-weight: 500;
background: var(--color-primary);
color: #fff;
margin-right: 6px;
flex-shrink: 0;
}
/* Topic list items */
.aksrt-forum-board__topics {
display: flex;
flex-direction: column;
gap: 1px;
}
.aksrt-forum-topic-item {
display: flex;
align-items: center;
gap: 12px;
padding: 14px 16px;
background: var(--surface-1, #fff);
transition: background 0.15s;
}
.aksrt-forum-topic-item:first-child {
border-radius: 8px 8px 0 0;
}
.aksrt-forum-topic-item:last-child {
border-radius: 0 0 8px 8px;
}
.aksrt-forum-topic-item:hover {
background: var(--surface-1, #f8f9fa);
}
.aksrt-forum-topic-item.is-sticky {
background: var(--surface-2, #f0f5ff);
}
.aksrt-forum-topic-item.is-featured {
border-left: 3px solid var(--color-success, #52c41a);
}
.aksrt-forum-topic-item__avatar img {
width: 40px;
height: 40px;
border-radius: 50%;
}
.aksrt-forum-topic-item__body {
flex: 1;
min-width: 0;
}
.aksrt-forum-topic-item__title {
font-size: 15px;
font-weight: 500;
display: flex;
align-items: center;
gap: 6px;
}
.aksrt-forum-topic-item__title a {
color: var(--color-ink);
text-decoration: none;
}
.aksrt-forum-topic-item__title a:hover {
color: var(--color-primary);
}
.aksrt-forum-topic-item__badge {
display: inline-block;
padding: 1px 6px;
border-radius: 3px;
font-size: 11px;
font-weight: 500;
}
.aksrt-forum-topic-item__badge--sticky {
background: var(--color-primary);
color: #fff;
}
/* 置顶分级视觉区分(§7.3):超级置顶加深色,全局置顶用红色凸显。 */
.aksrt-forum-topic-item__badge--sticky-super {
background: var(--focus-color, #fd53a1);
color: #fff;
}
.aksrt-forum-topic-item__badge--sticky-global {
background: #e53e3e;
color: #fff;
}
.aksrt-forum-topic-item__badge--featured {
background: var(--color-success, #52c41a);
color: #fff;
}
.aksrt-forum-topic-item__badge--muted {
background: var(--surface-2, #f5f7fa);
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-topic-item__lock {
color: var(--color-warning, #fa8c16);
font-size: 12px;
}
.aksrt-forum-topic-item__meta {
display: flex;
gap: 12px;
margin-top: 3px;
font-size: 12px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-topic-item__stats {
display: flex;
gap: 12px;
font-size: 12px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-topic-item__stats i {
margin-right: 3px;
}
.aksrt-forum-topic-item__actions {
display: flex;
flex-direction: column;
gap: 6px;
}
.aksrt-forum-topic-item__action {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 6px 10px;
border-radius: 999px;
border: 1px solid var(--color-line, #d9d9d9);
background: #fff;
color: var(--color-ink);
text-decoration: none;
cursor: pointer;
font-size: 12px;
white-space: nowrap;
}
.aksrt-forum-topic-item__action--link {
background: var(--surface-1, #f8f9fa);
}
/* Pagination */
.aksrt-forum-board__pagination {
display: flex;
justify-content: center;
padding: 20px 0;
}
/* Empty state */
.aksrt-forum-board__empty {
text-align: center;
padding: 48px 24px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-board__empty i {
font-size: 40px;
margin-bottom: 12px;
display: block;
}
.aksrt-forum-board__empty a {
display: inline-block;
margin-top: 12px;
color: var(--color-primary);
}
+709
View File
@@ -0,0 +1,709 @@
/* ============================================================
* Compose page
* ============================================================ */
.aksrt-forum-compose {
padding-top: 24px;
padding-bottom: 48px;
max-width: 1100px;
margin: 0 auto;
}
.aksrt-forum-compose__header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 20px;
}
.aksrt-forum-compose__header h1 {
margin: 0;
font-size: 22px;
}
.aksrt-forum-compose__notice {
margin: 8px 0 0;
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-compose__back {
color: var(--color-ink-3, #8a909c);
text-decoration: none;
font-size: 14px;
}
.aksrt-forum-compose__back:hover {
color: var(--color-primary);
}
/* §7.4 — Two-column layout: main + sidebar */
.aksrt-forum-compose__layout {
display: grid;
grid-template-columns: 1fr 311px;
gap: 24px;
align-items: start;
}
.aksrt-forum-compose__main {
min-width: 0;
}
.aksrt-forum-compose__sidebar {
display: flex;
flex-direction: column;
gap: 16px;
}
/* §7.4 — Sidebar panels */
.aksrt-forum-compose__panel {
background: var(--surface-1, #fff);
border: 1px solid var(--color-line, #eceff4);
border-radius: 10px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}
.aksrt-forum-compose__panel-title {
margin: 0;
padding: 12px 16px;
font-size: 14px;
font-weight: 600;
color: var(--color-ink);
border-bottom: 1px solid var(--color-line, #eceff4);
display: flex;
align-items: center;
gap: 6px;
}
.aksrt-forum-compose__panel-title i {
color: var(--color-ink-3, #8a909c);
font-size: 13px;
}
.aksrt-forum-compose__panel-body {
padding: 14px 16px;
}
.aksrt-forum-compose__readonly {
margin: 0;
color: var(--color-ink-2, #555);
font-size: 14px;
}
.aksrt-forum-compose__status-line {
margin: 0 0 12px;
font-size: 13px;
color: var(--color-ink-3, #8a909c);
display: flex;
align-items: center;
gap: 6px;
}
.aksrt-forum-compose__form {
padding: 0;
background: transparent;
border-radius: 0;
box-shadow: none;
}
.aksrt-forum-compose__main {
padding: 24px;
background: var(--surface-1, #fff);
border-radius: 12px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.aksrt-forum-compose__field {
margin-bottom: 16px;
}
.aksrt-forum-compose__field:last-child {
margin-bottom: 0;
}
.aksrt-forum-compose__field label {
display: block;
font-size: 14px;
font-weight: 500;
color: var(--color-ink);
margin-bottom: 6px;
}
.aksrt-forum-compose__field .required {
color: var(--color-error, #f5222d);
}
.aksrt-forum-compose__field select,
.aksrt-forum-compose__field input[type="text"],
.aksrt-forum-compose__field input[type="number"],
.aksrt-forum-compose__field input[type="url"] {
width: 100%;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
padding: 8px 12px;
font-size: 14px;
font-family: inherit;
box-sizing: border-box;
}
.aksrt-forum-compose__field textarea {
width: 100%;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
padding: 10px 12px;
font-size: 14px;
resize: vertical;
font-family: inherit;
box-sizing: border-box;
}
.aksrt-forum-compose__checkbox {
display: inline-flex;
align-items: center;
gap: 8px;
cursor: pointer;
}
/* §7.4 — wp_editor wrapper */
.aksrt-forum-compose__editor-wrap {
margin-bottom: 0;
}
.aksrt-forum-compose__editor-wrap .wp-editor-wrap {
border-radius: 8px;
overflow: hidden;
}
.aksrt-forum-compose__editor-wrap .wp-editor-container {
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
}
/* §7.4 — Character counter */
.aksrt-forum-compose__char-counter {
display: block;
text-align: right;
font-size: 12px;
color: var(--color-ink-3, #8a909c);
margin-top: 4px;
}
.aksrt-forum-compose__char-counter.is-near {
color: var(--color-warning, #d48806);
}
.aksrt-forum-compose__char-counter.is-over {
color: var(--color-error, #cf1322);
font-weight: 600;
}
/* §7.4 — Draft notice */
.aksrt-forum-compose__draft-notice {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 8px;
margin-bottom: 20px;
padding: 12px 16px;
background: var(--color-info-bg, #e6f7ff);
border: 1px solid var(--color-info-border, #91d5ff);
border-radius: 8px;
font-size: 14px;
color: var(--color-info, #0050b3);
}
.aksrt-forum-compose__draft-toggle {
border: none;
background: none;
color: var(--color-primary);
cursor: pointer;
font-size: 13px;
display: inline-flex;
align-items: center;
gap: 4px;
padding: 0;
}
.aksrt-forum-compose__draft-list {
width: 100%;
margin-top: 8px;
display: flex;
flex-direction: column;
gap: 6px;
}
.aksrt-forum-compose__draft-item {
display: flex;
align-items: center;
gap: 8px;
padding: 8px 12px;
background: var(--surface-1, #fff);
border-radius: 6px;
font-size: 13px;
}
.aksrt-forum-compose__draft-title {
flex: 1;
color: var(--color-ink);
text-decoration: none;
font-weight: 500;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.aksrt-forum-compose__draft-title:hover {
color: var(--color-primary);
}
.aksrt-forum-compose__draft-meta {
color: var(--color-ink-3, #8a909c);
font-size: 12px;
flex-shrink: 0;
}
.aksrt-forum-compose__draft-delete {
border: none;
background: none;
color: var(--color-ink-3, #8a909c);
cursor: pointer;
padding: 2px;
font-size: 12px;
}
.aksrt-forum-compose__draft-delete:hover {
color: var(--color-error, #cf1322);
}
/* §7.4 — Remote search select */
.aksrt-remote-select {
position: relative;
}
.aksrt-remote-select__input {
width: 100%;
}
.aksrt-remote-select__dropdown {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: 100;
background: var(--surface-1, #fff);
border: 1px solid var(--color-line, #d9d9d9);
border-top: none;
border-radius: 0 0 8px 8px;
max-height: 200px;
overflow-y: auto;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.aksrt-remote-select__option {
padding: 8px 12px;
cursor: pointer;
font-size: 14px;
}
.aksrt-remote-select__option:hover {
background: var(--color-primary-bg, #e6f7ff);
}
/* §7.4 — Tag tokenizer */
.aksrt-tag-input {
position: relative;
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 6px;
padding: 6px 8px;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
background: var(--surface-1, #fff);
min-height: 38px;
}
.aksrt-tag-input__tokens {
display: flex;
flex-wrap: wrap;
gap: 4px;
}
.aksrt-tag-input__token {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
background: var(--color-primary-bg, #e6f7ff);
color: var(--color-primary, #1890ff);
border-radius: 4px;
font-size: 13px;
}
.aksrt-tag-input__token-remove {
border: none;
background: none;
color: var(--color-primary, #1890ff);
cursor: pointer;
padding: 0;
font-size: 14px;
line-height: 1;
opacity: 0.7;
}
.aksrt-tag-input__token-remove:hover {
opacity: 1;
}
.aksrt-tag-input__input {
flex: 1;
min-width: 80px;
border: none !important;
padding: 2px 4px !important;
font-size: 13px;
outline: none;
box-shadow: none !important;
}
.aksrt-tag-input__dropdown {
position: absolute;
top: 100%;
left: 0;
right: 0;
z-index: 100;
background: var(--surface-1, #fff);
border: 1px solid var(--color-line, #d9d9d9);
border-top: none;
border-radius: 0 0 8px 8px;
max-height: 160px;
overflow-y: auto;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.aksrt-tag-input__suggestion {
padding: 6px 12px;
cursor: pointer;
font-size: 13px;
}
.aksrt-tag-input__suggestion:hover {
background: var(--color-primary-bg, #e6f7ff);
}
.aksrt-forum-compose__vote-fields[hidden] {
display: none;
}
.aksrt-forum-compose__vote {
margin-bottom: 20px;
padding: 18px;
border: 1px solid var(--color-line, #eceff4);
border-radius: 12px;
background: var(--surface-1, #f8f9fa);
}
.aksrt-forum-compose__vote-head {
display: flex;
flex-direction: column;
gap: 8px;
margin-bottom: 12px;
}
.aksrt-forum-compose__vote-head p {
margin: 0;
color: var(--color-ink-3, #8a909c);
font-size: 13px;
}
.aksrt-forum-compose__feedback,
.aksrt-forum-board__application-feedback,
.aksrt-forum-topic__vote-feedback,
.aksrt-forum-topic__moderation-feedback {
font-size: 13px;
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-compose__feedback.is-success,
.aksrt-forum-board__application-feedback.is-success,
.aksrt-forum-topic__vote-feedback.is-success,
.aksrt-forum-topic__moderation-feedback.is-success {
color: var(--color-success, #389e0d);
}
.aksrt-forum-compose__feedback.is-error,
.aksrt-forum-board__application-feedback.is-error,
.aksrt-forum-topic__vote-feedback.is-error,
.aksrt-forum-topic__moderation-feedback.is-error {
color: var(--color-error, #cf1322);
}
.aksrt-forum-compose__feedback.is-loading,
.aksrt-forum-board__application-feedback.is-loading,
.aksrt-forum-topic__vote-feedback.is-loading,
.aksrt-forum-topic__moderation-feedback.is-loading {
color: var(--color-primary);
}
.aksrt-forum-compose__actions {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
}
.aksrt-forum-compose__submit {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 24px;
border: none;
border-radius: 8px;
background: var(--color-primary);
color: #fff;
cursor: pointer;
font-size: 15px;
font-weight: 500;
}
.aksrt-forum-compose__submit:hover {
opacity: 0.85;
}
.aksrt-forum-compose__submit:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.aksrt-forum-compose__draft {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 10px 24px;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
background: var(--surface-1, #fff);
color: var(--color-ink-3, #8a909c);
cursor: pointer;
font-size: 15px;
}
.aksrt-forum-compose__draft:hover {
border-color: var(--color-primary);
color: var(--color-primary);
}
/* ── topic cover (§7.3) ── */
.aksrt-forum-topic__cover {
margin-bottom: 20px;
border-radius: 12px;
overflow: hidden;
background: var(--surface-2, #f5f7fa);
}
.aksrt-forum-topic__cover-img {
width: 100%;
display: block;
object-fit: cover;
}
.aksrt-forum-topic__cover-slides {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
}
.aksrt-forum-topic__cover-slides img {
width: 100%;
aspect-ratio: 1;
object-fit: cover;
}
.aksrt-forum-topic__cover-player {
position: relative;
cursor: pointer;
}
.aksrt-forum-topic__cover-poster {
width: 100%;
display: block;
object-fit: cover;
}
.aksrt-forum-topic__cover-play-btn {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border: none;
background: rgba(0, 0, 0, 0.5);
color: #fff;
font-size: 48px;
border-radius: 50%;
width: 72px;
height: 72px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background 0.15s;
}
.aksrt-forum-topic__cover-play-btn:hover {
background: rgba(0, 0, 0, 0.7);
}
/* ── topic list cover thumbnails (§7.3) ── */
.aksrt-forum-topic-item__cover {
flex-shrink: 0;
width: 120px;
height: 80px;
border-radius: 8px;
overflow: hidden;
background: var(--surface-2, #f5f7fa);
}
.aksrt-forum-topic-item__cover img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.aksrt-forum-topic-item__cover-video,
.aksrt-forum-topic-item__cover-slide {
position: relative;
width: 100%;
height: 100%;
}
.aksrt-forum-topic-item__cover-video img,
.aksrt-forum-topic-item__cover-slide img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
.aksrt-forum-topic-item__cover-video i {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
font-size: 24px;
color: #fff;
text-shadow: 0 1px 4px rgba(0, 0, 0, 0.5);
}
.aksrt-forum-topic-item__cover-count {
position: absolute;
bottom: 4px;
right: 4px;
padding: 1px 6px;
border-radius: 3px;
background: rgba(0, 0, 0, 0.55);
color: #fff;
font-size: 11px;
}
/* ── compose cover upload (§7.3) ── */
.aksrt-forum-compose__cover-upload {
margin-bottom: 20px;
}
.aksrt-forum-compose__cover-preview {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 10px;
min-height: 60px;
}
.aksrt-forum-compose__cover-preview img {
width: 120px;
height: 80px;
object-fit: cover;
border-radius: 8px;
border: 1px solid var(--color-line, #d9d9d9);
}
.aksrt-forum-compose__cover-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 16px;
border: 1px dashed var(--color-line, #d9d9d9);
border-radius: 8px;
background: var(--surface-1, #fff);
color: var(--color-ink-3, #8a909c);
cursor: pointer;
font-size: 14px;
transition: border-color 0.15s, color 0.15s;
}
.aksrt-forum-compose__cover-btn:hover {
border-color: var(--color-primary);
color: var(--color-primary);
}
.aksrt-forum-compose__field input[type="url"] {
width: 100%;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
padding: 10px 12px;
font-size: 14px;
font-family: inherit;
}
@media (max-width: 767px) {
.aksrt-forum-board__header,
.aksrt-forum-board__actions,
.aksrt-forum-topic__vote-head,
.aksrt-forum-topic__moderation-head,
.aksrt-forum-topic__vote-actions,
.aksrt-forum-topic__moderation-actions,
.aksrt-forum-compose__header,
.aksrt-forum-compose__actions {
flex-direction: column;
align-items: stretch;
}
.aksrt-forum-topic-item {
flex-wrap: wrap;
}
.aksrt-forum-topic-item__actions {
width: 100%;
flex-direction: row;
flex-wrap: wrap;
}
.aksrt-forum-topic-item__cover {
width: 80px;
height: 56px;
}
.aksrt-forum-topic__cover-slides {
grid-template-columns: repeat(2, 1fr);
}
.aksrt-forum-topic__moderation-grid,
.aksrt-forum-compose__grid {
grid-template-columns: 1fr;
}
/* §7.4 — Stack sidebar below main on mobile */
.aksrt-forum-compose__layout {
grid-template-columns: 1fr;
}
.aksrt-forum-compose__sidebar {
order: 2;
}
.aksrt-forum-compose {
max-width: 100%;
}
}
+7
View File
@@ -0,0 +1,7 @@
@import url("extras/base.css");
@import url("extras/reply-header-tabs-filters.css");
@import url("extras/load-more.css");
@import url("extras/additional-role-badges.css");
@import url("extras/like-button.css");
@import url("extras/reply-action-buttons.css");
@import url("extras/quick-post-bar.css");
@@ -0,0 +1,52 @@
/* --- additional role badges --- */
.aksrt-forum-reply__role-badge--author {
background: #fff7e6;
color: #d46b08;
}
.aksrt-forum-reply__role-badge--super {
background: #f6ffed;
color: #389e0d;
}
.aksrt-forum-reply__role-badge--catmod {
background: #fff0f6;
color: #c41d7f;
}
/* --- hot comment (神评) badge --- */
.aksrt-forum-reply__badge {
display: inline-flex;
align-items: center;
gap: 3px;
padding: 1px 6px;
border-radius: var(--radius-pill, 999px);
font-size: 11px;
font-weight: 600;
line-height: 1.5;
}
.aksrt-forum-reply__badge--hot {
background: #fff2e8;
color: #d4380d;
}
.aksrt-forum-reply__badge--pinned {
background: #e6f7ff;
color: #096dd9;
}
.aksrt-forum-reply.is-hot {
border-left: 3px solid #fa541c;
}
.aksrt-forum-reply.is-pinned {
border-left: 3px solid #1890ff;
}
.aksrt-forum-reply.is-pinned.is-hot {
border-left: 3px solid #fa541c;
}
+621
View File
@@ -0,0 +1,621 @@
/* ============================================================
* Forum tag archive page
* ============================================================ */
.aksrt-forum-tag {
padding-top: 24px;
padding-bottom: 48px;
}
.aksrt-forum-tag__header {
margin-bottom: 24px;
padding: 20px;
background: var(--surface-1, #fff);
border-radius: 12px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.aksrt-forum-tag__title {
margin: 0 0 4px;
font-size: 22px;
font-weight: 700;
color: var(--color-ink);
display: flex;
align-items: center;
gap: 8px;
}
.aksrt-forum-tag__title i {
color: var(--color-primary);
}
.aksrt-forum-tag__desc {
margin: 0 0 8px;
font-size: 14px;
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-tag__count {
margin: 0;
font-size: 13px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-tag__list {
display: flex;
flex-direction: column;
gap: 1px;
}
.aksrt-forum-topic-card {
display: flex;
padding: 16px;
background: var(--surface-1, #fff);
transition: background 0.15s;
}
.aksrt-forum-topic-card:first-child {
border-radius: 8px 8px 0 0;
}
.aksrt-forum-topic-card:last-child {
border-radius: 0 0 8px 8px;
}
.aksrt-forum-topic-card:hover {
background: var(--surface-1, #f8f9fa);
}
.aksrt-forum-topic-card__body {
flex: 1;
min-width: 0;
}
.aksrt-forum-topic-card__title {
margin: 0 0 6px;
font-size: 16px;
font-weight: 500;
}
.aksrt-forum-topic-card__title a {
color: var(--color-ink);
text-decoration: none;
}
.aksrt-forum-topic-card__title a:hover {
color: var(--color-primary);
}
.aksrt-forum-topic-card__excerpt {
margin: 0 0 8px;
font-size: 13px;
color: var(--color-ink-3, #8a909c);
line-height: 1.5;
}
.aksrt-forum-topic-card__meta {
display: flex;
gap: 16px;
font-size: 12px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-topic-card__meta i {
margin-right: 3px;
}
.aksrt-forum-tag__pagination {
display: flex;
justify-content: center;
padding: 20px 0;
}
.aksrt-forum-tag__empty {
text-align: center;
padding: 48px 24px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-tag__empty i {
font-size: 40px;
margin-bottom: 12px;
display: block;
}
/* ============================================================
* Forum widgets
* ============================================================ */
.aksrt-forum-widget__list {
margin: 0;
padding: 0;
list-style: none;
}
.aksrt-forum-widget__item {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 0;
border-bottom: 1px solid var(--color-line-soft, #f0f1f3);
}
.aksrt-forum-widget__item:last-child {
border-bottom: none;
}
.aksrt-forum-widget__rank {
display: flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 6px;
background: var(--surface-2, #f4f5f7);
color: var(--color-ink-3, #8a909c);
font-size: 12px;
font-weight: 600;
flex-shrink: 0;
}
.aksrt-forum-widget__item:nth-child(1) .aksrt-forum-widget__rank {
background: var(--color-error, #ef4444);
color: #fff;
}
.aksrt-forum-widget__item:nth-child(2) .aksrt-forum-widget__rank {
background: var(--color-warning, #f59e0b);
color: #fff;
}
.aksrt-forum-widget__item:nth-child(3) .aksrt-forum-widget__rank {
background: var(--color-info, #3b82f6);
color: #fff;
}
.aksrt-forum-widget__link {
flex: 1;
min-width: 0;
color: var(--color-ink);
text-decoration: none;
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.aksrt-forum-widget__link:hover {
color: var(--color-primary);
}
.aksrt-forum-widget__views,
.aksrt-forum-widget__author {
font-size: 12px;
color: var(--color-ink-4, #8a909c);
white-space: nowrap;
}
.aksrt-forum-widget__boards {
margin: 0;
padding: 0;
list-style: none;
}
.aksrt-forum-widget__board {
padding: 8px 0;
border-bottom: 1px solid var(--color-line-soft, #f0f1f3);
}
.aksrt-forum-widget__board:last-child {
border-bottom: none;
}
.aksrt-forum-widget__board a {
display: flex;
align-items: center;
justify-content: space-between;
color: var(--color-ink);
text-decoration: none;
font-size: 14px;
}
.aksrt-forum-widget__board a:hover {
color: var(--color-primary);
}
.aksrt-forum-widget__board a i {
margin-right: 6px;
color: var(--color-primary);
}
.aksrt-forum-widget__count {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 24px;
height: 20px;
padding: 0 6px;
background: var(--surface-2, #f4f5f7);
border-radius: var(--radius-pill, 999px);
color: var(--color-ink-3, #8a909c);
font-size: 11px;
font-weight: 600;
}
.aksrt-forum-widget__empty {
text-align: center;
padding: 16px;
color: var(--color-ink-4, #8a909c);
font-size: 13px;
}
/* ── bbs_type / question badges (§7.3) ── */
.aksrt-forum-topic__badge--question {
background: #e6f7ff;
color: #1890ff;
}
.aksrt-forum-topic__badge--solved {
background: #f6ffed;
color: #52c41a;
}
.aksrt-forum-topic-item__badge--question {
background: #e6f7ff;
color: #1890ff;
}
.aksrt-forum-topic-item__badge--solved {
background: #f6ffed;
color: #52c41a;
}
/* ── favorite button (§7.3) ── */
.js-aksrt-topic-favorite {
background: none;
border: none;
cursor: pointer;
transition: color .15s;
}
.js-aksrt-topic-favorite[data-favorited="1"] {
color: var(--color-warning, #faad14);
}
.js-aksrt-topic-favorite:disabled {
opacity: .5;
cursor: not-allowed;
}
/* ── score actions (§7.3) ── */
.aksrt-forum-topic__score-actions {
display: flex;
align-items: center;
gap: 10px;
margin: 16px 0;
padding: 12px 16px;
background: var(--surface-1, #fff);
border: 1px solid var(--border-2, #e8e8e8);
border-radius: var(--radius-m, 8px);
}
.aksrt-forum-topic__score-total {
font-size: 14px;
font-weight: 600;
color: var(--color-ink, #333);
}
.aksrt-forum-topic__score-total i {
color: var(--color-warning, #faad14);
margin-right: 4px;
}
.aksrt-forum-topic__score-btn {
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
border: 1px solid var(--border-2, #e0e0e0);
border-radius: var(--radius-s, 4px);
background: var(--surface-1, #fff);
cursor: pointer;
font-size: 12px;
transition: all .15s;
}
.aksrt-forum-topic__score-btn:hover:not(:disabled) {
border-color: var(--color-primary, #1890ff);
color: var(--color-primary, #1890ff);
}
.aksrt-forum-topic__score-btn--up:hover:not(:disabled) {
color: var(--color-success, #52c41a);
border-color: var(--color-success, #52c41a);
}
.aksrt-forum-topic__score-btn--down:hover:not(:disabled) {
color: var(--color-error, #f5222d);
border-color: var(--color-error, #f5222d);
}
.aksrt-forum-topic__score-btn:disabled {
opacity: .4;
cursor: not-allowed;
}
.aksrt-forum-topic__score-badge {
color: var(--color-warning, #faad14);
font-weight: 600;
}
.aksrt-forum-topic__score-feedback {
font-size: 13px;
color: var(--color-ink-4, #999);
}
/* ── vote enhancements (§7.3) ── */
.aksrt-forum-topic__vote--pk .aksrt-forum-topic__vote-options {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 12px;
}
.aksrt-forum-topic__vote--expired {
opacity: .7;
}
.aksrt-forum-topic__vote-type-badge {
display: inline-block;
padding: 1px 6px;
background: var(--color-primary, #1890ff);
color: #fff;
border-radius: var(--radius-pill, 999px);
font-size: 11px;
font-weight: 700;
margin-left: 6px;
}
.aksrt-forum-topic__vote-expired-badge {
display: inline-block;
padding: 1px 6px;
background: var(--color-error, #f5222d);
color: #fff;
border-radius: var(--radius-pill, 999px);
font-size: 11px;
font-weight: 600;
margin-left: 6px;
}
.aksrt-forum-topic__vote-expiry-info {
color: var(--color-ink-4, #999);
font-size: 12px;
margin-left: 6px;
}
/* ── topic_cat chip (§7.3) ── */
.aksrt-forum-topic__chip--topic-cat {
background: var(--color-primary-bg, #e6f7ff);
color: var(--color-primary, #1890ff);
font-weight: 600;
}
/* ── report modal (§7.5) ── */
.aksrt-forum-topic__header-top {
display: flex;
flex-direction: column;
gap: 12px;
}
.aksrt-forum-report-modal {
position: fixed;
inset: 0;
z-index: 9999;
}
.aksrt-forum-report-modal__backdrop {
position: absolute;
inset: 0;
background: rgba(15, 23, 42, 0.55);
}
.aksrt-forum-report-modal__dialog {
position: relative;
max-width: 520px;
margin: 8vh auto 0;
padding: 20px;
border-radius: 14px;
background: var(--surface-1, #fff);
box-shadow: 0 18px 60px rgba(15, 23, 42, 0.2);
z-index: 1;
}
.aksrt-forum-report-modal__head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 12px;
}
.aksrt-forum-report-modal__head h2 {
margin: 0;
font-size: 18px;
}
.aksrt-forum-report-modal__close {
border: none;
background: transparent;
font-size: 24px;
line-height: 1;
cursor: pointer;
color: var(--color-ink-3, #64748b);
}
.aksrt-forum-report-modal__target {
margin: 0 0 14px;
color: var(--color-ink-3, #64748b);
font-size: 13px;
}
.aksrt-forum-report-modal__actions {
display: flex;
align-items: center;
gap: 12px;
}
.aksrt-forum-report-modal__feedback {
font-size: 13px;
}
.is-report-modal-open {
overflow: hidden;
}
.aksrt-forum-reply__report-btn {
display: inline-flex;
align-items: center;
gap: 4px;
border: none;
background: transparent;
color: var(--color-ink-4, #94a3b8);
cursor: pointer;
padding: 0;
font-size: 12px;
}
.aksrt-forum-reply__report-btn:hover {
color: var(--color-error, #ef4444);
}
/* ── moderation enhancements (§7.5) ── */
.aksrt-forum-topic__moderation-note {
margin-bottom: 16px;
padding: 12px 14px;
border-radius: 10px;
background: var(--surface-2, #f8fafc);
color: var(--color-ink-3, #64748b);
font-size: 13px;
}
.aksrt-forum-topic__moderation-note strong {
color: var(--color-ink, #334155);
margin-right: 6px;
}
.aksrt-forum-topic__field small {
display: block;
margin-top: 6px;
color: var(--color-ink-4, #94a3b8);
font-size: 12px;
}
/* ── paywall / credits unlock (§7.3) ── */
.aksrt-forum-topic__pay-price {
display: inline-block;
margin-top: 12px;
padding: 6px 16px;
background: #fff7e6;
color: #d46b08;
border-radius: 8px;
font-size: 15px;
font-weight: 600;
}
.aksrt-forum-topic__unlock-feedback {
display: block;
margin-top: 10px;
font-size: 13px;
}
.aksrt-forum-compose__visibility-extra select[multiple] {
min-height: 90px;
}
.aksrt-forum-compose__visibility-extra input[type="number"] {
width: 100%;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
padding: 10px 12px;
font-size: 14px;
font-family: inherit;
}
/* ── adopted answer (§7.3) ── */
.aksrt-forum-reply.is-adopted {
border: 2px solid var(--color-success, #52c41a);
border-radius: var(--radius-m, 8px);
padding: 12px;
background: #f6ffed;
}
.aksrt-forum-reply__adopted-badge {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
background: var(--color-success, #52c41a);
color: #fff;
border-radius: var(--radius-pill, 999px);
font-size: 11px;
font-weight: 600;
}
.aksrt-forum-reply__adopt-btn {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 4px 10px;
border: 1px solid var(--color-success, #52c41a);
border-radius: var(--radius-s, 4px);
background: transparent;
color: var(--color-success, #52c41a);
font-size: 12px;
cursor: pointer;
transition: all .15s;
}
.aksrt-forum-reply__adopt-btn:hover:not(:disabled) {
background: var(--color-success, #52c41a);
color: #fff;
}
.aksrt-forum-reply__adopt-btn:disabled,
.aksrt-forum-reply__adopt-btn.is-adopted {
opacity: .6;
cursor: not-allowed;
}
/* ── moderator role badge (§7.5) ── */
.aksrt-forum-reply__role-badge {
display: inline-flex;
align-items: center;
padding: 1px 6px;
border-radius: var(--radius-pill, 999px);
font-size: 11px;
font-weight: 600;
line-height: 1.5;
}
.aksrt-forum-reply__role-badge--admin {
background: #fff1f0;
color: #cf1322;
}
.aksrt-forum-reply__role-badge--mod {
background: #e6f7ff;
color: #096dd9;
}
/* ── §7.6 forum comment engine ── */
@@ -0,0 +1,62 @@
/* --- like button --- */
.aksrt-forum-reply__like-btn {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
border: none;
background: none;
color: var(--c-text-3, #999);
font-size: 13px;
cursor: pointer;
transition: color .2s;
}
.aksrt-forum-reply__like-btn:hover {
color: var(--c-primary, #1890ff);
}
.aksrt-forum-reply__like-btn.is-active {
color: var(--c-primary, #1890ff);
}
.aksrt-forum-reply__like-count {
font-size: 12px;
min-width: 10px;
}
/* --- nested reply (楼中楼) --- */
.aksrt-forum-reply--nested {
padding-left: 0;
margin-left: 0;
}
.aksrt-forum-reply__children {
margin-top: 8px;
padding: 8px 0 0 12px;
border-left: 2px solid var(--c-border, #f0f0f0);
}
.aksrt-forum-reply__children .aksrt-forum-reply {
padding: 8px 0;
margin-bottom: 0;
border-bottom: 1px solid var(--c-border-light, #f5f5f5);
}
.aksrt-forum-reply__children .aksrt-forum-reply:last-child {
border-bottom: none;
}
.aksrt-forum-reply__avatar--sm img {
width: 28px;
height: 28px;
border-radius: 50%;
}
.aksrt-forum-reply__reply-to {
font-size: 12px;
color: var(--c-text-3, #999);
}
@@ -0,0 +1,23 @@
/* --- load more --- */
.aksrt-forum-replies__load-more {
text-align: center;
padding: 16px 0;
}
.aksrt-forum-replies__more-btn {
padding: 8px 24px;
border: 1px solid var(--c-border, #d9d9d9);
border-radius: var(--radius, 6px);
background: none;
color: var(--c-text-2, #666);
font-size: 14px;
cursor: pointer;
transition: all .2s;
}
.aksrt-forum-replies__more-btn:hover {
border-color: var(--c-primary, #1890ff);
color: var(--c-primary, #1890ff);
}
@@ -0,0 +1,31 @@
/* Quick post bar */
.aksrt-forum-quick-post {
margin-bottom: 16px;
}
.aksrt-forum-quick-post__input {
display: flex;
align-items: center;
gap: 10px;
padding: 10px 16px;
border: 1px solid var(--c-border, #e8e8e8);
border-radius: var(--radius, 6px);
background: var(--c-fill-1, #fafafa);
color: var(--c-text-3, #999);
font-size: 14px;
text-decoration: none;
transition: border-color .2s, box-shadow .2s;
}
.aksrt-forum-quick-post__input:hover {
border-color: var(--c-primary, #1890ff);
box-shadow: 0 0 0 2px rgba(24, 144, 255, .1);
}
.aksrt-forum-quick-post__input img {
width: 32px;
height: 32px;
border-radius: 50%;
}
@@ -0,0 +1,239 @@
/* --- reply action buttons --- */
.aksrt-forum-reply__reply-btn,
.aksrt-forum-reply__top-btn {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 2px 8px;
border: none;
background: none;
color: var(--c-text-3, #999);
font-size: 13px;
cursor: pointer;
transition: color .2s;
}
.aksrt-forum-reply__reply-btn:hover,
.aksrt-forum-reply__top-btn:hover {
color: var(--c-primary, #1890ff);
}
/* ── §7.9 Forum user page tabs ── */
.uh-forum__subtabs {
display: flex;
gap: 4px;
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid var(--c-border, #e8e8e8);
}
.uh-forum__subtab {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 6px 14px;
border-radius: var(--radius-pill, 999px);
font-size: 13px;
color: var(--c-text-3, #999);
text-decoration: none;
transition: all .2s;
}
.uh-forum__subtab:hover {
color: var(--c-text-1, #333);
background: var(--c-fill-1, #f5f5f5);
}
.uh-forum__subtab.is-active {
background: var(--c-primary, #1890ff);
color: #fff;
}
.uh-forum__subtab-count {
font-size: 11px;
opacity: .7;
}
.uh-forum__list {
display: flex;
flex-direction: column;
}
.uh-forum__item {
padding: 12px 0;
border-bottom: 1px solid var(--c-border-light, #f5f5f5);
}
.uh-forum__item:last-child {
border-bottom: none;
}
.uh-forum__item-title {
display: block;
font-size: 15px;
font-weight: 500;
color: var(--c-text-1, #333);
text-decoration: none;
margin-bottom: 4px;
}
.uh-forum__item-title:hover {
color: var(--c-primary, #1890ff);
}
.uh-forum__item-meta {
display: flex;
gap: 12px;
font-size: 12px;
color: var(--c-text-3, #999);
}
.uh-forum__item-meta i {
margin-right: 3px;
}
.uh-forum__section-title {
font-size: 14px;
font-weight: 600;
color: var(--c-text-2, #666);
margin: 16px 0 10px;
padding-bottom: 6px;
border-bottom: 1px solid var(--c-border-light, #f5f5f5);
}
.uh-forum__section-title i {
margin-right: 4px;
font-size: 13px;
}
.uh-forum__plate-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
gap: 10px;
margin-bottom: 16px;
}
.uh-forum__plate-card {
display: block;
padding: 12px;
border: 1px solid var(--c-border, #e8e8e8);
border-radius: var(--radius, 6px);
text-decoration: none;
transition: border-color .2s, box-shadow .2s;
}
.uh-forum__plate-card:hover {
border-color: var(--c-primary, #1890ff);
box-shadow: 0 2px 8px rgba(0, 0, 0, .06);
}
.uh-forum__plate-name {
font-size: 14px;
font-weight: 600;
color: var(--c-text-1, #333);
margin-bottom: 6px;
}
.uh-forum__plate-stats {
display: flex;
gap: 10px;
font-size: 12px;
color: var(--c-text-3, #999);
}
.uh-forum__pagination {
margin-top: 16px;
text-align: center;
}
/* ── §7.3 Hidden content block [aksrt_hide] ── */
.aksrt-forum-hide {
margin: 16px 0;
}
.aksrt-forum-hide--locked {
padding: 16px;
border: 1px dashed var(--c-border, #d9d9d9);
border-radius: var(--radius, 6px);
background: var(--c-fill-1, #fafafa);
text-align: center;
}
.aksrt-forum-hide__message {
font-size: 13px;
color: var(--c-text-3, #999);
}
.aksrt-forum-hide__message i {
margin-right: 4px;
color: var(--c-warning, #faad14);
}
.aksrt-forum-hide--revealed {
padding: 12px 16px;
border-left: 3px solid var(--c-success, #52c41a);
background: var(--c-fill-1, #f6ffed);
border-radius: 0 var(--radius, 6px) var(--radius, 6px) 0;
}
/* ── §7.10 Forum home tab engine ── */
.aksrt-forum-home-tabs {
display: flex;
gap: 4px;
padding: 0 0 12px;
margin-bottom: 16px;
border-bottom: 1px solid var(--c-border, #e8e8e8);
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.aksrt-forum-home-tabs__btn {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 6px 16px;
border: 1px solid var(--c-border, #d9d9d9);
border-radius: var(--radius-pill, 999px);
background: none;
color: var(--c-text-3, #999);
font-size: 14px;
font-weight: 500;
cursor: pointer;
white-space: nowrap;
transition: all .2s;
}
.aksrt-forum-home-tabs__btn:hover {
color: var(--c-text-1, #333);
border-color: var(--c-primary, #1890ff);
}
.aksrt-forum-home-tabs__btn.is-active {
background: var(--c-primary, #1890ff);
color: #fff;
border-color: var(--c-primary, #1890ff);
}
.aksrt-forum-home-tabs__badge {
display: inline-block;
min-width: 18px;
height: 18px;
padding: 0 5px;
border-radius: 9px;
background: #ff4d4f;
color: #fff;
font-size: 11px;
font-weight: 700;
line-height: 18px;
text-align: center;
}
.aksrt-forum-home__load-more {
text-align: center;
padding: 16px 0;
}
@@ -0,0 +1,69 @@
/* --- reply header tabs & filters --- */
.aksrt-forum-replies__header {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 16px;
padding-bottom: 12px;
border-bottom: 1px solid var(--c-border, #e8e8e8);
}
.aksrt-forum-replies__tabs {
display: flex;
align-items: center;
gap: 4px;
}
.aksrt-forum-replies__tab {
padding: 4px 12px;
border: 1px solid var(--c-border, #d9d9d9);
border-radius: var(--radius-pill, 999px);
background: none;
color: var(--c-text-3, #999);
font-size: 13px;
cursor: pointer;
transition: all .2s;
}
.aksrt-forum-replies__tab:hover {
color: var(--c-text-1, #333);
border-color: var(--c-primary, #1890ff);
}
.aksrt-forum-replies__tab.is-active {
background: var(--c-primary, #1890ff);
color: #fff;
border-color: var(--c-primary, #1890ff);
}
.aksrt-forum-replies__filter {
display: flex;
align-items: center;
gap: 4px;
font-size: 13px;
color: var(--c-text-3, #999);
cursor: pointer;
margin-left: 8px;
}
.aksrt-forum-replies__filter input[type="checkbox"] {
width: 14px;
height: 14px;
}
.aksrt-forum-replies__empty {
padding: 40px 0;
text-align: center;
color: var(--c-text-3, #bbb);
font-size: 14px;
}
.aksrt-forum-replies__empty i {
font-size: 24px;
display: block;
margin-bottom: 8px;
}
+331
View File
@@ -0,0 +1,331 @@
/* ============================================================
* Topic detail page
* ============================================================ */
.aksrt-forum-topic {
padding-top: 24px;
padding-bottom: 48px;
max-width: 800px;
margin: 0 auto;
}
.aksrt-forum-topic__breadcrumb {
font-size: 13px;
color: var(--color-ink-4, #8a909c);
margin-bottom: 16px;
}
.aksrt-forum-topic__breadcrumb a {
color: var(--color-primary);
text-decoration: none;
}
.aksrt-forum-topic__sep {
margin: 0 6px;
}
.aksrt-forum-topic__header {
margin-bottom: 20px;
}
.aksrt-forum-topic__title {
margin: 0 0 8px;
font-size: 22px;
font-weight: 700;
color: var(--color-ink);
display: flex;
align-items: center;
gap: 8px;
flex-wrap: wrap;
}
.aksrt-forum-topic__badge {
display: inline-block;
padding: 2px 8px;
border-radius: 4px;
font-size: 12px;
font-weight: 500;
}
.aksrt-forum-topic__badge--sticky {
background: var(--color-primary);
color: #fff;
}
.aksrt-forum-topic__badge--sticky-super {
background: var(--focus-color, #fd53a1);
color: #fff;
}
.aksrt-forum-topic__badge--sticky-global {
background: #e53e3e;
color: #fff;
}
.aksrt-forum-topic__badge--featured {
background: var(--color-success, #52c41a);
color: #fff;
}
.aksrt-forum-topic__badge--locked {
background: #fff7e6;
color: #d46b08;
}
.aksrt-forum-topic__badge--visibility {
background: var(--surface-2, #f5f7fa);
color: var(--color-ink-3, #8a909c);
}
.aksrt-forum-topic__meta {
display: flex;
flex-wrap: wrap;
gap: 16px;
font-size: 13px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-topic__author {
display: flex;
align-items: center;
gap: 6px;
}
.aksrt-forum-topic__author img {
border-radius: 50%;
}
.aksrt-forum-topic__quick-actions {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 14px;
}
.aksrt-forum-topic__quick-action,
.aksrt-forum-topic__primary-btn {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 9px 16px;
border: none;
border-radius: 999px;
background: var(--surface-1, #fff);
color: var(--color-ink);
text-decoration: none;
cursor: pointer;
}
.aksrt-forum-topic__primary-btn {
background: var(--color-primary);
color: #fff;
}
.aksrt-forum-topic__taxonomy {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin-bottom: 20px;
}
.aksrt-forum-topic__chip {
display: inline-flex;
align-items: center;
padding: 6px 10px;
border-radius: 999px;
background: var(--surface-2, #f5f7fa);
color: var(--color-ink-3, #8a909c);
text-decoration: none;
font-size: 13px;
}
.aksrt-forum-topic__chip--special {
background: #fff1f0;
color: #cf1322;
}
.aksrt-forum-topic__content {
padding: 20px;
background: var(--surface-1, #fff);
border-radius: 12px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
margin-bottom: 24px;
line-height: 1.8;
font-size: 15px;
}
.aksrt-forum-topic__content img {
max-width: 100%;
border-radius: 8px;
}
.aksrt-forum-topic__vote,
.aksrt-forum-topic__moderation {
margin-bottom: 24px;
padding: 20px;
background: var(--surface-1, #fff);
border-radius: 12px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.aksrt-forum-topic__vote-head,
.aksrt-forum-topic__moderation-head {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
margin-bottom: 16px;
}
.aksrt-forum-topic__vote-head h2,
.aksrt-forum-topic__moderation-head h2 {
margin: 0;
font-size: 18px;
}
.aksrt-forum-topic__vote-head span,
.aksrt-forum-topic__moderation-head p {
color: var(--color-ink-3, #8a909c);
font-size: 13px;
}
.aksrt-forum-topic__vote-options {
display: grid;
gap: 10px;
}
.aksrt-forum-topic__vote-option {
display: grid;
grid-template-columns: auto 1fr auto;
align-items: center;
gap: 10px;
padding: 12px 14px;
border-radius: 10px;
background: var(--surface-1, #f8f9fa);
}
.aksrt-forum-topic__vote-option.is-selected {
outline: 1px solid var(--color-primary);
}
.aksrt-forum-topic__vote-count {
font-size: 12px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-topic__vote-actions,
.aksrt-forum-topic__moderation-actions {
display: flex;
align-items: center;
gap: 12px;
margin-top: 16px;
}
.aksrt-forum-topic__moderation-grid,
.aksrt-forum-compose__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
}
.aksrt-forum-topic__field select,
.aksrt-forum-topic__field textarea,
.aksrt-forum-compose__field input[type="text"],
.aksrt-forum-compose__field textarea,
.aksrt-forum-compose__field select {
width: 100%;
}
.aksrt-forum-topic__field label {
display: block;
margin-bottom: 6px;
font-size: 14px;
font-weight: 500;
}
.aksrt-forum-topic__field select,
.aksrt-forum-topic__field textarea {
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
padding: 10px 12px;
font-family: inherit;
font-size: 14px;
}
.aksrt-forum-topic__denied {
padding: 56px 24px;
text-align: center;
background: var(--surface-1, #fff);
border-radius: 12px;
}
.aksrt-forum-topic__denied i {
font-size: 42px;
margin-bottom: 14px;
color: var(--color-ink-4, #8a909c);
}
.aksrt-forum-topic__replies {
margin-bottom: 24px;
}
.aksrt-forum-topic__replies-title {
font-size: 16px;
font-weight: 600;
margin-bottom: 16px;
color: var(--color-ink);
}
.aksrt-forum-topic__reply-form {
padding: 20px;
background: var(--surface-1, #fff);
border-radius: 12px;
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.aksrt-forum-topic__reply-form h2,
.aksrt-forum-topic__reply-form h3 {
margin: 0 0 12px;
font-size: 15px;
color: var(--color-ink);
}
.aksrt-forum-topic__reply-field textarea {
width: 100%;
border: 1px solid var(--color-line, #d9d9d9);
border-radius: 8px;
padding: 12px;
font-size: 14px;
resize: vertical;
font-family: inherit;
}
.aksrt-forum-topic__reply-btn {
display: inline-flex;
align-items: center;
gap: 6px;
padding: 8px 20px;
border: none;
border-radius: 8px;
background: var(--color-primary);
color: #fff;
cursor: pointer;
font-size: 14px;
}
.aksrt-forum-topic__reply-btn:hover {
opacity: 0.85;
}
.aksrt-forum-topic__locked-notice,
.aksrt-forum-topic__login-notice {
text-align: center;
padding: 20px;
color: var(--color-ink-3, #8a909c);
font-size: 14px;
}
.aksrt-forum-topic__login-notice a {
color: var(--color-primary);
}