style: simplify mobile task views
This commit is contained in:
@@ -5,6 +5,7 @@ import CountdownPanel from './CountdownPanel.vue'
|
||||
import { invalidateCountdownCache } from './lib/mvp-utils'
|
||||
|
||||
const source = readFileSync('src/CountdownPanel.vue', 'utf8')
|
||||
const css = readFileSync('src/style.css', 'utf8')
|
||||
const cleanups: Array<() => void> = []
|
||||
const countdown = { id:'c1', title:'发布日', event_date:'2026-09-20', display_date:'2026-09-20', kind:'countdown', repeat_rule:'none', icon:'', pinned:false, archived_at:null, days:4, calendar_mode:'solar', lunar_year:null, lunar_month:null, lunar_day:null, ignore_year:false, lunar_text:null, updated_at:'v1' }
|
||||
const countdownB = { ...countdown, id:'c2', title:'旅行日', event_date:'2026-09-24', display_date:'2026-09-24', days:8 }
|
||||
@@ -108,6 +109,23 @@ describe('countdown modal accessibility', () => {
|
||||
expect(source).not.toContain('<h3>{{group.title}}</h3>')
|
||||
})
|
||||
|
||||
it('keeps active rows compact and archive controls accessible', () => {
|
||||
expect(source).not.toContain('class="countdown-hero"')
|
||||
expect(source).toContain('class="countdown-summary"')
|
||||
expect(source).not.toContain('<template v-if="secondaryDate(item)">')
|
||||
expect(source).not.toContain('visibleBadges(item)')
|
||||
expect(source).not.toContain('class="pinned-icon"')
|
||||
expect(source).toContain(':aria-expanded="showArchived"')
|
||||
expect(source).toContain('aria-controls="archived-countdowns"')
|
||||
expect(source).toContain('id="archived-countdowns"')
|
||||
})
|
||||
|
||||
it('keeps archived countdowns as one surface with separator-only mobile rows', () => {
|
||||
expect(css).toMatch(/\.archived-countdowns\.archived-countdowns\{[^}]*background:var\(--surface-raised\);[^}]*border:1px solid var\(--border-cream\);[^}]*border-radius:var\(--radius-list\);[^}]*box-shadow:none/)
|
||||
expect(css).toMatch(/\.archived-countdowns\.archived-countdowns article\{[^}]*border:0;[^}]*border-radius:0;[^}]*box-shadow:none/)
|
||||
expect(css).toContain('.archived-countdowns.archived-countdowns article+article{border-top:1px solid var(--border-cream)}')
|
||||
})
|
||||
|
||||
it('keeps the empty state directly actionable', () => {
|
||||
expect(source).toContain('添加第一个重要日子')
|
||||
expect(source).toContain('@click="openFromEmpty"')
|
||||
|
||||
Reference in New Issue
Block a user