From 604532761580c2306f7103e38ee51dcf9e822ed9 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Wed, 13 Mar 2024 01:16:30 +0200 Subject: [PATCH] modal extracted to separate file --- components/Modal.tsx | 43 ++++++++++++++++++++++++++ components/calendar/ShiftComponent.tsx | 40 +----------------------- components/sidemenuData.js | 10 +++--- 3 files changed, 49 insertions(+), 44 deletions(-) create mode 100644 components/Modal.tsx diff --git a/components/Modal.tsx b/components/Modal.tsx new file mode 100644 index 0000000..f52839b --- /dev/null +++ b/components/Modal.tsx @@ -0,0 +1,43 @@ +import React from 'react'; +import common from '../src/helpers/common'; // Ensure this path is correct + +interface ModalProps { + children: React.ReactNode; + isOpen: boolean; + onClose: () => void; + forDate: Date; + useFilterDate: boolean; + onUseFilterDateChange: (value: boolean) => void; +} + +function Modal({ children, isOpen, onClose, forDate, useFilterDate, onUseFilterDateChange }: ModalProps) { + if (!isOpen) return null; + const isValidDate = forDate instanceof Date && !isNaN(forDate.getTime()); + console.log("forDate", forDate, isValidDate); + + return ( +
+
+ {isValidDate && ( +

+ +

+ )} + {children} + +
+
+
+ ); +} + +export default Modal; diff --git a/components/calendar/ShiftComponent.tsx b/components/calendar/ShiftComponent.tsx index c6c5ec2..0802bc8 100644 --- a/components/calendar/ShiftComponent.tsx +++ b/components/calendar/ShiftComponent.tsx @@ -1,51 +1,13 @@ import React, { useState, useEffect } from 'react'; import axiosInstance from '../../src/axiosSecure'; import PublisherSearchBox from '../publisher/PublisherSearchBox'; // Update the path +import Modal from '../Modal'; import LocalShippingIcon from '@mui/icons-material/LocalShipping'; const common = require('src/helpers/common'); -interface ModalProps { - children: React.ReactNode; - isOpen: boolean; - onClose: () => void; - forDate: Date; - useFilterDate: boolean; - onUseFilterDateChange: (value: boolean) => void; -} - -function Modal({ children, isOpen, onClose, forDate, useFilterDate, onUseFilterDateChange }: ModalProps) { - if (!isOpen) return null; - const isValidDate = forDate instanceof Date && !isNaN(forDate.getTime()); - console.log("forDate", forDate, isValidDate); - - return ( -
-
- {isValidDate && ( -

- -

- )} - {children} - -
-
-
- ); -} - function ShiftComponent({ shift, onShiftSelect, isSelected, onPublisherSelect, allPublishersInfo }) { diff --git a/components/sidemenuData.js b/components/sidemenuData.js index 7c7053f..56e9119 100644 --- a/components/sidemenuData.js +++ b/components/sidemenuData.js @@ -15,11 +15,11 @@ const sidemenu = [ text: "График", url: "/cart/calendar/schedule", }, - // { - // id: "myshedule", - // text: "Моя График", - // url: "/cart/publishers/myschedule", - // }, + { + id: "myshedule", + text: "Моя График", + url: "/cart/publishers/myschedule", + }, { id: "locations", text: "Местоположения",