UNPKG

react-native-week-schedule-1

Version:
40 lines (39 loc) 1.21 kB
"use strict"; import { useMemo } from "react"; import { grid } from "../utils/grid.js"; export const useTableItem = item => { const top = useMemo(() => { const index = grid.hours.findIndex(time => { const currentHour = Number(item.date.split('T')[1]?.split(':')[0]); const [hourString, dayPart] = time.split(' '); const hour = Number(hourString); if (currentHour === 12) { return time === '12 pm'; } ; if (Number(currentHour) === 0) { return time === '12 am'; } ; if (dayPart === 'am') { return currentHour === hour; } ; return currentHour === hour + 12; }); const minutes = Number(item.date.split('T')[1]?.split(':')[1]); const minutesOffset = minutes / 60 * grid.cellHeight; return grid.cellHeight * index + minutesOffset + 0.4; }, [item]); const left = useMemo(() => grid.cellWight * new Date(`${item.date.split('T')[0]}`).getDay() + 0.4, [item]); const height = useMemo(() => { const percent = item.duration / 60 * 100; return percent / 100 * grid.cellHeight; }, [item]); return { top, left, height }; }; //# sourceMappingURL=useTableItem.js.map