import nb from 'date-fns/locale/nb'; import React from 'react'; import DatePicker from 'react-datepicker'; import { classnames } from '..'; import { Periode, Tidspunkt } from '../utils/Periode'; import { ledetekst } from '../diverse/Ledetekst'; function tidspunktTilDate(tidspunkt?: Tidspunkt): Date | undefined { if (!tidspunkt) { return undefined; } const { timer, minutter } = tidspunkt; const dato = new Date(); dato.setHours(timer); dato.setMinutes(minutter); return dato; } interface Props { onChangeFra: (value: Date) => void; onChangeTil: (value: Date) => void; periode: Periode | undefined; fraTittel?: string; periodeGrense?: Periode; tilTittel?: string; interval?: number; placeholderFra?: string; placeholderTil?: string; } function Periodevelger({ onChangeFra, onChangeTil, periode, fraTittel = ledetekst.getTekst( 'arbeidsvarsling.frontendkomponenter.periodevelger.labelFra' ), tilTittel = ledetekst.getTekst( 'arbeidsvarsling.frontendkomponenter.periodevelger.labelTil' ), interval = 60, placeholderFra = ledetekst.getTekst( 'arbeidsvarsling.frontendkomponenter.periodevelger.placeholderFra' ), periodeGrense, placeholderTil = ledetekst.getTekst( 'arbeidsvarsling.frontendkomponenter.periodevelger.placeholderTil' ), }: Props) { const fra = tidspunktTilDate(periode?.fra); const til = tidspunktTilDate(periode?.til); const minTime = tidspunktTilDate( periodeGrense?.fra ?? { timer: 0, minutter: 0 } ); const maxTime = tidspunktTilDate( periodeGrense?.til ?? { timer: 23, minutter: 59 } ); const nameFra = 'periodevelger-fra'; const nameTil = 'periodevelger-til'; return (