06bc91ac13
Add iOS Shortcuts/Siri intents, local send-reminder notifications, stable client picker with last-client defaults, account refresh/remove, and softer session handling on unauthorized API responses. Co-authored-by: Cursor <cursoragent@cursor.com>
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import { useLocalSearchParams } from "expo-router";
|
|
|
|
import { AppBackground } from "@/components/AppBackground";
|
|
import { PageHeader } from "@/components/PageHeader";
|
|
import { TabPage } from "@/components/TabPage";
|
|
import { TimeClockPanel } from "@/components/time-clock/TimeClockPanel";
|
|
|
|
export default function TimerScreen() {
|
|
const params = useLocalSearchParams<{
|
|
clientId?: string | string[];
|
|
invoiceId?: string | string[];
|
|
}>();
|
|
const clientId = Array.isArray(params.clientId) ? params.clientId[0] : params.clientId;
|
|
const invoiceId = Array.isArray(params.invoiceId) ? params.invoiceId[0] : params.invoiceId;
|
|
|
|
return (
|
|
<AppBackground>
|
|
<TabPage>
|
|
<TimeClockPanel
|
|
header={
|
|
<PageHeader
|
|
title="Time clock"
|
|
subtitle="Track billable hours and link them to invoices"
|
|
/>
|
|
}
|
|
defaultClientId={clientId ?? ""}
|
|
defaultInvoiceId={invoiceId ?? ""}
|
|
compact
|
|
/>
|
|
</TabPage>
|
|
</AppBackground>
|
|
);
|
|
}
|