segment highlight, all-efforts table, live segment selection preview

This commit is contained in:
Vincent van der Wal
2026-07-22 17:15:25 +02:00
parent 2c82445291
commit e59340d33d
8 changed files with 128 additions and 6 deletions
+31
View File
@@ -495,6 +495,37 @@ export function deleteSegment(id: number, userId: number): boolean {
return result.changes > 0;
}
/** Every effort on a segment, fastest first (untimed last, by date). */
export function segmentAllEfforts(segmentId: number): {
id: number;
user_id: number;
username: string;
activity_id: number;
activity_name: string;
elapsed_s: number | null;
date: string | null;
}[] {
return db
.prepare(
`SELECT e.id, e.user_id, u.username, e.activity_id, a.name activity_name,
e.elapsed_s, e.date
FROM segment_efforts e
JOIN users u ON u.id = e.user_id
JOIN activities a ON a.id = e.activity_id
WHERE e.segment_id = ?
ORDER BY e.elapsed_s IS NULL, e.elapsed_s ASC, e.date DESC`
)
.all(segmentId) as {
id: number;
user_id: number;
username: string;
activity_id: number;
activity_name: string;
elapsed_s: number | null;
date: string | null;
}[];
}
export function segmentEffortsForActivity(activityId: number): { segment_id: number; name: string; elapsed_s: number | null }[] {
return db
.prepare(