a tool for shared writing and social publishing
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

set time value properly for datetime blocks

+12 -6
+12 -6
components/Blocks/DateTimeBlock.tsx
··· 2 2 import { BlockProps } from "./Block"; 3 3 import { ChevronProps, DayPicker } from "react-day-picker"; 4 4 import { Popover } from "components/Popover"; 5 - import { useMemo, useState } from "react"; 5 + import { useEffect, useMemo, useState } from "react"; 6 6 import { ArrowRightTiny, BlockCalendarSmall } from "components/Icons"; 7 7 import { useEntitySetContext } from "components/EntitySetProvider"; 8 8 import { useUIState } from "src/useUIState"; ··· 14 14 let { rep } = useReplicache(); 15 15 let { permissions } = useEntitySetContext(); 16 16 let dateFact = useEntity(props.entityID, "block/date-time"); 17 - 18 - const [timeValue, setTimeValue] = useState<string>( 19 - () => 20 - `${new Date().getHours().toString().padStart(2, "0")}:${new Date().getMinutes().toString().padStart(2, "0")}`, 21 - ); 22 17 let selectedDate = useMemo(() => { 23 18 if (!dateFact) return new Date(); 24 19 return new Date(dateFact.data.value); 25 20 }, [dateFact]); 21 + 22 + const [timeValue, setTimeValue] = useState<string>( 23 + () => 24 + `${selectedDate.getHours().toString().padStart(2, "0")}:${selectedDate.getMinutes().toString().padStart(2, "0")}`, 25 + ); 26 + 27 + useEffect(() => { 28 + setTimeValue( 29 + `${selectedDate.getHours().toString().padStart(2, "0")}:${selectedDate.getMinutes().toString().padStart(2, "0")}`, 30 + ); 31 + }, [selectedDate]); 26 32 27 33 let isSelected = useUIState((s) => 28 34 s.selectedBlocks.find((b) => b.value === props.entityID),