feat(workspace): 日历瘦身 + 右侧「今日 to do / 选中日待办」双面板
日历 - 行高 92→72px,行程条只留 2 条(超出折成 +N 并压缩成小 chip),标题区与周标同步收窄 - 选中态重做:去掉了原来生硬的 2px 内描边,改成单元格内嵌圆角环 + 淡入缩放动画; 「今天」改为日号描边圆环,与「选中」的实心日号区分开 - 侧栏宽度不足时(≤1200px)自动改为上下排布 右侧新增两块 - 「今日 to do」:备忘录性质。底部常驻加号输入框,回车即建;建完前面出现勾选框, 勾选后划线变淡并沉到已完成组末尾(输入框始终在最后一行);可取消勾选回到未完成组; 悬浮出现删除按钮;列表过长可滚动,勾选后自动滚进视野 - 「待办事项」:显示日历上选中那天的日程与节日(未选中时默认今天), 带优先级点与说明,右上角「新建」直接为该日添加日程 - 原左栏重复的 [TASK QUEUE] 面板移到这里后删除,避免同名面板出现两次 后端 - todos 增加 list 列(schedule 日历日程 / memo 备忘录待办),老库启动时自动补列 - GET /api/todos 支持 list=memo;POST 支持 list,memo 不写日期 - 新增 PATCH /api/todos/:id(勾选完成/取消、改标题等)与 DELETE /api/todos/:id
This commit is contained in:
@@ -36,6 +36,20 @@ if (!tableExists) {
|
||||
initDatabase();
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
// 轻量迁移:schema.sql 只对新库生效,老库缺列在这里补。
|
||||
// todos.list —— 'schedule' 日历日程 / 'memo' 今日待办备忘录(备忘录不带日期)
|
||||
// ---------------------------------------------------------------------------
|
||||
function ensureColumns() {
|
||||
const todoColumns = db.pragma('table_info(todos)').map(column => column.name);
|
||||
if (!todoColumns.includes('list')) {
|
||||
db.exec("ALTER TABLE todos ADD COLUMN list TEXT NOT NULL DEFAULT 'schedule'");
|
||||
console.log('✓ 迁移:todos.list 列已补齐');
|
||||
}
|
||||
}
|
||||
|
||||
ensureColumns();
|
||||
|
||||
// 创建默认管理员账号(如果不存在)
|
||||
function createDefaultAdmin() {
|
||||
const crypto = require('crypto');
|
||||
|
||||
Reference in New Issue
Block a user