From 594795f3799bb497c9884bd027a4c4e991b68981 Mon Sep 17 00:00:00 2001 From: pipisebastian Date: Wed, 27 Sep 2023 15:32:32 +0900 Subject: [PATCH 01/14] =?UTF-8?q?feat=20:=20=EB=8F=84=EC=84=9C=EA=B2=80?= =?UTF-8?q?=EC=83=89=20=EA=B8=80=EC=9E=90=EC=88=98=20over=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #741 --- src/pages/Library/Card/BookCard.tsx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/pages/Library/Card/BookCard.tsx b/src/pages/Library/Card/BookCard.tsx index d45c65fcf..bc4fa390d 100644 --- a/src/pages/Library/Card/BookCard.tsx +++ b/src/pages/Library/Card/BookCard.tsx @@ -11,17 +11,15 @@ interface BookCardProps { const BookCard = ({ bookInfo, onRequestBook }: BookCardProps) => { return (
-
+
-
-
- {bookInfo.title} -
- 저자 : {bookInfo.author} - | - 권수 : {bookInfo.bookQuantity} -
+
+ {bookInfo.title} +
+ 저자 : {bookInfo.author} + | + 권수 : {bookInfo.bookQuantity}
From 94448b58b05ee4185c398bdd5c71c1e7c4f013be Mon Sep 17 00:00:00 2001 From: pipisebastian Date: Wed, 27 Sep 2023 18:24:16 +0900 Subject: [PATCH 02/14] =?UTF-8?q?feat=20:=20=EB=8F=84=EC=84=9C=EA=B2=80?= =?UTF-8?q?=EC=83=89=20=ED=94=84=EB=A1=9C=ED=95=84=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EB=A1=9C=20=EB=84=A4=EB=B9=84=EA=B2=8C=EC=9D=B4?= =?UTF-8?q?=EC=85=98=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #754 --- .../Library/Button/NavigateProfileButton.tsx | 23 +++++++++++++++++++ src/pages/Library/Library.tsx | 4 +++- src/pages/Library/Status/BorrowStatus.tsx | 4 +++- 3 files changed, 29 insertions(+), 2 deletions(-) create mode 100644 src/pages/Library/Button/NavigateProfileButton.tsx diff --git a/src/pages/Library/Button/NavigateProfileButton.tsx b/src/pages/Library/Button/NavigateProfileButton.tsx new file mode 100644 index 000000000..feb3d2f5e --- /dev/null +++ b/src/pages/Library/Button/NavigateProfileButton.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { useNavigate } from 'react-router-dom'; +import { useRecoilValue } from 'recoil'; +import memberState from '@recoil/member.recoil'; +import OutlinedButton from '@components/Button/OutlinedButton'; + +const NavigateProfileButton = () => { + const userInfo = useRecoilValue(memberState); + const navigate = useNavigate(); + + return ( + { + navigate(`/profile/${userInfo?.memberId}/book`); + }} + > + 프로필페이지로 이동 + + ); +}; + +export default NavigateProfileButton; diff --git a/src/pages/Library/Library.tsx b/src/pages/Library/Library.tsx index 4a215ebc8..7b40bb745 100644 --- a/src/pages/Library/Library.tsx +++ b/src/pages/Library/Library.tsx @@ -7,6 +7,7 @@ import { useGetBookListQuery, useRequestBorrowBookMutation, useGetBookBorrowsQue import usePagination from '@hooks/usePagination'; import StandardTablePagination from '@components/Pagination/StandardTablePagination'; import PageTitle from '@components/Typography/PageTitle'; +import NavigateProfileButton from './Button/NavigateProfileButton'; import BookCard from './Card/BookCard'; import RequestBookModal from './Modal/RequestBookModal'; import LibrarySearchSection from './SearchSection/LibrarySearchSection'; @@ -42,12 +43,13 @@ const Library = () => { 도서검색
-
+
+
diff --git a/src/pages/Library/Status/BorrowStatus.tsx b/src/pages/Library/Status/BorrowStatus.tsx index 4360d8dde..4cf733aa8 100644 --- a/src/pages/Library/Status/BorrowStatus.tsx +++ b/src/pages/Library/Status/BorrowStatus.tsx @@ -26,7 +26,9 @@ const BorrowStatus = ({ librarian, borrowedBookCount, maxBorrowableBooks }: Borr }} placement="bottom" > - 신청 가능 권 수({maxBorrowableBooks}권)을 초과했습니다. + + 신청 가능 권 수({maxBorrowableBooks}권)을 초과했습니다. + ); }; From 53a5bc44fde306ce3b23084756d61d9903f6ab94 Mon Sep 17 00:00:00 2001 From: publdaze Date: Thu, 28 Sep 2023 17:03:09 +0900 Subject: [PATCH 03/14] =?UTF-8?q?feat=20:=20EmailAuthInput=20=EB=A1=9C?= =?UTF-8?q?=EB=94=A9,=20=EC=84=B1=EA=B3=B5=20=EC=83=81=ED=83=9C=EC=9D=BC?= =?UTF-8?q?=20=EB=95=8C=20=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #629 --- src/components/Input/EmailAuthInput.tsx | 27 +++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/src/components/Input/EmailAuthInput.tsx b/src/components/Input/EmailAuthInput.tsx index 03c31b3aa..e4f5cbc48 100644 --- a/src/components/Input/EmailAuthInput.tsx +++ b/src/components/Input/EmailAuthInput.tsx @@ -1,11 +1,14 @@ import React, { forwardRef } from 'react'; -import { StandardTextFieldProps } from '@mui/material'; +import { CircularProgress, StandardTextFieldProps } from '@mui/material'; +import { VscCheck } from 'react-icons/vsc'; import FilledButton from '@components/Button/FilledButton'; import StandardInput from './StandardInput'; interface EmailAuthInputProps extends StandardTextFieldProps { value: string; onChange: React.ChangeEventHandler; + isLoading?: boolean; + isSuccess?: boolean; inputDisabled?: boolean; buttonDisabled?: boolean; onAuthButtonClick: () => void; @@ -17,6 +20,8 @@ const EmailAuthInput = forwardRef( className, value, onChange, + isLoading, + isSuccess, inputDisabled, buttonDisabled, onAuthButtonClick, @@ -24,6 +29,20 @@ const EmailAuthInput = forwardRef( }: EmailAuthInputProps, ref?: React.ForwardedRef, ) => { + const renderEndAdornment = () => { + if (isLoading) { + return ; + } + if (isSuccess) { + return ; + } + return ( + + 인증 요청 + + ); + }; + return ( - 인증 요청 - - } + endAdornment={renderEndAdornment()} /> ); }, From a14be8b6efe083c206bfc9e8167877db23099f3d Mon Sep 17 00:00:00 2001 From: publdaze Date: Thu, 28 Sep 2023 17:08:56 +0900 Subject: [PATCH 04/14] =?UTF-8?q?feat=20:=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=EC=9D=B4=EB=A9=94=EC=9D=BC=20=EC=A0=84=EC=86=A1?= =?UTF-8?q?=EC=83=81=ED=83=9C=EC=97=90=20=EB=94=B0=EB=A5=B8=20=EC=95=84?= =?UTF-8?q?=EC=9D=B4=EC=BD=98=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #629 --- src/pages/SignUp/Section/SignUpThirdInputSection.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pages/SignUp/Section/SignUpThirdInputSection.tsx b/src/pages/SignUp/Section/SignUpThirdInputSection.tsx index 6e5ae46e7..2bcf0de8c 100644 --- a/src/pages/SignUp/Section/SignUpThirdInputSection.tsx +++ b/src/pages/SignUp/Section/SignUpThirdInputSection.tsx @@ -35,7 +35,7 @@ const SignUpThirdInputSection = () => { enabled: isEmailSent, }); - const { mutate: emailAuth } = useEmailAuthMutation(); + const { mutate: emailAuth, isLoading: isEmailSendLoading, isSuccess: isEmailSendSuccess } = useEmailAuthMutation(); const { mutate: signUp } = useSignUpMutation(); const handleRequestVerificationCode = () => { @@ -103,6 +103,8 @@ const SignUpThirdInputSection = () => { Date: Thu, 28 Sep 2023 17:09:33 +0900 Subject: [PATCH 05/14] =?UTF-8?q?feat=20:=20=EC=95=84=EC=9D=B4=EB=94=94=20?= =?UTF-8?q?=EC=B0=BE=EA=B8=B0=20=EC=9D=B4=EB=A9=94=EC=9D=BC=20=EC=A0=84?= =?UTF-8?q?=EC=86=A1=EC=A4=91=20=EC=83=81=ED=83=9C=20=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #629 --- src/pages/login/Search/SearchID.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/login/Search/SearchID.tsx b/src/pages/login/Search/SearchID.tsx index a8a7c78ba..81180f139 100644 --- a/src/pages/login/Search/SearchID.tsx +++ b/src/pages/login/Search/SearchID.tsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; import { Link } from 'react-router-dom'; -import { Divider, Typography, useMediaQuery, useTheme } from '@mui/material'; +import { CircularProgress, Divider, Typography, useMediaQuery, useTheme } from '@mui/material'; import { useSearchIdMutation } from '@api/SearchAccountApi'; import { validateEmail } from '@utils/validateEmail'; import OutlinedButton from '@components/Button/OutlinedButton'; @@ -15,7 +15,7 @@ const SearchID = () => { const [mailAuthenticationModalOpen, setMailAuthenticationModalOpen] = useState(false); const [matchInfoModalOpen, setMatchInfoModalOpen] = useState(false); - const { mutate: searchId } = useSearchIdMutation(); + const { mutate: searchId, isLoading: isEmailSendLoading } = useSearchIdMutation(); const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down('sm')); @@ -75,7 +75,7 @@ const SearchID = () => {
- 확인 + {isEmailSendLoading ? : <>확인}
Date: Thu, 28 Sep 2023 17:19:17 +0900 Subject: [PATCH 06/14] =?UTF-8?q?feat=20:=20=EB=B9=84=EB=B0=80=EB=B2=88?= =?UTF-8?q?=ED=98=B8=20=EC=B0=BE=EA=B8=B0=20=EC=9D=B4=EB=A9=94=EC=9D=BC=20?= =?UTF-8?q?=EC=A0=84=EC=86=A1=20=EC=83=81=ED=83=9C=EC=97=90=20=EB=94=B0?= =?UTF-8?q?=EB=A5=B8=20=EC=95=84=EC=9D=B4=EC=BD=98=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #629 --- src/pages/login/Search/SearchPWFirstStep.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/login/Search/SearchPWFirstStep.tsx b/src/pages/login/Search/SearchPWFirstStep.tsx index 47dbe5ec1..f893f0441 100644 --- a/src/pages/login/Search/SearchPWFirstStep.tsx +++ b/src/pages/login/Search/SearchPWFirstStep.tsx @@ -24,7 +24,11 @@ interface SearchPWFirstStepProps { } const SearchPWFirstStep = ({ setCurrentStep, form, setForm }: SearchPWFirstStepProps) => { - const { mutate: requestAuthcode } = useRequestAuthCodeMutation(); + const { + mutate: requestAuthcode, + isLoading: isEmailSendLoading, + isSuccess: isEmailSendSuccess, + } = useRequestAuthCodeMutation(); const { data: checkAuthcodeData } = useCheckAuthCodeQuery({ loginId: form.id, email: form.email, @@ -112,6 +116,8 @@ const SearchPWFirstStep = ({ setCurrentStep, form, setForm }: SearchPWFirstStepP Date: Thu, 28 Sep 2023 17:29:00 +0900 Subject: [PATCH 07/14] =?UTF-8?q?feat=20:=20=EA=B3=84=EC=A0=95=20=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=20=EC=88=98=EC=A0=95=20=EB=AA=A8=EB=8B=AC=20=EC=9D=B4?= =?UTF-8?q?=EB=A9=94=EC=9D=BC=20=EC=A0=84=EC=86=A1=EC=A4=91=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=ED=91=9C=EC=8B=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #629 --- src/pages/Profile/Modal/EditAccountModal.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/pages/Profile/Modal/EditAccountModal.tsx b/src/pages/Profile/Modal/EditAccountModal.tsx index a83abe879..5103612f3 100644 --- a/src/pages/Profile/Modal/EditAccountModal.tsx +++ b/src/pages/Profile/Modal/EditAccountModal.tsx @@ -41,7 +41,11 @@ const EditEmailSection = () => { email: getValues('email'), enabled: isEmailSent, }); - const { mutate: newEmailAuth } = useNewEmailAuthMutation(); + const { + mutate: newEmailAuth, + isLoading: isEmailSendLoading, + isSuccess: isEmailSendSuccess, + } = useNewEmailAuthMutation(); const { mutate: editEmail } = useEditEmailMutation(); const handleRequestVerificationCode = () => { @@ -123,6 +127,8 @@ const EditEmailSection = () => { Date: Thu, 28 Sep 2023 17:37:00 +0900 Subject: [PATCH 08/14] =?UTF-8?q?feat=20:=20=ED=9A=8C=EC=9B=90=EA=B0=80?= =?UTF-8?q?=EC=9E=85=20=EB=8B=A4=EB=A5=B8=20=EC=9D=B4=EB=A9=94=EC=9D=BC?= =?UTF-8?q?=EB=A1=9C=20=EC=A0=84=EC=86=A1=20=EC=8B=9C=EC=97=90=EB=8F=84=20?= =?UTF-8?q?=EC=A0=84=EC=86=A1=20=EC=83=81=ED=83=9C=20=EB=B0=98=EC=98=81?= =?UTF-8?q?=EB=90=98=EB=8F=84=EB=A1=9D=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #629 --- src/pages/SignUp/Section/SignUpThirdInputSection.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/SignUp/Section/SignUpThirdInputSection.tsx b/src/pages/SignUp/Section/SignUpThirdInputSection.tsx index 2bcf0de8c..0d32074e4 100644 --- a/src/pages/SignUp/Section/SignUpThirdInputSection.tsx +++ b/src/pages/SignUp/Section/SignUpThirdInputSection.tsx @@ -103,8 +103,8 @@ const SignUpThirdInputSection = () => { Date: Thu, 28 Sep 2023 18:38:51 +0900 Subject: [PATCH 09/14] =?UTF-8?q?feat=20:=20=EB=B9=84=EB=B0=80=EB=B2=88?= =?UTF-8?q?=ED=98=B8=20=EC=B0=BE=EA=B8=B0=20=EB=8B=A4=EB=A5=B8=20=EC=9D=B4?= =?UTF-8?q?=EB=A9=94=EC=9D=BC=EB=A1=9C=20=EC=A0=84=EC=86=A1=20=EC=8B=9C?= =?UTF-8?q?=EC=97=90=EB=8F=84=20=EC=A0=84=EC=86=A1=20=EC=83=81=ED=83=9C=20?= =?UTF-8?q?=EB=B0=98=EC=98=81=EB=90=98=EB=8F=84=EB=A1=9D=20=EC=B2=98?= =?UTF-8?q?=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #629 --- src/pages/login/Search/SearchPWFirstStep.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/login/Search/SearchPWFirstStep.tsx b/src/pages/login/Search/SearchPWFirstStep.tsx index f893f0441..5e87e4955 100644 --- a/src/pages/login/Search/SearchPWFirstStep.tsx +++ b/src/pages/login/Search/SearchPWFirstStep.tsx @@ -57,12 +57,12 @@ const SearchPWFirstStep = ({ setCurrentStep, form, setForm }: SearchPWFirstStepP }; const handleRequestVerificationCode = () => { + setIsSent(true); if (form.id && form.email) { requestAuthcode( { loginId: form.id, email: form.email }, { onSuccess: () => { - setIsSent(true); setMatchInfoModalOpen(false); }, onError: () => { @@ -116,8 +116,8 @@ const SearchPWFirstStep = ({ setCurrentStep, form, setForm }: SearchPWFirstStepP
From 2e88ce1c5c2985ff782917b847e909929b54771b Mon Sep 17 00:00:00 2001 From: pipisebastian Date: Fri, 29 Sep 2023 14:14:04 +0900 Subject: [PATCH 10/14] =?UTF-8?q?refactor=20:=20text=20align=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20=EB=B0=8F=20=EB=B2=84=ED=8A=BC=20=EC=9D=B4=EB=A6=84?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #754 --- src/pages/Library/Button/NavigateProfileButton.tsx | 2 +- src/pages/Library/Library.tsx | 2 +- src/pages/Library/Status/BorrowStatus.tsx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/pages/Library/Button/NavigateProfileButton.tsx b/src/pages/Library/Button/NavigateProfileButton.tsx index feb3d2f5e..234a9bd06 100644 --- a/src/pages/Library/Button/NavigateProfileButton.tsx +++ b/src/pages/Library/Button/NavigateProfileButton.tsx @@ -15,7 +15,7 @@ const NavigateProfileButton = () => { navigate(`/profile/${userInfo?.memberId}/book`); }} > - 프로필페이지로 이동 + 내 서재 가기 ); }; diff --git a/src/pages/Library/Library.tsx b/src/pages/Library/Library.tsx index 7b40bb745..cb340e4c0 100644 --- a/src/pages/Library/Library.tsx +++ b/src/pages/Library/Library.tsx @@ -43,7 +43,7 @@ const Library = () => { 도서검색
-
+
{ return borrowedBookCount !== maxBorrowableBooks ? ( - + 신청 가능 권수 : {maxBorrowableBooks - borrowedBookCount}/{maxBorrowableBooks} ) : ( @@ -26,7 +26,7 @@ const BorrowStatus = ({ librarian, borrowedBookCount, maxBorrowableBooks }: Borr }} placement="bottom" > - + 신청 가능 권 수({maxBorrowableBooks}권)을 초과했습니다. From 560af20662dccec3b04348b20f30db922e8cbf53 Mon Sep 17 00:00:00 2001 From: pipisebastian Date: Sun, 1 Oct 2023 15:50:32 +0900 Subject: [PATCH 11/14] =?UTF-8?q?feat=20:=20=EC=8A=A4=ED=84=B0=EB=94=94=20?= =?UTF-8?q?=EC=82=AD=EC=A0=9C=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #765 --- src/api/studyApi.ts | 7 ++- src/pages/Study/Accordion/StudyAccordion.tsx | 7 ++- src/pages/Study/Modal/StudyDeleteModal.tsx | 45 ++++++++++++++++++++ 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 src/pages/Study/Modal/StudyDeleteModal.tsx diff --git a/src/api/studyApi.ts b/src/api/studyApi.ts index 6e203aef0..6de792076 100644 --- a/src/api/studyApi.ts +++ b/src/api/studyApi.ts @@ -28,7 +28,12 @@ const useDeleteStudyMutation = () => { return axios.delete(`/studies/${studyId}`); }; - return useMutation(fetcher); + const queryClient = useQueryClient(); + return useMutation(fetcher, { + onSuccess: () => { + queryClient.invalidateQueries({ queryKey: ['studies'] }); + }, + }); }; const useGetStudyListQuery = ({ year, season }: { year: number; season: number }) => { diff --git a/src/pages/Study/Accordion/StudyAccordion.tsx b/src/pages/Study/Accordion/StudyAccordion.tsx index f0b344db7..38d7ac646 100644 --- a/src/pages/Study/Accordion/StudyAccordion.tsx +++ b/src/pages/Study/Accordion/StudyAccordion.tsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { useState } from 'react'; import { Accordion, AccordionActions, AccordionDetails, AccordionSummary } from '@mui/material'; import { VscChevronDown } from 'react-icons/vsc'; @@ -6,6 +6,7 @@ import useCheckAuth from '@hooks/useCheckAuth'; import ActionButton from '@components/Button/ActionButton'; import StudyAccordionBody from './StudyAccordionBody'; import StudyAccordionHeader from './StudyAccordionHeader'; +import StudyDeleteModal from '../Modal/StudyDeleteModal'; import type { StudyInfo } from '@api/dto'; interface StudyAccordionProps { @@ -16,6 +17,7 @@ interface StudyAccordionProps { const StudyAccordion = ({ study, setStudyModalOpen, setSelectedStudyInfo }: StudyAccordionProps) => { const { checkIsMyId } = useCheckAuth(); + const [studyDeleteModalOpen, setStudyDeleteModalOpen] = useState(false); const handleStudyEditButtonClick = () => { setStudyModalOpen(true); @@ -23,7 +25,7 @@ const StudyAccordion = ({ study, setStudyModalOpen, setSelectedStudyInfo }: Stud }; const handleStudyDeleteButtonClick = () => { - // TODO 스터디 제거 API 호출 후 새로고침(기능 구현 후 console 삭제 예정) + setStudyDeleteModalOpen(true); }; return ( @@ -47,6 +49,7 @@ const StudyAccordion = ({ study, setStudyModalOpen, setSelectedStudyInfo }: Stud )} + {study && } ); }; diff --git a/src/pages/Study/Modal/StudyDeleteModal.tsx b/src/pages/Study/Modal/StudyDeleteModal.tsx new file mode 100644 index 000000000..c4eac22ca --- /dev/null +++ b/src/pages/Study/Modal/StudyDeleteModal.tsx @@ -0,0 +1,45 @@ +import React from 'react'; +import { Typography } from '@mui/material'; +import { StudyInfo } from '@api/dto'; +import { useDeleteStudyMutation } from '@api/studyApi'; +import ActionModal from '@components/Modal/ActionModal'; + +interface StudyDeleteModalProps { + open: boolean; + setOpen: React.Dispatch>; + study: StudyInfo; +} + +const StudyDeleteModal = ({ study, open, setOpen }: StudyDeleteModalProps) => { + const { mutate: deleteStudy } = useDeleteStudyMutation(); + + const handleClose = () => { + setOpen(false); + }; + + const handleDeleteStudy = () => { + deleteStudy( + { studyId: study.studyId }, + { + onSuccess: () => { + handleClose(); + }, + }, + ); + }; + + return ( + + {study?.title} 스터디를 삭제하시겠습니까? + + ); +}; + +export default StudyDeleteModal; From 665987e80209638c8bc2fd398470fd78a9cb2a3e Mon Sep 17 00:00:00 2001 From: pipisebastian Date: Sun, 1 Oct 2023 20:32:50 +0900 Subject: [PATCH 12/14] =?UTF-8?q?feat=20:=20overflow=EC=86=8D=EC=84=B1=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #741 --- src/pages/Library/Card/BookCard.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pages/Library/Card/BookCard.tsx b/src/pages/Library/Card/BookCard.tsx index bc4fa390d..23a202575 100644 --- a/src/pages/Library/Card/BookCard.tsx +++ b/src/pages/Library/Card/BookCard.tsx @@ -14,12 +14,12 @@ const BookCard = ({ bookInfo, onRequestBook }: BookCardProps) => {
-
+
{bookInfo.title} -
+
저자 : {bookInfo.author} | - 권수 : {bookInfo.bookQuantity} + 권수 : {bookInfo.bookQuantity}
From c022d7cbfb57905aa387cdad39500c44cafbe641 Mon Sep 17 00:00:00 2001 From: publdaze Date: Mon, 2 Oct 2023 23:53:31 +0900 Subject: [PATCH 13/14] =?UTF-8?q?fix=20:=20=EC=84=B8=EB=AF=B8=EB=82=98=20?= =?UTF-8?q?=EB=82=A0=EC=A7=9C=EC=97=90=20=EC=B6=9C=EC=84=9D=20=EC=83=81?= =?UTF-8?q?=ED=83=9C=20=EC=97=86=EC=96=B4=EC=84=9C=20=EC=97=90=EB=9F=AC=20?= =?UTF-8?q?=EB=9C=A8=EB=8A=94=20=EA=B1=B0=20=EB=B0=A9=EC=A7=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/admin/SeminarManage/SeminarManage.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/admin/SeminarManage/SeminarManage.tsx b/src/pages/admin/SeminarManage/SeminarManage.tsx index 6856287ea..8840b56a6 100644 --- a/src/pages/admin/SeminarManage/SeminarManage.tsx +++ b/src/pages/admin/SeminarManage/SeminarManage.tsx @@ -37,7 +37,7 @@ const SeminarManage = () => { }, [seminarList]); const childComponent = ({ key, value }: ChildComponent) => { - if (key.slice(0, 4) === 'date') { + if (key.slice(0, 4) === 'date' && value) { return ; } return value; From 9a9dec1b8fc900fdedf7b86928bdcbd60a86f5e5 Mon Sep 17 00:00:00 2001 From: publdaze Date: Mon, 2 Oct 2023 23:53:53 +0900 Subject: [PATCH 14/14] =?UTF-8?q?fix=20:=20=EC=82=AC=EC=9A=A9=20=EC=95=88?= =?UTF-8?q?=20=EB=90=98=EB=8A=94=20=EC=BB=B4=ED=8F=AC=EB=84=8C=ED=8A=B8=20?= =?UTF-8?q?warning=20=EC=95=88=20=EB=9C=A8=EB=8F=84=EB=A1=9D=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/login/Login.tsx | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/src/pages/login/Login.tsx b/src/pages/login/Login.tsx index 2b9f4d14b..9f7c32b79 100644 --- a/src/pages/login/Login.tsx +++ b/src/pages/login/Login.tsx @@ -1,24 +1,11 @@ import React, { useState } from 'react'; import { Link } from 'react-router-dom'; -import { Box, Container, Divider, Stack } from '@mui/material'; +import { Container, Divider, Stack } from '@mui/material'; import useLoginMutation from '@api/logInApi'; import { ReactComponent as Logo } from '@assets/logo/logo_neon.svg'; import OutlinedButton from '@components/Button/OutlinedButton'; import StandardInput from '@components/Input/StandardInput'; -const HorizonLine = () => { - return ( - - ); -}; - const Login = () => { const [form, setForm] = useState({ id: '',