@@ -361,7 +386,9 @@ function weekLabel(start: string) {
@open="open"
/>
你现在不计入排名
@@ -432,10 +460,7 @@ function weekLabel(start: string) {
-
-
-
-
+
我和对手的名次每周日晚上 · 越高越好
@@ -444,96 +469,64 @@ function weekLabel(start: string) {
- {{ teacher && classContext ? `这周 · ${classLabel(classContext)}` : "这周本班" }}
+ {{ weekTitle }}
还剩 {{ daysLeft }} 天 · 下周一清零
-
- {{ row.rank }}
-
-
-
-
-
- {{ row.solved }}
-
-
- 这周还没人做对新题,现在做对 1 道就是第一
-
+
每周冠军本班 · 每周一清零后重新比
-
-
{{ weekLabel(champion.weekStart) }}
-
-
-
-
{{ champion.solved }} 道
-
-
最近几周还没有冠军
-
- 冲得最猛
-
-
- {{ period === "week" ? "今天" : "这周" }}升了 {{ hot.change }} 名
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ weekTitle }} · 还剩 {{ daysLeft }} 天 · 下周一清零
+
+
+
@@ -614,8 +607,7 @@ function weekLabel(start: string) {
align-items: start;
}
-.main.single,
-.below.single {
+.main.single {
grid-template-columns: minmax(0, 1fr);
}
@@ -759,93 +751,66 @@ function weekLabel(start: string) {
margin-bottom: 2px;
}
-.week-row,
-.champion {
- height: 26px;
- display: flex;
- align-items: center;
- gap: 8px;
- font-size: 13px;
-}
-
-.week-row.me {
- margin: 0 -8px;
- padding: 0 8px;
- border-radius: 4px;
- background: rgba(24, 160, 88, 0.12);
-}
-
-.medal {
- width: 22px;
- height: 22px;
- border-radius: 11px;
- display: inline-flex;
- align-items: center;
- justify-content: center;
- font-size: 12px;
- font-weight: 700;
- flex-shrink: 0;
- color: v-bind("theme.textColor2");
-}
-
-.who {
+.tabs-card {
padding: 0;
+ gap: 0;
+ overflow: hidden;
+}
+
+.tabs {
+ display: flex;
+ border-bottom: 1px solid v-bind("theme.dividerColor");
+}
+
+.tabs button {
+ flex: 1;
+ height: 38px;
border: 0;
+ border-bottom: 2px solid transparent;
background: none;
font: inherit;
+ font-size: 13px;
+ color: v-bind("theme.textColor2");
cursor: pointer;
- display: flex;
- min-width: 0;
- flex-shrink: 1;
}
-.week-row .who {
- width: 110px;
- flex-shrink: 0;
-}
-
-.bar-box {
- flex-grow: 1;
- height: 9px;
- position: relative;
-}
-
-.bar {
- position: absolute;
- left: 0;
- top: 0;
- bottom: 0;
- border-radius: 2px 5px 5px 2px;
-}
-
-.num {
- font-variant-numeric: tabular-nums;
-}
-
-.week {
- width: 78px;
- flex-shrink: 0;
-}
-
-.champion .who {
- flex-grow: 1;
-}
-
-.hot-line {
- margin-top: 4px;
- padding-top: 8px;
- height: auto;
- border-top: 1px solid v-bind("theme.dividerColor");
-}
-
-.hot-tag {
- font-size: 11px;
+.tabs button.on {
+ color: #18a058;
font-weight: 600;
- color: #ffffff;
- background: #c76a12;
- border-radius: 3px;
- padding: 0 5px;
- line-height: 16px;
- white-space: nowrap;
+ border-bottom-color: #18a058;
+}
+
+.tab-body {
+ padding: 10px 12px 12px;
+ display: flex;
+ flex-direction: column;
+ gap: 6px;
+}
+
+/* 手机:标题一行,两组开关各占满一行,手指好点 */
+.toolbar.single {
+ flex-direction: column;
+ align-items: stretch;
+ gap: 8px;
+}
+
+.title {
+ display: flex;
+ align-items: baseline;
+ gap: 8px;
+}
+
+.toolbar.single .seg {
+ display: flex;
+ height: 34px;
+}
+
+.toolbar.single .seg button {
+ flex: 1;
+ font-size: 14px;
+}
+
+.toolbar.single .class-select {
+ width: 100%;
}
diff --git a/apps/web/src/oj/rank/palette.ts b/apps/web/src/oj/rank/palette.ts
index dd8a414..a839763 100644
--- a/apps/web/src/oj/rank/palette.ts
+++ b/apps/web/src/oj/rank/palette.ts
@@ -13,6 +13,14 @@ export function useRankPalette() {
threat: "#c76a12",
mate: isDark.value ? "#2f6b47" : "#a8dcbd",
bar: isDark.value ? "#4a525c" : "#c9d3dc",
+ /** 手机上条是整行底色,要淡到字压在上面看得清 */
+ soft: {
+ me: isDark.value ? "rgba(24,160,88,0.32)" : "#cdebd9",
+ chase: isDark.value ? "rgba(47,111,208,0.32)" : "#d6e3f7",
+ threat: isDark.value ? "rgba(199,106,18,0.32)" : "#f7e0cb",
+ mate: isDark.value ? "rgba(24,160,88,0.16)" : "#e2f3e9",
+ bar: isDark.value ? "rgba(255,255,255,0.08)" : "#eef1f4",
+ },
medal: [
{
color: isDark.value ? "#e2b33b" : "#9a6700",