diff --git a/apps/mobile/src/app/(tabs)/plan.tsx b/apps/mobile/src/app/(tabs)/plan.tsx index d55f20f..d9fa895 100644 --- a/apps/mobile/src/app/(tabs)/plan.tsx +++ b/apps/mobile/src/app/(tabs)/plan.tsx @@ -80,10 +80,15 @@ export default function PlanScreen() { const mondayKey = toKey(monday); const weekDays = useMemo(() => Array.from({ length: 7 }, (_, i) => addDays(monday, i)), [monday]); // Vardag: middag. Helg (lör/sön): lunch + middag. Realistisk förifylld default. - const mealSlots = useMemo( - () => weekDays.map((d) => (d.getDay() === 0 || d.getDay() === 6 ? ["lunch", "dinner"] : ["dinner"])), - [weekDays], + const [mealSlots, setMealSlots] = useState(() => + weekDays.map((d) => (d.getDay() === 0 || d.getDay() === 6 ? ["lunch", "dinner"] : ["dinner"])), ); + const toggleSlot = (dayIdx: number, meal: string) => + setMealSlots((prev) => + prev.map((meals, i) => + i !== dayIdx ? meals : meals.includes(meal) ? meals.filter((m) => m !== meal) : [...meals, meal], + ), + ); const query = useQuery({ queryKey: ["week-plan", mondayKey], @@ -313,11 +318,39 @@ export default function PlanScreen() { <> {(plan === null || !hasEntries) && ( -