fix: sync capture override response

This commit is contained in:
William Valentin
2026-02-04 11:02:06 -08:00
parent 8eae0c7c97
commit ffba6fb290
2 changed files with 33 additions and 4 deletions

View File

@@ -25,6 +25,11 @@ type SignedUrlResponse = {
expiresSeconds: number;
};
type OverrideResponse = {
capture_ts_utc_override: string | null;
base_capture_ts_utc: string | null;
};
type PreviewUrlState = Record<string, string | undefined>;
type VideoPlaybackVariant = { kind: "original" } | { kind: "video_mp4"; size: number };
type VariantsResponse = Array<{ kind: string; size: number; key: string }>;
@@ -232,17 +237,20 @@ export function MediaPanel(props: { selectedDayIso: string | null }) {
},
);
if (!res.ok) throw new Error(`override_failed:${res.status}`);
const json = (await res.json()) as OverrideResponse;
setViewer((prev) =>
prev
? {
...prev,
asset: {
...prev.asset,
capture_ts_utc: trimmed,
capture_ts_utc:
json.capture_ts_utc_override ?? json.base_capture_ts_utc,
},
}
: prev,
);
setBaseCaptureTs(json.base_capture_ts_utc ?? null);
setOverrideError("Override saved.");
} catch (err) {
setOverrideError(err instanceof Error ? err.message : String(err));
@@ -270,18 +278,21 @@ export function MediaPanel(props: { selectedDayIso: string | null }) {
},
);
if (!res.ok) throw new Error(`override_clear_failed:${res.status}`);
const json = (await res.json()) as OverrideResponse;
setViewer((prev) =>
prev
? {
...prev,
asset: {
...prev.asset,
capture_ts_utc: baseCaptureTs,
capture_ts_utc:
json.capture_ts_utc_override ?? json.base_capture_ts_utc,
},
}
: prev,
);
setOverrideInput(baseCaptureTs ?? "");
setBaseCaptureTs(json.base_capture_ts_utc ?? null);
setOverrideInput(json.base_capture_ts_utc ?? "");
setOverrideError("Override cleared.");
} catch (err) {
setOverrideError(err instanceof Error ? err.message : String(err));