fix: sync capture override response
This commit is contained in:
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user