diff --git a/src/lib/data/report.ts b/src/lib/data/report.ts index 0759b13..221ee04 100644 --- a/src/lib/data/report.ts +++ b/src/lib/data/report.ts @@ -12,6 +12,8 @@ type HeadCountOptions = { maxTime: Date; } +const ROWS_PER_COLUMN = 6; + function headcount(logs: Pick[], options?: Partial): number[] { const { bucketSize = 10 * 60 * 1000, // 10 minutes in ms @@ -19,11 +21,11 @@ function headcount(logs: Pick { - const evts: Event[] = []; - evts.push({ time: l.inTime.getTime(), user: l.userId, type: "in" }); - evts.push({ time: l.outTime?.getTime() ?? Date.now(), user: l.userId, type: "out" }); - return evts; + .map((log) => { + const userEvents: Event[] = []; + userEvents.push({ time: log.inTime.getTime(), user: log.userId, type: "in" }); + userEvents.push({ time: log.outTime?.getTime() ?? Date.now(), user: log.userId, type: "out" }); + return userEvents; }) .flat(); @@ -41,20 +43,20 @@ function headcount(logs: Pick + const headcountData = Array.from({ length: ROWS_PER_COLUMN }, (_, row) => Array.from({ length: 24 }, (_, col) => { - const index = row + col * 6; + const index = row + col * ROWS_PER_COLUMN; return index < headcountResult.length ? headcountResult[index] : 0; }) );