import React, { useEffect, useState } from 'react'; import { Checkbox } from '@chakra-ui/react'; import { Tooltip } from '@chakra-ui/tooltip'; import { useAtomValue } from 'jotai'; import PropTypes from 'prop-types'; import { defaultPublicAtom, startTimeIsLastEndAtom, } from '../../../common/atoms/LocalEventSettings'; import { tooltipDelayMid } from '../../../ontimeConfig'; import style from './EntryBlock.module.scss'; export default function EntryBlock(props) { const { showKbd, previousId, eventsHandler, visible, disableAddDelay = true, disableAddBlock, } = props; const startTimeIsLastEnd = useAtomValue(startTimeIsLastEndAtom); const defaultPublic = useAtomValue(defaultPublicAtom); const [doStartTime, setStartTime] = useState(startTimeIsLastEnd); const [doPublic, setPublic] = useState(defaultPublic); useEffect(() => { setStartTime(startTimeIsLastEnd); }, [startTimeIsLastEnd]); useEffect(() => { setPublic(defaultPublic); }, [defaultPublic]); return (
eventsHandler( 'add', { type: 'event', after: previousId, isPublic: doPublic }, { startIsLastEnd: doStartTime ? previousId : undefined } ) } role='button' > E{showKbd && Alt + E} eventsHandler('add', { type: 'delay', after: previousId })} role='button' > D{showKbd && Alt + D} eventsHandler('add', { type: 'block', after: previousId })} role='button' > B{showKbd && Alt + B}
{ setStartTime(e.target.checked); }} > Start time is last end setPublic(e.target.checked)} > Event is public
); } EntryBlock.propTypes = { showKbd: PropTypes.bool, eventsHandler: PropTypes.func, visible: PropTypes.bool, previousId: PropTypes.string, disableAddDelay: PropTypes.bool, disableAddBlock: PropTypes.bool, };