your personal website on atproto - mirror blento.app
at invalid-handle-fix 37 lines 858 B view raw
1import type { CardDefinition } from '../types'; 2import TimerCard from './TimerCard.svelte'; 3import TimerCardSettings from './TimerCardSettings.svelte'; 4 5export type TimerMode = 'clock' | 'event'; 6 7export type TimerCardData = { 8 mode: TimerMode; 9 label?: string; 10 // For clock mode 11 timezone?: string; 12 // For event mode: target date as ISO string 13 targetDate?: string; 14}; 15 16export const TimerCardDefinition = { 17 type: 'timer', 18 contentComponent: TimerCard, 19 settingsComponent: TimerCardSettings, 20 sidebarButtonText: 'Timer', 21 22 createNew: (card) => { 23 card.w = 4; 24 card.h = 2; 25 card.mobileW = 8; 26 card.mobileH = 3; 27 card.cardData = { 28 mode: 'clock', 29 timezone: Intl.DateTimeFormat().resolvedOptions().timeZone 30 } as TimerCardData; 31 }, 32 33 allowSetColor: true, 34 name: 'Timer Card', 35 minW: 4, 36 canHaveLabel: true 37} as CardDefinition & { type: 'timer' };