Skip to content

Commit 025097b

Browse files
author
TARS
committed
fix: 页脚固定在底部 + CHANGELOG 中文化 + 控制台彩蛋
- 使用 flex 布局确保页脚始终在页面底部 - CHANGELOG 改为中文版本 - 添加控制台彩蛋:欢迎信息、开发者工具检测
1 parent ab489a1 commit 025097b

3 files changed

Lines changed: 129 additions & 68 deletions

File tree

CHANGELOG.md

Lines changed: 66 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,109 +1,109 @@
1-
# Changelog
1+
# 更新日志
22

3-
All notable changes to this project will be documented in this file.
3+
本项目所有重要变更都将记录在此文件中。
44

5-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6-
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5+
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)
6+
并遵循 [语义化版本](https://semver.org/lang/zh-CN/) 规范。
77

88
---
99

10-
## [Unreleased]
10+
## [未发布]
1111

12-
### Planned Features
12+
### 计划功能
1313

14-
- **Multi-user PK Mode**: Compare multiple users side-by-side with head-to-head statistics
15-
- **Leaderboard View**: Ranking system for competing users
16-
- **Activity Heatmap**: Visual timeline showing submission frequency patterns
17-
- **Problem Tag Analysis**: Breakdown of solved problems by category/tags
18-
- **Streak Tracking**: Consecutive days of problem solving
19-
- **Export Functionality**: Export statistics to CSV/JSON
14+
- **多人 PK 模式**:并排对比多个用户的数据
15+
- **排行榜视图**:用户排名系统
16+
- **活跃热力图**:可视化展示提交频率时间线
17+
- **题目标签分析**:按分类/标签统计解题情况
18+
- **连续打卡追踪**:记录连续刷题天数
19+
- **数据导出功能**:支持 CSV/JSON 格式导出统计
2020

2121
---
2222

2323
## [1.0.0] - 2026-02-05
2424

25-
### Added
25+
### 新增
2626

27-
- **Multi-user Query with Tabs**: Support querying multiple users with tab-based navigation to switch between users
28-
- **Sticky Header**: User info and filter panels stick to top when scrolling down
29-
- **Collapsible Filter Panel**: Filter section can be expanded/collapsed with "Adjust Filters" button
30-
- **Back to Top Button**: Floating button appears after scrolling down 300px
31-
- **Mobile Responsive**: Website title now visible on mobile devices with adjusted font size
32-
- **Footer Enhancements**:
33-
- GitHub link button with icon
34-
- Improved author attribution with gradient styled @TARS 🤖
35-
- Better visual hierarchy with cards and spacing
36-
- **Progress Bar Optimization**: Progress bars dynamically adjust max value based on selected filter (all/accepted/rejected)
37-
- **User Card Improvements**: Date labels dynamically display based on selected time range
27+
- **多人 Tab 切换查询**:支持查询多个用户,通过 Tab 切换查看不同用户
28+
- **吸顶面板**:滚动时用户信息和筛选面板固定在顶部
29+
- **可折叠筛选面板**:支持展开/收起,点击"调整筛选"按钮展开
30+
- **回到顶部按钮**:滚动超过 300px 后显示悬浮按钮
31+
- **移动端适配**:移动端现在显示网站标题,字体大小自适应
32+
- **页脚优化**
33+
- 添加 GitHub 链接按钮(带图标)
34+
- 优化作者署名展示,@TARS 使用渐变色
35+
- 更好的视觉层次和间距
36+
- **进度条优化**:根据筛选条件(全部/通过/未通过)动态调整最大值
37+
- **用户卡片优化**:日期标签根据选择的时间范围动态显示
3838

39-
### Changed
39+
### 变更
4040

41-
- Sticky header now uses overlay mode instead of placeholder to prevent content jumping
42-
- Compact user info panel in sticky header (non-expandable)
43-
- Filter panel in sticky header defaults to collapsed state
41+
- 吸顶面板改为覆盖模式,避免内容跳动
42+
- 吸顶时的用户信息精简展示(不可展开)
43+
- 吸顶时的筛选面板默认收起
4444

4545
---
4646

4747
## [0.9.0] - 2026-02-05
4848

49-
### Added
49+
### 新增
5050

51-
- **Rating Distribution Visualization**: Show problem difficulty distribution with stacked progress bars
52-
- **Problem Deduplication**: Count unique solved problems per rating range (each problem only counted once)
53-
- **Filter by Rating Range**: Click on rating distribution bars to filter submissions by difficulty
54-
- **Result Filter Tabs**: Quick filter by All/Accepted/Rejected with count badges
55-
- **Theme Toggle**: Light/Dark/System theme switcher in header
56-
- **Internationalization**: Full Chinese (zh-CN) and English (en) language support
51+
- **难度分布可视化**:使用堆叠进度条展示各 Rating 区间的做题情况
52+
- **通过题目去重统计**:每个题目只计算一次通过
53+
- **Rating 区间筛选**:点击难度分布条筛选对应难度的题目
54+
- **结果筛选标签**:快速筛选 全部/通过/未通过,带数量徽章
55+
- **主题切换**:浅色/深色/跟随系统三种模式
56+
- **国际化支持**:完整的中文(zh-CN)和英文(en)语言支持
5757

58-
### Changed
58+
### 变更
5959

60-
- Progress bars in "all" mode now use difficulty-specific colors
61-
- Improved submission list layout with difficulty badges and verdict colors
60+
- "全部"模式下的进度条使用对应难度颜色
61+
- 提交记录列表优化,增加难度徽章和结果颜色区分
6262

6363
---
6464

6565
## [0.5.0] - 2026-02-05
6666

67-
### Added
67+
### 新增
6868

69-
- **Date Range Selection**: Custom date range picker with preset shortcuts (Today, Yesterday, Last 7/30 Days)
70-
- **Tag-based User Input**: Add/remove multiple users with visual tags
71-
- **Keyboard Shortcuts**:
72-
- Enter: Add tag
73-
- Shift+Enter: Execute search
74-
- Backspace: Delete last tag
75-
- **Submission Filtering**: Filter by submission result (Accepted/Rejected)
76-
- **Footer**: Basic footer with Codeforces data attribution
69+
- **日期范围选择**:自定义日期范围,支持快捷选项(今天/昨天/最近7天/最近30天)
70+
- **标签式用户输入**:可视化标签添加/删除多个用户
71+
- **键盘快捷键**
72+
- 回车:添加标签
73+
- Shift+回车:执行查询
74+
- 退格:删除最后一个标签
75+
- **提交结果筛选**:按通过/未通过筛选提交记录
76+
- **页脚**:基础页脚,显示 Codeforces 数据来源
7777

78-
### Changed
78+
### 变更
7979

80-
- Website renamed to "别让我逮到你" (I'm watching you)
81-
- Improved date picker UI with visual selection indicators
80+
- 网站更名为"别让我逮到你"I'm watching you
81+
- 日期选择器 UI 优化,增加选中状态指示
8282

8383
---
8484

8585
## [0.1.0] - 2026-02-05
8686

87-
### Added
87+
### 新增
8888

89-
- Initial project setup with React + TypeScript + Vite + Tailwind CSS
90-
- Basic Codeforces API integration
91-
- User query by handle with avatar and rating display
92-
- Submission list with problem name, verdict, time, and language
93-
- Dark mode support based on system preference
89+
- 项目初始化:React + TypeScript + Vite + Tailwind CSS
90+
- Codeforces API 基础集成
91+
- 用户查询:显示头像和 Rating
92+
- 提交记录列表:展示题目名称、结果、时间和语言
93+
- 深色模式:根据系统偏好自动切换
9494

9595
---
9696

97-
## Versioning Policy
97+
## 版本规范
9898

99-
- **MAJOR**: Breaking changes or major feature additions
100-
- **MINOR**: New features, enhancements (backward compatible)
101-
- **PATCH**: Bug fixes, minor improvements
99+
- **主版本号**:破坏性变更或重大功能更新
100+
- **次版本号**:新增功能、功能增强(向后兼容)
101+
- **修订号**Bug 修复、小幅优化
102102

103-
## Release Process
103+
## 发布流程
104104

105-
1. Update `CHANGELOG.md` with new version and changes
106-
2. Update version in `package.json`
107-
3. Create git tag: `git tag -a v1.0.0 -m "Release version 1.0.0"`
108-
4. Push tag: `git push origin v1.0.0`
109-
5. Deploy: `vercel --prod --yes`
105+
1. 更新 `CHANGELOG.md` 记录新版本变更
106+
2. 更新 `package.json` 中的版本号
107+
3. 创建 git 标签:`git tag -a v1.0.0 -m "Release version 1.0.0"`
108+
4. 推送标签:`git push origin v1.0.0`
109+
5. 部署:`vercel --prod --yes`

src/App.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ function App() {
268268
const activeSubmissions = activeUser ? (submissions.get(activeUser.handle) || []) : [];
269269

270270
return (
271-
<div className="min-h-screen bg-gray-50 dark:bg-gray-900 transition-colors">
271+
<div className="min-h-screen bg-gray-50 dark:bg-gray-900 transition-colors flex flex-col">
272272
{/* 固定顶部导航 */}
273273
<header className="bg-white/80 dark:bg-gray-800/80 backdrop-blur-md border-b border-gray-200 dark:border-gray-700 sticky top-0 z-50">
274274
<div className="max-w-4xl mx-auto px-4 py-3 flex items-center justify-between">
@@ -288,7 +288,7 @@ function App() {
288288
</div>
289289
</header>
290290

291-
<main className="max-w-4xl mx-auto px-4 py-6">
291+
<main className="max-w-4xl mx-auto px-4 py-6 flex-1 w-full">
292292
<section className="mb-8">
293293
<h2 className="text-lg font-semibold text-gray-900 dark:text-white mb-4">
294294
{t('user.title')}

src/main.tsx

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,67 @@ import { createRoot } from 'react-dom/client'
33
import './index.css'
44
import App from './App.tsx'
55

6+
// 🎮 开发者控制台彩蛋
7+
console.log(
8+
'%c🤖 别让我逮到你! %cI\'m watching you...',
9+
'color: #22d3ee; font-size: 24px; font-weight: bold; text-shadow: 2px 2px 4px rgba(34, 211, 238, 0.3);',
10+
'color: #3b82f6; font-size: 16px; font-style: italic;'
11+
);
12+
13+
console.log(
14+
'%c%s',
15+
'color: #10b981; font-size: 12px;',
16+
`
17+
╭────────────────────────────────────╮
18+
│ 🎯 Codeforces Daily Tracker v1.0.0 │
19+
│ │
20+
│ 📝 今天刷题了吗? │
21+
│ 💪 Rating 涨了吗? │
22+
│ 🔥 连续打卡几天了? │
23+
│ │
24+
│ GitHub: @cooper-xs │
25+
│ Made with ❤️ by @cooper-xs · @yume · @TARS 🤖 │
26+
╰────────────────────────────────────╯
27+
`
28+
);
29+
30+
console.log(
31+
'%c💡 小提示: %c试试查询多个用户,看看谁今天最卷!',
32+
'color: #f59e0b; font-size: 14px; font-weight: bold;',
33+
'color: #6b7280; font-size: 12px;'
34+
);
35+
36+
// 🔍 检测开发者工具
37+
if (typeof window !== 'undefined') {
38+
const devtools = { open: false };
39+
const threshold = 160;
40+
41+
setInterval(() => {
42+
const widthThreshold = window.outerWidth - window.innerWidth > threshold;
43+
const heightThreshold = window.outerHeight - window.innerHeight > threshold;
44+
45+
if (widthThreshold || heightThreshold) {
46+
if (!devtools.open) {
47+
devtools.open = true;
48+
console.log(
49+
'%c👀 被发现了!',
50+
'color: #ef4444; font-size: 20px; font-weight: bold;'
51+
);
52+
console.log(
53+
'%c既然你打开了控制台...要不要来 GitHub 给我们点个 ⭐?',
54+
'color: #8b5cf6; font-size: 14px;'
55+
);
56+
console.log(
57+
'%chttps://github.com/cooper-xs/cf-daily-tracker',
58+
'color: #3b82f6; font-size: 12px; text-decoration: underline; cursor: pointer;'
59+
);
60+
}
61+
} else {
62+
devtools.open = false;
63+
}
64+
}, 1000);
65+
}
66+
667
createRoot(document.getElementById('root')!).render(
768
<StrictMode>
869
<App />

0 commit comments

Comments
 (0)