import { HStack, Image, Text } from "@expo/ui/swift-ui"; import { font, foregroundStyle, lineLimit, minimumScaleFactor, monospacedDigit, padding, widgetAccentedRenderingMode, } from "@expo/ui/swift-ui/modifiers"; import { createLiveActivity, type LiveActivityEnvironment } from "expo-widgets"; import type { TimeClockActivityProps } from "@/lib/time-clock-live-activity.types"; function TimeClockActivity(props: TimeClockActivityProps, _environment: LiveActivityEnvironment) { "widget"; const green = "green"; const title = props.description.trim() || "Clock In"; const subtitle = [props.clientName, props.invoiceLabel].filter(Boolean).join(" ยท "); const detailLine = subtitle ? `${title}\n${subtitle}` : title; const timerMods = [ font({ design: "monospaced", weight: "bold", size: 20 }), monospacedDigit(), foregroundStyle(green), lineLimit(1), minimumScaleFactor(0.85), ]; const compactTimerMods = [ font({ design: "monospaced", weight: "semibold", size: 11 }), monospacedDigit(), foregroundStyle(green), lineLimit(1), minimumScaleFactor(0.8), ]; const brandMods = [ font({ weight: "semibold", size: 13 }), foregroundStyle(green), lineLimit(1), minimumScaleFactor(0.85), ]; const detailMods = [ font({ weight: "medium", size: 12 }), foregroundStyle({ type: "hierarchical", style: "secondary" }), lineLimit(2), minimumScaleFactor(0.85), ]; return { banner: ( beenvoice {props.elapsedShort} ), bannerSmall: ( beenvoice {props.elapsedShort} ), compactLeading: ( ), compactTrailing: {props.elapsedShort}, minimal: ( ), expandedLeading: ( ), expandedTrailing: {props.elapsedShort}, expandedBottom: {detailLine}, }; } export default createLiveActivity("TimeClockActivity", TimeClockActivity);