- Drop redundant <h2> page titles in 习惯 / 倒数日 / 设置与数据
- Wrap today view in three <section class='today-block'> sub-blocks:
今日任务 / 今日习惯 / 倒数日提醒 (7 天内 countdowns)
- Reduce task row noise: priority becomes a colored dot, priority
select and priority-text removed; delete action is desktop-only
- Hide task row inline actions and pager when only a single page
- Add a row-level More menu on sidebar list / folder rows (rename,
archive, delete) and a 'archived' toggle that appears only when
archived lists exist
- Add 'archived-heading' / 'page-subtitle' / 'today-block' /
'priority-dot' / 'task-delete{display:none}' / 'row-menu' styles
and a mobile 'min-height:44px' hit area for sidebar row actions
- Refresh unit tests in src/style.test.ts to cover the cleanup
This commit is contained in:
@@ -286,13 +286,13 @@ onBeforeUnmount(() => {
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<section class="mvp-view" :class="{ loading: busy }">
|
||||
<section class="mvp-view" :class="{ loading: busy, 'today-habit-panel': view === 'today-habits' }">
|
||||
<p v-if="error" class="inline-error">{{ error }}</p>
|
||||
|
||||
<!-- 习惯(TickTick 风格:一次只操作一个习惯,不再逐格小按钮误触) -->
|
||||
<template v-if="view === 'habits' || view === 'today-habits'">
|
||||
<header v-if="view === 'habits'" class="view-intro">
|
||||
<div><small>把想坚持的事,变成每天的日常</small><h2>习惯</h2></div>
|
||||
<header v-if="view === 'habits'" class="view-intro page-subtitle">
|
||||
<small>把想坚持的事,变成每天的日常</small>
|
||||
<button class="soft-button" @click="loadHabits"><RefreshCw />刷新</button>
|
||||
</header>
|
||||
|
||||
@@ -336,8 +336,8 @@ onBeforeUnmount(() => {
|
||||
|
||||
<!-- 设置与数据 -->
|
||||
<template v-else>
|
||||
<header class="view-intro">
|
||||
<div><small>备份、迁移与安全</small><h2>设置与数据</h2></div>
|
||||
<header class="view-intro page-subtitle">
|
||||
<small>备份、迁移与安全</small>
|
||||
</header>
|
||||
<div class="settings-grid">
|
||||
<article class="tool-card"><FileJson /><h3>数据导出与恢复</h3><p>下载完整 JSON 备份,或从备份恢复。</p><button class="soft-button" @click="exportData"><Download />导出 JSON</button><label class="file-button"><ArchiveRestore />选择备份<input type="file" accept="application/json" @change="restoreFile=($event.target as HTMLInputElement).files?.[0]||null"></label><button v-if="restoreFile" class="danger-button" @click="restore">确认恢复</button></article>
|
||||
|
||||
Reference in New Issue
Block a user