feat: 增加时区选择(自动检测,回退墨尔本)
顶栏新增时区选择器:加载时自动检测用户所在时区(Intl.DateTimeFormat), 检测不到则默认澳大利亚墨尔本。选定时区作为新建事件的默认 tzid 与下载 ICS 的 X-WR-TIMEZONE,不做时间换算(应用内部为 wall-clock 字符串)。 - 新增 src/lib/timezone.js(detect/list/validate/默认值) - useCalendar 持 state.timezone、setTimezone、addEvent 传 tzid、serialize 注入 X-WR-TIMEZONE - HeaderBar 顶栏下拉选择器 + i18n 文案 - 新增 test/timezone.test.js(15 项),全量 57 项通过 - README 简述功能,细节移至 docs/timezone.md
This commit is contained in:
@@ -22,6 +22,7 @@ timeTableFix/
|
||||
│ ├── lib/
|
||||
│ │ ├── weekday.js 星期常量与工具
|
||||
│ │ ├── date.js 日期工具
|
||||
│ │ ├── timezone.js 时区检测 / 选择(回退墨尔本)
|
||||
│ │ ├── colors.js 事件配色
|
||||
│ │ ├── uuid.js UUID 生成(含非安全上下文回退)
|
||||
│ │ ├── ical-io.js ICS 文本 <-> plain model
|
||||
@@ -60,9 +61,11 @@ npm install # 已配 npmmirror 镜像加速
|
||||
|
||||
npm run dev # 开发服务器 http://localhost:5173
|
||||
npm run build # 构建到 dist/
|
||||
npm test # 单元测试(42 项)
|
||||
npm test # 单元测试(57 项)
|
||||
```
|
||||
|
||||
顶栏时区选择器在加载时自动检测用户所在时区,检测不到则默认澳大利亚墨尔本;仅作为新建事件与下载 ICS 的默认时区,不做时间换算。详见 [`docs/timezone.md`](./docs/timezone.md)。
|
||||
|
||||
## 技术栈
|
||||
|
||||
| 项 | 选择 |
|
||||
@@ -78,6 +81,7 @@ npm test # 单元测试(42 项)
|
||||
## 了解更多
|
||||
|
||||
- [嵌入 mainPage(i18n prop 桥接 / 样式隔离)](./docs/integration.md)
|
||||
- [时区选择(自动检测 / 回退墨尔本)](./docs/timezone.md)
|
||||
- [间隔合并与链拆分算法](./docs/organize-algorithm.md)
|
||||
- [自动保存设计](./docs/auto-save-design.md)
|
||||
- [初始设计文档](./docs/superpowers/specs/2026-07-13-timetable2-design.md)
|
||||
|
||||
Reference in New Issue
Block a user