diff --git a/src/components/memuButton.js b/src/components/memuButton.js index 01d78ab..270e067 100644 --- a/src/components/memuButton.js +++ b/src/components/memuButton.js @@ -1,10 +1,10 @@ -import * as React from 'react'; +import { Box } from '@mui/material'; import Button from '@mui/material/Button'; import Menu from '@mui/material/Menu'; import MenuItem from '@mui/material/MenuItem'; -import { Box } from '@mui/material'; +import * as React from 'react'; -export default function BasicMenu({items}) { +export default function BasicMenu({ items }) { const [anchorEl, setAnchorEl] = React.useState(null); const open = Boolean(anchorEl); const handleClick = (event) => { @@ -23,7 +23,7 @@ export default function BasicMenu({items}) { aria-expanded={open ? 'true' : undefined} onClick={handleClick} > - + { - items.map(item =>{ - return { + items.map(item => { + return { item.onClick(); handleClose(); }} disabled={item.disabled}>{item.label}; diff --git a/src/components/reviewList.js b/src/components/reviewList.js index 4b6dea2..594374d 100644 --- a/src/components/reviewList.js +++ b/src/components/reviewList.js @@ -1,11 +1,11 @@ -import React, { useCallback, useContext, useEffect, useState } from 'react'; -import '../styles/components/reviewList.css'; -import useReq from '../hooks/useReq.js'; -import List from '@mui/material/List'; -import Divider from '@mui/material/Divider'; import { Box } from '@mui/material'; -import EditModeInput from './editModeInput.js'; +import Divider from '@mui/material/Divider'; +import List from '@mui/material/List'; +import React, { useCallback } from 'react'; +import useReq from '../hooks/useReq.js'; +import '../styles/components/reviewList.css'; import { changeTimeFormat } from '../utils/datetime.js'; +import EditModeInput from './editModeInput.js'; export default function ReviewList({ reviews, styles, doGetReviewRequest, noEdit = false, showMovieTitle = true }) { const { data: editReviewResponse, isLoading: isReviewEditLoading, error: editReviewsError, doRequest: doEditReviewRequest } = useReq(null, null); @@ -25,24 +25,24 @@ export default function ReviewList({ reviews, styles, doGetReviewRequest, noEdit } }); getReviewHandler(movieId); - },[]) + }, []) const deleteReviewHandler = useCallback(async (review) => { await doDeleteReviewRequest(process.env.REACT_APP_REVIEW_API + `/${review.reviewId}`, { method: 'GET' }); getReviewHandler(review.movieId); - },[]) + }, []) const getReviewHandler = useCallback((movieId) => { doGetReviewRequest(process.env.REACT_APP_MOVIE_API + `/${movieId}/reviews`, { method: 'GET' }); - },[]) + }, []) return ( { reviews && reviews.map(review => { - return @@ -62,7 +62,8 @@ export default function ReviewList({ reviews, styles, doGetReviewRequest, noEdit edit: (content, rating) => editReviewHandler(content, rating, review), remove: () => deleteReviewHandler(review) }} - noEdit={noEdit} + //noEdit={noEdit} + noEdit={noEdit || !context.userId || review.userId !== context.userId} // userId가 없으면 수정 불가능 /> diff --git a/src/pages/admin/auditoriumForm.js b/src/pages/admin/auditoriumForm.js index e4607a5..f1d105c 100644 --- a/src/pages/admin/auditoriumForm.js +++ b/src/pages/admin/auditoriumForm.js @@ -1,47 +1,47 @@ -import React, { useState, useEffect, useContext, useCallback } from 'react'; -import useReq from '../../hooks/useReq.js'; import { Box } from '@mui/material'; +import React, { useCallback, useEffect } from 'react'; import InputFormBox from '../../components/inputFormBox.js'; +import useReq from '../../hooks/useReq.js'; import { showToast } from '../../utils/toast.js'; -const AuditoriumForm = ({setShowModal, data=null}) => { +const AuditoriumForm = ({ setShowModal, data = null }) => { const { data: addAuditoriumRes, isLoading: isAddAuditoriumLoading, error: addAuditoriumError, doRequest: doAddAuditoriumRequest } = useReq(null, null); const { data: updateAuditoriumRes, isLoading: isUpdateAuditoriumLoading, error: updateAuditoriumError, doRequest: doUpdateAuditoriumRequest } = useReq(null, null); - + const inputs = [{ id: 'auditoriumName', - label : '상영관', - value : data && data.auditoriumName, + label: '상영관', + value: data && data.auditoriumName, }].concat(data ? [{ id: 'capacity', - label : '좌석수', - value : data && data.capacity, + label: '좌석수', + value: data && data.capacity, disabled: data }] : [{ id: 'row', - label : '행', + label: '행', placeholder: 'A ~ Z' - },{ + }, { id: 'column', - label : '열', + label: '열', placeholder: '1 ~ 30' }]); - const add = useCallback(()=>{ - const name = document.querySelector('#auditoriumName').value; + const add = useCallback(() => { + const auditoriumName = document.querySelector('#auditoriumName').value; const row = document.querySelector('#row').value; const column = Number.parseInt(document.querySelector('#column').value); doAddAuditoriumRequest(process.env.REACT_APP_AUDITORIUM_API, { method: 'POST', data: { - name: name, + auditoriumName: auditoriumName, row: row, column: column } }); - },[]) - const update = useCallback(()=>{ + }, []) + const update = useCallback(() => { const auditoriumName = document.querySelector('#auditoriumName').value; doUpdateAuditoriumRequest(process.env.REACT_APP_AUDITORIUM_API + `/${data.auditoriumId}`, { @@ -50,23 +50,23 @@ const AuditoriumForm = ({setShowModal, data=null}) => { auditoriumName: auditoriumName } }); - },[data]) + }, [data]) - useEffect(()=>{ - if(addAuditoriumRes != null){ + useEffect(() => { + if (addAuditoriumRes != null) { document.querySelector('#auditoriumName').value = ''; document.querySelector('#row').value = ''; document.querySelector('#column').value = ''; showToast('성공적으로 상영관이 추가되었습니다.', 'success'); } - },[addAuditoriumRes]) - useEffect(()=>{ - if(updateAuditoriumRes != null){ + }, [addAuditoriumRes]) + useEffect(() => { + if (updateAuditoriumRes != null) { showToast('성공적으로 정보가 변경되었습니다.', 'success'); - window.location.reload () + window.location.reload() } - },[updateAuditoriumRes]) + }, [updateAuditoriumRes]) useEffect(() => { if (addAuditoriumError || updateAuditoriumError) { showToast('입력 값을 다시 확인해 주세요.', 'warn'); @@ -76,7 +76,7 @@ const AuditoriumForm = ({setShowModal, data=null}) => { return <>

{data ? '상영관 수정' : '상영관 등록'}

- +