feat: playback where I left off

This commit is contained in:
talksik
2026-03-19 11:24:41 -07:00
parent 71dd0149bc
commit c43f66d915
5 changed files with 71 additions and 32 deletions
+16 -3
View File
@@ -50,9 +50,9 @@ const particleConverter: FirestoreDataConverter<Particle> = {
created_by_email: raw.created_by_email,
updated_at: raw.updated_at ? (raw.updated_at as Timestamp).toDate() : undefined,
visible_to: raw.visible_to,
markers: raw.markers
playback_markers: raw.playback_markers
? Object.fromEntries(
Object.entries(raw.markers).map(([key, value]) => [
Object.entries(raw.playback_markers).map(([key, value]) => [
key,
(value as Timestamp).toDate(),
]),
@@ -240,7 +240,7 @@ export async function updateParticle(
});
}
export async function updateStreamParticleLastChildParticle(
export async function updateStreamLastChildAt(
docPath: string,
): Promise<void> {
const particleRef = typedDoc(docPath);
@@ -249,3 +249,16 @@ export async function updateStreamParticleLastChildParticle(
updated_at: serverTimestamp(),
});
}
export async function updateStreamPlaybackMarker(
docPath: string,
humanId: string,
playbackPositionAt: Date,
): Promise<void> {
const particleRef = typedDoc(docPath);
const markerField = `playback_markers.${humanId}`;
await updateDoc(particleRef, {
[markerField]: Timestamp.fromDate(playbackPositionAt),
updated_at: serverTimestamp(),
});
}