diff --git a/src/components/UsageCalendar.tsx b/src/components/UsageCalendar.tsx index 1a63610..c6f862f 100644 --- a/src/components/UsageCalendar.tsx +++ b/src/components/UsageCalendar.tsx @@ -12,7 +12,7 @@ import { import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; -import { UsageEntry, getUsageForDate, setUsageForDate } from '@/lib/storage'; +import { UsageEntry, getUsageForDate, setUsageForDate, clearDayData } from '@/lib/storage'; import { ChevronLeftIcon, ChevronRightIcon } from 'lucide-react'; interface UsageCalendarProps { @@ -59,6 +59,17 @@ export function UsageCalendar({ usageData, substance, onDataUpdate }: UsageCalen setEditCount(''); }; + const handleClearDay = () => { + if (selectedDate) { + const dateStr = selectedDate.toISOString().split('T')[0]; + clearDayData(dateStr, substance); + onDataUpdate(); + } + setIsEditing(false); + setSelectedDate(undefined); + setEditCount(''); + }; + const getUsageCount = useCallback((date: Date): number => { const dateStr = date.toISOString().split('T')[0]; const entry = usageData.find((e) => e.date === dateStr && e.substance === substance); @@ -179,6 +190,15 @@ export function UsageCalendar({ usageData, substance, onDataUpdate }: UsageCalen Save +
+ +
diff --git a/src/lib/storage.ts b/src/lib/storage.ts index ba8cefa..6c57b0a 100644 --- a/src/lib/storage.ts +++ b/src/lib/storage.ts @@ -191,6 +191,13 @@ export function getCurrentWeekTarget(): number | null { return prefs.quitPlan.weeklyTargets[weekNumber]; } +export function clearDayData(date: string, substance: 'nicotine' | 'weed'): void { + if (typeof window === 'undefined') return; + const data = getUsageData(); + const filtered = data.filter((e) => !(e.date === date && e.substance === substance)); + localStorage.setItem(USAGE_KEY, JSON.stringify(filtered)); +} + export function clearAllData(): void { if (typeof window === 'undefined') return; localStorage.removeItem(USAGE_KEY);