Files
pocket-pascal/client/src/lib/timeContext.ts
Steffi Müller a0d415b08f Rebuild app IA and polish pantry, chips, and food data.
Introduce the four-tab hubs (Jetzt/Küche/Planen/Wissen), frosted ingredient flyouts with caution reasons, structured nutrition fields with protein sorting, and disabled coming-soon nav tiles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-04 15:52:24 +02:00

36 lines
1.0 KiB
TypeScript

import type { MealTime, MealType } from "@/types/domain"
export interface TimeContext {
mealTime: MealTime
mealType: MealType
hour: number
minute: number
}
/**
* Local-time meal context for the suggestion engine.
* until 10:30 → breakfast · until 14:30 → lunch · until 17:30 → snack · else dinner
*/
export function getTimeContext(date = new Date()): TimeContext {
const hour = date.getHours()
const minute = date.getMinutes()
const minutes = hour * 60 + minute
let mealTime: MealTime
if (minutes < 10 * 60 + 30) mealTime = "breakfast"
else if (minutes < 14 * 60 + 30) mealTime = "lunch"
else if (minutes < 17 * 60 + 30) mealTime = "snack"
else mealTime = "dinner"
const mealType: MealType =
mealTime === "breakfast" || mealTime === "snack" ? "half" : "full"
return { mealTime, mealType, hour, minute }
}
export function formatClock(hour: number, minute: number): string {
const hh = String(hour).padStart(2, "0")
const mm = String(minute).padStart(2, "0")
return `${hh}:${mm}`
}