import { observer } from "mobx-react-lite"; import { Droppable } from "@hello-pangea/dnd"; // mobx store import { useMobxStore } from "lib/mobx/store-provider"; // components import { CalendarIssueBlocks, ICalendarDate, CalendarInlineCreateIssueForm } from "components/issues"; // helpers import { renderDateFormat } from "helpers/date-time.helper"; // types import { IIssueGroupedStructure } from "store/issue"; // constants import { MONTHS_LIST } from "constants/calendar"; import { IIssue } from "types"; type Props = { date: ICalendarDate; issues: IIssueGroupedStructure | null; handleIssues: (date: string, issue: IIssue, action: "update" | "delete") => void; quickActions: (issue: IIssue) => React.ReactNode; enableQuickIssueCreate?: boolean; }; export const CalendarDayTile: React.FC = observer((props) => { const { date, issues, handleIssues, quickActions, enableQuickIssueCreate } = props; const { issueFilter: issueFilterStore } = useMobxStore(); const calendarLayout = issueFilterStore.userDisplayFilters.calendar?.layout ?? "month"; const issuesList = issues ? (issues as IIssueGroupedStructure)[renderDateFormat(date.date)] : null; return ( <>
{/* header */}
{date.date.getDate() === 1 && MONTHS_LIST[date.date.getMonth() + 1].shortTitle + " "} {date.date.getDate()}
{/* content */}
{(provided, snapshot) => (
{enableQuickIssueCreate && (
)} {provided.placeholder}
)}
); });