Polish Live Activity branding and add EAS build config.

Use brand mark and wordmark images in the time clock Live Activity, migrate file copies to the modern expo-file-system File API, and add eas.json for TestFlight production builds.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-17 23:39:01 -04:00
parent 6d2711e36e
commit d3b73464e4
8 changed files with 172 additions and 36 deletions
+5
View File
@@ -3,6 +3,7 @@ import { Platform } from "react-native";
import { formatElapsedHoursMinutes, formatElapsedSeconds } from "@/lib/time-clock";
import type { TimeClockActivityProps } from "@/lib/time-clock-live-activity.types";
import { ensureWidgetBrandAssets, getWidgetBrandAssetUris } from "@/lib/widget-brand-assets";
type RunningEntry = {
description: string;
@@ -54,6 +55,7 @@ export function buildTimeClockActivityProps(
elapsedSeconds: number,
): TimeClockActivityProps {
const invoice = running.invoice;
const brand = getWidgetBrandAssetUris();
return {
elapsed: formatElapsedSeconds(elapsedSeconds),
elapsedShort: formatElapsedHoursMinutes(elapsedSeconds),
@@ -66,6 +68,8 @@ export function buildTimeClockActivityProps(
invoiceLabel: invoice
? `${invoice.invoicePrefix ?? "#"}${invoice.invoiceNumber}`
: "",
markImageUri: brand?.markUri,
logoImageUri: brand?.logoUri,
};
}
@@ -82,6 +86,7 @@ export async function syncTimeClockLiveActivity(
}
try {
await ensureWidgetBrandAssets();
const props = buildTimeClockActivityProps(running, elapsedSeconds);
const instances = factory.getInstances();