import React, { useCallback, useEffect, useState } from "react"; import { useMutation, useQuery } from '@tanstack/react-query' import BreadcrumbComBS from "../breadcrumb/BreadcrumbComBS"; import EventCalendar from "./EventCalendar"; import ExternalDraggable from "./ExternalDraggable"; import { getCalendarEvents } from '../../services/services' import queryKeys from '../../services/queryKeys' export default function Calendar(){ // const [draggedEvent, setDraggedEvent] = useState('undroppable') // const handleDragStart = (event) => { // setDraggedEvent(event) // } // const {data, isFetching, isError, error} = useQuery({ // queryKey: queryKeys.calendar_events, // queryFn: () => getCalendarEvents() // }) // const calendarEvents = useMutation({ // mutationFn: (reqData) => { // return getCalendarEvents(reqData) // }, // onError: (error) => { // console.log(error) // }, // onSuccess: (res) => { // if(res?.data?.resultCode != '0'){ // throw({message: 'Something went wrong'}) // } // } // }) // useEffect(()=>{ // let reqData = { // token: localStorage.getItem('token'), // USER TOKEN // uid: localStorage.getItem('uid') // USER UID // } // calendarEvents.mutate(reqData) // },[]) let reqData = { token: localStorage.getItem('token'), // USER TOKEN uid: localStorage.getItem('uid') // USER UID } const {data, isFetching, isError, error} = useQuery({ queryKey: queryKeys.calendar_events, queryFn: () => getCalendarEvents(reqData) }) const receievedEvents = data?.data const category = receievedEvents?.category //EVENT CATEGORIES FROM API const eventList = receievedEvents?.list //EVENT LIST FROM API const [activeCategory, setActiveCategory] = useState('1') const [removeAfterDrop, setRemoveAfterDrop] = useState(false) const [newEvent, setNewEvent] = useState({ title: '', color: '' }) const handleEditEvent = ({target:{name,value}}) => { setNewEvent(prev => ({...prev, [name]:value})) } const handleAddNewEvent = () => { if(newEvent.title && newEvent.color){ const eventToAdd = {...newEvent} // setDefaultCategory(prev => ([...prev, eventToAdd])) setNewEvent({title: '', color: ''}) } } const handleActiveCategory = (id) => { setActiveCategory(id) } return( <>

Events

{isFetching ? <>

Loading...

: isError ?

{error?.message}

: <>
{/*

Drag and drop your event or click in the calendar.

*/} {category?.map((item, index) => { let color = item?.cid == '1' ? 'fc-event-success' : item?.cid == '2' ? 'fc-event-danger' : item?.cid == '3' ? 'fc-event-warning' : 'fc-event-primary' let circleColor = item?.cid == '1' ? 'text-success' : item?.cid == '2' ? 'text-danger' : item?.cid == '3' ? 'text-warning' : 'text-primary' return ( //
// // handleDragStart({...item}) // // } // > // {item.description} //
//
// handleActiveCategory(item.cid)} /> // //
handleActiveCategory(item.cid)} style={{cursor: 'pointer'}}>
{item?.description}
) } )} {/*
*/} {/*
setRemoveAfterDrop(prev => !prev)} />
*/}
}
{/* Event Modal */} ) }