react-calendar-full
Version:
A full-featured React calendar component with event scheduling and monthly, weekly, and daily views.
28 lines (27 loc) • 1.27 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = __importDefault(require("react"));
const time_1 = require("../utils/time");
function getEventPosition(event, dayStartTime) {
const startTimeMinutes = (0, time_1.calculateMinutesSinceMidnight)(event.startTime);
const endTimeMinutes = (0, time_1.calculateMinutesSinceMidnight)(event.endTime);
const topPx = startTimeMinutes - dayStartTime * 60;
const heightPx = endTimeMinutes - startTimeMinutes;
return {
top: `${topPx}px`,
height: `${heightPx}px`,
};
}
const CalendarEventsForDate = ({ dayStartTime, events, onClick }) => {
return (react_1.default.createElement(react_1.default.Fragment, null, events.map((event) => {
const positionStyle = getEventPosition(event, dayStartTime);
return (react_1.default.createElement("div", { key: event.id, className: "calendar-event green", style: positionStyle, onClick: (e) => {
e.stopPropagation();
onClick(event);
} }, event.description));
})));
};
exports.default = CalendarEventsForDate;