Simplify calendar code
This commit is contained in:
parent
9fc14cffd0
commit
50730a2b09
@ -5,7 +5,7 @@ import {Tooltip} from 'react-tooltip';
|
|||||||
import {Data} from "@/data/fetchData";
|
import {Data} from "@/data/fetchData";
|
||||||
import HeatMap from "@/components/HeatMap";
|
import HeatMap from "@/components/HeatMap";
|
||||||
|
|
||||||
function useCalendarData(data: Data, initialDate: Date, endDate: Date) {
|
function useCalendarData(data: Data) {
|
||||||
const timeEntries = data.timeEntries;
|
const timeEntries = data.timeEntries;
|
||||||
|
|
||||||
// Group by day, sum up seconds
|
// Group by day, sum up seconds
|
||||||
@ -17,17 +17,6 @@ function useCalendarData(data: Data, initialDate: Date, endDate: Date) {
|
|||||||
return R.sum((entries ?? []).map((entry) => entry.duration))
|
return R.sum((entries ?? []).map((entry) => entry.duration))
|
||||||
}, grouped);
|
}, grouped);
|
||||||
|
|
||||||
// Fill in missing days, hacky
|
|
||||||
dFns.eachDayOfInterval({
|
|
||||||
start: initialDate,
|
|
||||||
end: endDate,
|
|
||||||
}).forEach((date) => {
|
|
||||||
const key = dFns.formatISO(date);
|
|
||||||
if (summed[key] == undefined) {
|
|
||||||
summed[key] = 0;
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
return Object.entries(summed)
|
return Object.entries(summed)
|
||||||
.map(([key, value]) => ({
|
.map(([key, value]) => ({
|
||||||
date: dFns.parseISO(key),
|
date: dFns.parseISO(key),
|
||||||
@ -50,7 +39,7 @@ export function CalendarOverviewCard({
|
|||||||
}) {
|
}) {
|
||||||
const initialDate = dFns.parseISO(startTime);
|
const initialDate = dFns.parseISO(startTime);
|
||||||
const endDate = dFns.parseISO(endTime);
|
const endDate = dFns.parseISO(endTime);
|
||||||
const calendarData = useCalendarData(data, initialDate, endDate);
|
const calendarData = useCalendarData(data);
|
||||||
|
|
||||||
return <Card className="col-span-1">
|
return <Card className="col-span-1">
|
||||||
<Tooltip id="calendar-tooltip"/>
|
<Tooltip id="calendar-tooltip"/>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user