import { useState, useEffect } from "react"; import { useHistory } from "react-router-dom"; import moment from 'moment'; import HorizontalCalender from "../Calender/HorizontalCalender.js"; import timetableApi from "../../apis/timetable.api.js"; import catchErrors from "../../utils/catchErrors.js"; import styles from "./admin.module.scss"; const TimeTable = ({ ticketInfo = { movieId: 0 }, setTicketInfo }) => { const [selectDate, setSelectDate] = useState(moment().format('YYYY-MM-DD')) const [timeList, setTimeList] = useState([]) const [error, setError] = useState("") const history = useHistory() useEffect(() => { getTimeTable(selectDate, ticketInfo.movieId) }, [selectDate]) useEffect(() => { getTimeTable(selectDate, ticketInfo.movieId) }, [ticketInfo.movieId]) async function getTimeTable(selectDate, movieId) { try { setError("") const res = await timetableApi.getAll(selectDate, movieId) setTimeList(res) } catch (error) { catchErrors(error, setError) } } async function deleteTime(timeId) { try { setError("") await timetableApi.remove(timeId) alert('해당 상영시간표 정보를 성공적으로 삭제하였습니다.') window.location.reload() } catch (error) { catchErrors(error, setError) } } function handleClick(time) { const date = new Date(time.start_time) let hours = date.getHours() let mins = date.getMinutes() if (hours <= 9) hours = '0' + hours if (mins <= 9) mins = '0' + mins setTicketInfo({ ...ticketInfo, timetableId: time.id, time: time.date.split('T')[0] + " " + hours + ":" + mins, selectedTheater: time.theater.theaterName, theaterId: time.theaterId, partTime: time.partTime, week: time.week }) } return ( <> {timeList.length !== 0 ? timeList.map(el =>
{el.theaterName} 관 /

{el.theaterTypeName}

{el.timetable.map(time => { if (/ticket/g.test(history.location.pathname)) return
handleClick(time)}>
{moment(time.start_time).format('HH:mm')} ~ {moment(time.end_time).format('HH:mm')}
{time.theater.rows * time.theater.columns - time.reservations} / {time.theater.rows * time.theater.columns}
else return
{/theater/g.test(history.location.pathname) ? null :
}
{moment(time.start_time).format('HH:mm')} ~ {moment(time.end_time).format('HH:mm')}
{time.title}
})}
) :

서버에 저장되어 있는 상영시간표가 존재하지 않습니다.

} ) } export default TimeTable