"use client"; import React, { useContext, useEffect, useState } from "react"; import moment from "jalali-moment"; import "moment/locale/fa"; // Set the locale to Farsi (Persian) import AppHeader from "@comp/AppHeader/page"; import { Swiper, SwiperSlide } from "swiper/react"; import PersianNumber from "plugins/PersianNumber"; import { PersianD, PersianDay, PersianM, holidays } from "datacalender"; import AppContext from "@ctx/AppContext"; import Input from "plugins/Input/page"; import { toast } from "react-toastify"; import Avatar from "boring-avatars"; import BottomManageShift from "plugins/BottomSheet/BottomManageShift"; const Calendar = () => { const CTX = useContext(AppContext); const shiftsData = CTX.state.shiftsData; const searchUserChoose = CTX.state.searchUserChoose; const usersData = CTX.state.usersData; console.log("usersData", usersData); const [searchUserCurrntData, setSearchUserCurrntData] = useState([]); const [daysUntilEnd, setDaysUntilEnd] = useState([]); const [selectDay, setSelectDay] = useState(null); const [selectShift, setselectShift] = useState(0); const [manageShiftEmployeesData, setManageShiftEmployeesData] = useState([]); const today = moment().format("jYYYY/jM/jD"); // Get the current Jalali date const todayJustDay = moment().format("jD"); // Get the current Jalali date // Find the end of the current month const endOfMonth = moment(today, "jYYYY/jM/jD").endOf("jMonth"); const daysInCurrentMonth = moment(today, "jYYYY/jM/jD") .endOf("jMonth") .jDate(); const daysEndOfMonth = () => { const days = []; for (let i = -1; i < daysInCurrentMonth - todayJustDay + 1; i++) { const currentDate = moment(today, "jYYYY/jM/jD").add(i, "days"); const isToday = currentDate.isSame(moment(), "day"); days.push({ checkDay: currentDate.format("jYYYY/jM/jD"), date: currentDate.format("jD / jM"), dayOfWeek: currentDate.format("dddd"), today: isToday, // Set today: true if it's the current date }); } return setDaysUntilEnd(days); }; console.log("daysUntilEnd", daysUntilEnd[selectDay]); const handleManageShiftEmployeesOpen = (e) => { setManageShiftEmployeesData( usersData.map((item) => ({ key: item.firstName + " " + item.lastName + "( " + item.roleNames[0] + " )", value: item.userId, })) ); }; const deleteSearchUser = (id) => { CTX.setSearchUserChoose(searchUserChoose.filter((el) => el !== id)); }; useEffect(() => { daysEndOfMonth(); setSelectDay(1); CTX.GetShifts(); CTX.GetUsers(); }, []); useEffect(() => { // if (!!CTX.GetUsers()) { // // } handleManageShiftEmployeesOpen(); }, [usersData]); console.log("searchUserChooseqqqqqqqqqqqqqqqqqqqqqqqqq", searchUserChoose); console.log(daysUntilEnd); return (
console.log("slide change")} onSwiper={(swiper) => console.log(swiper)} > {daysUntilEnd?.map((e, index) => (
{ setSelectDay(index); console.log(index); }} >

b.date == e.checkDay) ? "text-red-500" : "" } `} />

b.date == e.checkDay) ? "bg-transparent text-red-500" : "bg-white text-gray-500" }`} >

{/* {PersianD.find((i) => i == e.dayOfWeek)} */} {PersianDay(e.dayOfWeek)}

))}
{shiftsData.length > 0 ? (
{shiftsData.map((e, index) => (
setselectShift(index)} >

{e?.title}

))}
) : (
چیزی یافت نشد
)}

ویرایش برای{" "} {shiftsData && shiftsData[selectShift]?.title} {" "} تاریخ{" "} {" "} میباشد

{ setSearchUserCurrntData(e.target.value); if (!!searchUserChoose.find((b) => b == e.target.value)) { toast.error("نقش تکراری است", { position: "bottom-right", closeOnClick: true, }); } else { CTX.setSearchUserChoose((current) => [ ...current, e.target.value, ]); } }} style="text-right" select={true} selectData={manageShiftEmployeesData} theme={1} defaultValue={"انتخاب کنید"} />
0 ? "" : "justify-center" }`} > {searchUserChoose.length > 0 ? ( searchUserChoose.map((e) => (
deleteSearchUser(e)} > b.userId == e)?.firstName} variant="beam" colors={["#9d9f88", "#83af96", "#b2de93"]} />

{usersData.find((b) => b.userId == e)?.firstName}

)) ) : (
چیزی یافت نشد
)}
); }; export default Calendar; { /* {shiftsData.map((e, index) => (

{e?.title}

{e?.title} {}

))} */ }