From e0fcec22934efad360d6f8d329c83b56ff1624c4 Mon Sep 17 00:00:00 2001 From: subtrack Date: Mon, 19 Oct 2026 23:42:40 +0800 Subject: [PATCH] =?UTF-8?q?fix(v1.9.3):=20=E4=BF=AE=E5=A4=8D=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=8D=A1=E6=8C=89=E9=92=AE=E9=94=99=E4=BD=8D=E3=80=81?= =?UTF-8?q?=E6=97=A5=E5=8E=86=E5=A4=B4=E9=83=A8=E5=AF=B9=E9=BD=90=E3=80=81?= =?UTF-8?q?=E6=A0=87=E7=AD=BE=E6=B7=B1=E5=BA=95=E6=B7=B1=E5=AD=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 任务卡改为「正文 + 右侧操作」两列布局,按钮横排不换行;标题/副标题/备注分别用主文字色与弱化色 - 套餐/订阅行内操作按钮(详情、编辑、归档、完成、⋯)统一 flex 横排,不再竖排堆叠 - tagchip/chip 改浅底深字并区分明暗主题,修复深色背景配深色字体 - 日历头部(月份、‹ ›、回到今天、右侧统计)统一 align-items:center - 徽标 text-bg-success 与表格表头、任务副标题对比度不足的问题按明暗主题分别补色 - 版本 1.9.3;仅前端样式 验证:无头浏览器两态截图(shots/ink193b/sheet.png),亮色主题已能正确切换 --- internal/web/static/app.css | 70 +++++++++++++++++++++++++++++++++++++ main.go | 2 +- 2 files changed, 71 insertions(+), 1 deletion(-) diff --git a/internal/web/static/app.css b/internal/web/static/app.css index 13244c2..03a8af5 100644 --- a/internal/web/static/app.css +++ b/internal/web/static/app.css @@ -1333,3 +1333,73 @@ a:hover { color: var(--ink-green-3); } .heat-cell.h2 { background: rgba(47,163,122,.26); } .heat-cell.h3 { background: rgba(47,163,122,.40); } .heat-cell.h4 { background: rgba(47,163,122,.58); } + + +/* ---------- v1.9.3 fixes:布局与对比度 ---------- */ + +/* 日历头部:左右两组垂直居中 */ +.cal-head, .cal-toolbar, .month-nav { + display: flex; align-items: center; gap: 10px; + flex-wrap: wrap; min-height: 40px; +} +.cal-head h1, .month-nav h1, .month-nav b { margin: 0; line-height: 1.2; display: inline-flex; align-items: center; } +.cal-head .btn, .month-nav .btn, .cal-toolbar .btn { align-self: center; } + +/* 任务卡:正文与操作按钮分两列,按钮横排、不换行 */ +.task { + display: flex !important; align-items: flex-start; gap: 10px; + flex-wrap: nowrap; padding-block: 10px; +} +.task-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; } +.task-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 6px; margin-left: auto; } +.task-actions form { display: inline-flex; margin: 0; } +.task-actions .btn, .task .btn { white-space: nowrap; padding-block: .2rem; } +.task-title { + color: var(--ink-ink) !important; font-weight: 650; text-decoration: none; + overflow: hidden; text-overflow: ellipsis; white-space: nowrap; +} +.task-title:hover { color: var(--ink-green-3) !important; } +.task-meta, .task-sub, .task-note, .task .muted { + color: var(--ink-muted) !important; font-size: .78rem; +} +.task.urgent .task-title { color: #f08a82 !important; } + +/* 标签/徽记:浅底深字,任何主题都读得清 */ +.tagchip, .chip, .pkg-tag, .tag { + display: inline-flex; align-items: center; gap: 4px; + padding: 1px 8px; border-radius: 999px; + background: rgba(47,163,122,.16) !important; + border: 1px solid rgba(47,163,122,.38) !important; + color: var(--ink-ink) !important; + font-size: .72rem; font-weight: 600; line-height: 1.7; +} +[data-theme="dark"] .tagchip, [data-theme="dark"] .chip, +[data-bs-theme="dark"] .tagchip, [data-bs-theme="dark"] .chip { + background: rgba(99,214,173,.18) !important; + border-color: rgba(99,214,173,.42) !important; + color: #d8f5e9 !important; +} +[data-theme="dark"] .tagchip, [data-bs-theme="dark"] .tagchip { color: #bfe9d8 !important; } + +/* 套餐表格行操作按钮 */ +.actions, .row-actions, td .actions { + display: flex; align-items: center; gap: 8px; flex-wrap: nowrap; +} +.actions form, .row-actions form { display: inline-flex; margin: 0; } +.actions .btn, .row-actions .btn, td .btn { white-space: nowrap; padding-block: .2rem; } + +/* 订阅卡动作行 */ +.subcard-foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; } +.subcard-foot form { display: inline-flex; margin: 0; } + +/* 表格正文对比度 */ +.table td, .table td a, .table td strong { color: var(--ink-ink); } +.table td .muted, .table td small { color: var(--ink-muted) !important; } + +/* v1.9.3 对比度补丁 */ +.badge.text-bg-success { background: #1d7a58 !important; color: #f2fffa !important; } +.table thead th { color: #4f6a5e !important; } +[data-bs-theme="dark"] .table thead th, [data-theme="dark"] .table thead th { color: var(--ink-muted) !important; } +.task-meta, .task-sub, .task-note { color: #55705f !important; } +[data-bs-theme="dark"] .task-meta, [data-theme="dark"] .task-meta, +[data-bs-theme="dark"] .task-sub, [data-theme="dark"] .task-sub { color: #9dbbac !important; } \ No newline at end of file diff --git a/main.go b/main.go index 1b4ad7e..4ccc6de 100644 --- a/main.go +++ b/main.go @@ -26,7 +26,7 @@ import ( "daili/internal/web" ) -const version = "1.9.2" +const version = "1.9.3" func main() { cfgFlag := flag.String("config", "", "配置文件路径(默认:exe 同级的 "+config.FileName+")")