style(排名): 到处是图例和规则说明,读起来像说明书

卡片头上那排图例(做出的题数 / 你 / 前一名 / 后一名 / 你们班 / 进步最大)、
右上角「9月1日起 · 每道题按第一次做对算 · ↑↓ 比周一」、副标题里的
「一样多的,先做到的在前 · 只列前面 N 名」、班级对抗的「全服 · 点班名看详情」、
各卡片标题后的「每周日晚上 · 越高越好」「下周一清零」、签名框下的提示、
班级详情抽屉里几行小字都拿掉。前一名 / 后一名的颜色靠「你」卡里同色标签认。
老师卡里「不计入排名的人」只在本班且真拿掉过人时出现。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-10 14:10:54 +08:00
1 parent aba3767fc1
commit c2e05d423f
5 files changed
+17 -127

No files matched your search

@@ -55,7 +55,7 @@ function shortLabel(className: string) {
<template>
<div class="battle" :class="{ bare }">
<div class="title">
<b v-if="!bare">班级对抗</b><span class="muted">人均做对 · 全服 · 点班名看详情</span>
<b v-if="!bare">班级对抗</b><span class="muted">人均做对</span>
<router-link
v-if="pk"
:to="{ path: '/class', query: mine ? { classes: mine } : {} }"
@@ -125,9 +125,7 @@ function go(path: string, query: Record<string, string>) {
</div>
<section>
<div class="sec-title">
全班分布<span class="muted">一个点一个同学,下面是这学期做对几道</span>
</div>
<div class="sec-title">全班分布</div>
<div class="dots">
<div v-for="column in columns" :key="column.solved" class="dot-col">
<div class="stack">
@@ -192,9 +190,7 @@ function go(path: string, query: Record<string, string>) {
</section>
<section v-if="detail.care">
<div class="sec-title">
要多关心的同学<span class="muted">这学期做对不到 3 道 · 只有老师看得到</span>
</div>
<div class="sec-title">要多关心的同学</div>
<div v-for="row in detail.care" :key="row.user.id" class="care">
<RankAvatar :username="row.user.username" :avatar="row.avatar" :size="20" />
<UserName :username="row.user.username" />
@@ -230,7 +226,6 @@ function go(path: string, query: Record<string, string>) {
<path d="M12 3l1.8 4.7L18.5 9.5l-4.7 1.8L12 16l-1.8-4.7L5.5 9.5l4.7-1.8z" />
</svg>
<b>AI 分析这个班</b>
<span class="muted">根据上面这些数字写,仅供参考</span>
<div class="spacer" />
<n-button
size="small"
@@ -181,7 +181,6 @@ function threatNote(me: RankRow, behind: RankRow) {
placeholder="写点什么,让大家认识你"
autofocus
/>
<span class="mood-hint">排名、个人主页上都会显示</span>
<div class="mood-actions">
<n-button size="small" @click="editing = false">取消</n-button>
<n-button size="small" type="primary" attr-type="submit" :loading="saving">
@@ -439,11 +438,6 @@ function threatNote(me: RankRow, behind: RankRow) {
font-weight: 600;
}
.mood-hint {
font-size: var(--oj-fs-meta);
color: v-bind("theme.textColor3");
}
.mood-actions {
display: flex;
justify-content: flex-end;
@@ -17,7 +17,7 @@ import RankAvatar from "./RankAvatar.vue"
* 重新挂载,折叠状态跟着复位。
*
* 桌面的条只有百来像素(老师那边多一个「⋯」,七十来像素),压不下文字标签:「前一名」
* 「后一名」靠条的颜色和图例认,「进步最大」改成涨跌那一格的橙底徽章。手机每行有空,标签照旧。
* 「后一名」靠条的颜色认(和右边「你」卡里两个标签同色),「进步最大」改成涨跌那一格的橙底徽章。手机每行有空,标签照旧。
*
* 个性签名(设计稿「签名 A」):桌面一行只有一百来像素的条,放不下一句话,所以有签名的
* 名字后面挂一个引号,指上去看;手机每行本来就有空,签名直接写在名字后面。