Skip to content

Commit 082acab

Browse files
committed
💄 Ikke bytt til fire års zoom når det ikke er nødvendig
1 parent 4b20bc7 commit 082acab

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

‎src/routes/saksbilde/timeline/Timeline.tsx

+12-4
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { ScrollButtons } from './ScrollButtons';
2222
import { TimelineRow, TimelineRowSkeleton } from './TimelineRow';
2323
import { ZoomLevelPicker } from './ZoomLevelPicker';
2424
import { useInfotrygdPeriods } from './hooks/useInfotrygdPeriods';
25-
import { ZoomLevel, useTimelineControls } from './hooks/useTimelineControls';
25+
import { ZoomLevel, getMergedPeriods, useLatestPossibleDate, useTimelineControls } from './hooks/useTimelineControls';
2626

2727
import styles from './Timeline.module.css';
2828

@@ -33,6 +33,14 @@ interface TimelineWithContentProps {
3333
person: PersonFragment;
3434
}
3535

36+
const useLatestDate = (
37+
arbeidsgivere: Array<ArbeidsgiverFragment>,
38+
infotrygdutbetalinger: Array<Infotrygdutbetaling>,
39+
): dayjs.Dayjs => {
40+
const perioder = getMergedPeriods(arbeidsgivere, infotrygdutbetalinger);
41+
return useLatestPossibleDate(perioder);
42+
};
43+
3644
const TimelineWithContent = ({
3745
arbeidsgivere,
3846
infotrygdutbetalinger,
@@ -48,13 +56,13 @@ const TimelineWithContent = ({
4856
canNavigateForwards,
4957
canNavigateBackwards,
5058
} = useTimelineControls(arbeidsgivere, infotrygdutbetalinger);
59+
const nyesteDag = useLatestDate(arbeidsgivere, infotrygdutbetalinger);
5160

5261
useEffect(() => {
5362
const defaultZoomLevel = () => {
5463
if (isBeregnetPeriode(activePeriod)) {
55-
if (dayjs(activePeriod.fom).isSameOrBefore(dayjs(Date.now()).subtract(1, 'year')))
56-
return ZoomLevel.FIRE_Ã…R;
57-
else if (dayjs(activePeriod.fom).isSameOrBefore(dayjs(Date.now()).subtract(6, 'month')))
64+
if (dayjs(activePeriod.fom).isSameOrBefore(nyesteDag.subtract(1, 'year'))) return ZoomLevel.FIRE_Ã…R;
65+
else if (dayjs(activePeriod.fom).isSameOrBefore(nyesteDag.subtract(6, 'month')))
5866
return ZoomLevel.ETT_Ã…R;
5967
}
6068
return ZoomLevel.SEKS_MÃ…NEDER;

‎src/routes/saksbilde/timeline/hooks/useTimelineControls.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const getEarliestDate = (perioder: Array<Periode>): Dayjs => {
4141
}, dayjs());
4242
};
4343

44-
const getMergedPeriods = (
44+
export const getMergedPeriods = (
4545
arbeidsgivere: Array<ArbeidsgiverFragment>,
4646
infotrygdutbetalinger: Array<Infotrygdutbetaling>,
4747
): Array<Periode> => {
@@ -52,7 +52,7 @@ const getMergedPeriods = (
5252
];
5353
};
5454

55-
const useLatestPossibleDate = (periods: Array<Periode>): Dayjs => {
55+
export const useLatestPossibleDate = (periods: Array<Periode>): Dayjs => {
5656
return useMemo(() => {
5757
return getLatestDate(periods);
5858
}, [periods]);

0 commit comments

Comments
 (0)