import { observer } from "mobx-react-lite"; import { TGroupedIssues, TIssue, TIssueMap, TPaginationData } from "@plane/types"; // components import { CalendarDayTile } from "@/components/issues"; // helpers import { renderFormattedPayloadDate } from "@/helpers/date-time.helper"; // types import { ICycleIssuesFilter } from "@/store/issue/cycle"; import { IModuleIssuesFilter } from "@/store/issue/module"; import { IProjectIssuesFilter } from "@/store/issue/project"; import { IProjectViewIssuesFilter } from "@/store/issue/project-views"; import { TRenderQuickActions } from "../list/list-view-types"; import { ICalendarDate, ICalendarWeek } from "./types"; type Props = { issuesFilterStore: IProjectIssuesFilter | IModuleIssuesFilter | ICycleIssuesFilter | IProjectViewIssuesFilter; issues: TIssueMap | undefined; groupedIssueIds: TGroupedIssues; week: ICalendarWeek | undefined; quickActions: TRenderQuickActions loadMoreIssues: (dateString: string) => void; getPaginationData: (groupId: string | undefined) => TPaginationData | undefined; getGroupIssueCount: (groupId: string | undefined) => number | undefined; enableQuickIssueCreate?: boolean; disableIssueCreation?: boolean; quickAddCallback?: (projectId: string | null | undefined, data: TIssue) => Promise; handleDragAndDrop: ( issueId: string | undefined, sourceDate: string | undefined, destinationDate: string | undefined ) => Promise; addIssuesToView?: (issueIds: string[]) => Promise; readOnly?: boolean; selectedDate: Date; setSelectedDate: (date: Date) => void; }; export const CalendarWeekDays: React.FC = observer((props) => { const { issuesFilterStore, issues, groupedIssueIds, handleDragAndDrop, week, loadMoreIssues, getPaginationData, getGroupIssueCount, quickActions, enableQuickIssueCreate, disableIssueCreation, quickAddCallback, addIssuesToView, readOnly = false, selectedDate, setSelectedDate, } = props; const calendarLayout = issuesFilterStore?.issueFilters?.displayFilters?.calendar?.layout ?? "month"; const showWeekends = issuesFilterStore?.issueFilters?.displayFilters?.calendar?.show_weekends ?? false; if (!week) return null; return (
{Object.values(week).map((date: ICalendarDate) => { if (!showWeekends && (date.date.getDay() === 0 || date.date.getDay() === 6)) return null; return ( ); })}
); });