"use client"; import React, { useContext, useEffect, useRef, useState } from "react"; import { BottomSheet } from "react-spring-bottom-sheet"; import Input from "plugins/Input/page"; import AppContext from "@ctx/AppContext"; import SimpleReactValidator from "simple-react-validator"; import { toast } from "react-toastify"; import Buttonbriz from "plugins/Buttonbriz/page"; const BottomSheetCreateRoutine = (props) => { const CTX = useContext(AppContext); const [title, setTitle] = useState(""); const [description, setDescription] = useState(""); const [, forceUpdate] = useState(); const validator = useRef( new SimpleReactValidator({ messages: { required: "پر کردن این فیلد الزامی میباشد", }, element: (message) => ( <>
{message}
), }) ); const goToEditRoutine = CTX.state.goToEditRoutine; const idEditRoutine = CTX.state.idEditRoutine; const routineData = CTX.state.routineData; const body = { description, name: title, }; const bodyUpdate = { description, name: title, id: idEditRoutine, }; const clear = () => { setTitle(""); setDescription(""); }; const handleCreateRoutine = (update) => { if (validator.current.allValid()) { if (update == "UPDATE") { CTX.UpdateRoutine(bodyUpdate); } else { CTX.CreateRoutine(body); } } else { toast.error("پرکردن همه ی فیلد ها واجب است", { position: "bottom-right", autoClose: 2000, hideProgressBar: false, closeOnClick: true, pauseOnHover: true, draggable: true, progress: undefined, }); validator.current.showMessages(); forceUpdate(1); } }; const handleBottomSheetCreateRoutineOpen = (e) => { if (e.type == "OPEN") { if (goToEditRoutine) { CTX.GetRoutine(idEditRoutine); } } else if (e.type == "CLOSE") { clear(); CTX.setGoToEditRoutine(false); CTX.setIdEditRoutine(null); CTX.setRoutineData([]); } }; useEffect(() => { if (goToEditRoutine) { setTitle(routineData.name); setDescription(routineData.description); } }, [routineData]); return ( handleBottomSheetCreateRoutineOpen(e)} open={CTX.state.BottomSheetCreateRoutineOpen} onDismiss={() => CTX.setBottomSheetCreateRoutineOpen(false)} blocking={true} >

افزودن روتین جدید{" "}

{ setTitle(e.target.value); validator.current.showMessageFor("title"); }} style="text-right" validator={true} validatorData={validator.current.message( "title", title, "required" )} />
{ setDescription(e.target.value); // validator.current.showMessageFor("description"); }} textarea={true} style="text-right" // validator={true} // validatorData={validator.current.message( // "description", // description, // "required" // )} />
{goToEditRoutine ? ( handleCreateRoutine("UPDATE")} subButton={true} subButtonTitle="حذف روتین" subButtonEvent={() => CTX.DeleteRoutine(idEditRoutine)} /> ) : ( handleCreateRoutine()} /> )}
); }; export default BottomSheetCreateRoutine;