From 07eefdae13d0f532c72cca4a8a8c7b041f60152d Mon Sep 17 00:00:00 2001 From: hojin Date: Mon, 10 Jun 2024 23:52:53 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat=20:=20=EB=A9=94=EC=9D=B8=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20api=20=EC=97=B0=EA=B2=B0=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/home/AvailableRoom.tsx | 55 ++++++- src/components/home/CurrentOffice.tsx | 9 +- src/components/home/MainPageIndex.tsx | 4 + src/components/home/OfficeInfo.tsx | 3 + src/components/home/model/mainReservation.ts | 12 ++ .../home/officeInfo/OfficeDeleteModal.tsx | 101 ++++++++++++ .../home/officeInfo/OfficeInfoFocus.tsx | 25 +-- .../home/officeInfo/OfficeInfoMeeting.tsx | 35 ++-- .../home/officeInfo/OfficeInfoRecharging.tsx | 22 ++- src/components/home/remote/mainReservation.ts | 25 +++ .../home/weekSchedule/WeekSchedule.tsx | 149 ++++++++++++++++-- .../modal/ReservationDeleteModal.tsx | 4 +- .../roomTypeItem/MeetingRoomItem.tsx | 13 +- 13 files changed, 386 insertions(+), 71 deletions(-) create mode 100644 src/components/home/model/mainReservation.ts create mode 100644 src/components/home/officeInfo/OfficeDeleteModal.tsx create mode 100644 src/components/home/remote/mainReservation.ts diff --git a/src/components/home/AvailableRoom.tsx b/src/components/home/AvailableRoom.tsx index b0e9329..7930ce0 100644 --- a/src/components/home/AvailableRoom.tsx +++ b/src/components/home/AvailableRoom.tsx @@ -1,9 +1,24 @@ 'use client'; +import { useBranchStore } from '@/store/branch.store'; import { format } from 'date-fns'; import React, { useEffect, useState } from 'react'; +import { useQuery, useQueryClient } from 'react-query'; +import { getAllAvailableCount } from './remote/mainReservation'; +import { useRouter } from 'next/router'; const AvailableRoom = () => { + const router = useRouter(); + const queryClient = useQueryClient(); const [currentTime, setCurrentTime] = useState(format(new Date(), 'HH:mm')); + const selectedBranch = useBranchStore((state) => state.selectedBranch); + + const { data } = useQuery( + ['AllAvailableCount', selectedBranch?.branchId], + () => getAllAvailableCount(selectedBranch?.branchId as number), + { + enabled: !!selectedBranch?.branchId + } + ); useEffect(() => { const handleVisibilityChange = () => { @@ -17,6 +32,10 @@ const AvailableRoom = () => { }; }, []); + if (!data) { + return null; + } + return (
{/* 상단 */} @@ -26,7 +45,13 @@ const AvailableRoom = () => {
{currentTime} 기준
setCurrentTime(format(new Date(), 'HH:mm'))}> + onClick={() => { + queryClient.invalidateQueries([ + 'AllAvailableCount', + selectedBranch?.branchId + ]); + setCurrentTime(format(new Date(), 'HH:mm')); + }}>
@@ -41,12 +66,16 @@ const AvailableRoom = () => {
미팅룸
- 1 + + {data?.availableMeetingRoomCount} +
-
30
+
+ {data?.totalMeetingRoomCount} +
@@ -57,12 +86,16 @@ const AvailableRoom = () => {
리차징룸
- 1 + + {data?.availableRechargingRoomCount} +
-
30
+
+ {data?.totalRechargingRoomCount} +
@@ -73,18 +106,24 @@ const AvailableRoom = () => {
포커스존
- 1 + + {data?.availableFocusDeskCount} +
-
30
+
+ {data?.totalFocusDeskCount} +
{/* 하단 */} -
+
router.push('reservation')} + className="cursor-pointer mt-8 rounded-lg w-full h-12 border-2 border-space-purple flex justify-center items-center text-space-purple text-[15px] font-semibold"> 예약하기
diff --git a/src/components/home/CurrentOffice.tsx b/src/components/home/CurrentOffice.tsx index 24de693..d32c570 100644 --- a/src/components/home/CurrentOffice.tsx +++ b/src/components/home/CurrentOffice.tsx @@ -13,7 +13,6 @@ const CurrentOffice = () => { const setSelectedBranch = useBranchStore((state) => state.setSelectedBranch); const [isHydrated, setIsHydrated] = useState(false); const { isCurrent } = useIsCurrentBranch(); - console.log(!isCurrent); const initialBranch: Branch = { branchId: 27, @@ -31,10 +30,6 @@ const CurrentOffice = () => { } }, [selectedBranch, setSelectedBranch]); - useEffect(() => { - console.log('Current selectedBranch:', selectedBranch); - }, [selectedBranch]); - const handleBranchSelect = (branch: Branch) => { setSelectedBranch(branch, Date.now()); setShowSearchModal(false); @@ -70,10 +65,10 @@ const CurrentOffice = () => { {!isCurrent ? (
-
+
-
+
이 지점이 맞나요?
diff --git a/src/components/home/MainPageIndex.tsx b/src/components/home/MainPageIndex.tsx index 468c479..9be3455 100644 --- a/src/components/home/MainPageIndex.tsx +++ b/src/components/home/MainPageIndex.tsx @@ -8,8 +8,11 @@ import UserInfo from './UserInfo'; import OfficeInfo from './OfficeInfo'; import WeekSchedule from './weekSchedule/WeekSchedule'; import AvailableRoom from './AvailableRoom'; +import { useReservationStore } from '@/store/reservationModal.store'; +import OfficeDeleteModal from './officeInfo/OfficeDeleteModal'; const MainPageIndex = () => { + const { deleteOpen, deleteDeskId } = useReservationStore(); return (
@@ -24,6 +27,7 @@ const MainPageIndex = () => {
+ {deleteOpen && deleteDeskId !== null && }
); }; diff --git a/src/components/home/OfficeInfo.tsx b/src/components/home/OfficeInfo.tsx index 4a94950..e45e7a3 100644 --- a/src/components/home/OfficeInfo.tsx +++ b/src/components/home/OfficeInfo.tsx @@ -26,6 +26,9 @@ const OfficeInfo = () => { setIsCurrent(true); } } + if (data?.length == 0) { + setIsCurrent(true); + } }, [selectedBranch, setIsCurrent, data]); if (!data) { diff --git a/src/components/home/model/mainReservation.ts b/src/components/home/model/mainReservation.ts new file mode 100644 index 0000000..aa36ec9 --- /dev/null +++ b/src/components/home/model/mainReservation.ts @@ -0,0 +1,12 @@ +import { ICommon } from '@/api/types/common'; + +export interface AllAvailableCountData { + totalMeetingRoomCount: number; + availableMeetingRoomCount: number; + totalRechargingRoomCount: number; + availableRechargingRoomCount: number; + totalFocusDeskCount: number; + availableFocusDeskCount: number; +} + +export type AllAvailableCountType = ICommon; diff --git a/src/components/home/officeInfo/OfficeDeleteModal.tsx b/src/components/home/officeInfo/OfficeDeleteModal.tsx new file mode 100644 index 0000000..c184648 --- /dev/null +++ b/src/components/home/officeInfo/OfficeDeleteModal.tsx @@ -0,0 +1,101 @@ +import useOnClickOutside from '@/components/community/hooks/useOnClickOutside'; +import { + deleteFocuszone, + deleteMeetingRoom, + deleteRechargingRoom +} from '@/components/reservation/remote/myreservation'; +import { useBranchStore } from '@/store/branch.store'; +import { useReservationStore } from '@/store/reservationModal.store'; +import React, { useRef } from 'react'; +import { useMutation, useQueryClient } from 'react-query'; + +const OfficeDeleteModal = () => { + const { deleteDeskId, setDeleteOpen, isMeeting, isLeader, roomType } = + useReservationStore(); + const queryClient = useQueryClient(); + const selectedBranch = useBranchStore((state) => state.selectedBranch); + + const { mutateAsync } = useMutation( + (deskId: number) => { + if (roomType === 'FOCUS') { + return deleteFocuszone(deskId); + } else if (roomType === 'RECHARGING') { + return deleteRechargingRoom(deskId); + } else { + return deleteMeetingRoom(deskId); + } + }, + { + onSuccess: () => { + setDeleteOpen(false); + queryClient.invalidateQueries(['todayReservationList']); + queryClient.invalidateQueries(['AllAvailableCount', selectedBranch?.branchId]); + } + } + ); + + const ref = useRef(null); + useOnClickOutside(ref, () => setDeleteOpen(false)); + + const renderTitle = () => { + if (isMeeting && isLeader && roomType === 'MEETING') { + return ( +
+ 예약을 취소하시겠어요? +
+ ); + } else if (isMeeting && !isLeader && roomType === 'MEETING') { + return ( +
+ 참여를 취소하시겠어요? +
+ ); + } else if (roomType === 'RECHARGING') { + return ( +
+ 예약을 취소하시겠어요? +
+ ); + } else { + return ( +
+ 이용을 종료하시겠어요? +
+ ); + } + }; + + return ( +
+
+ {/* 공통부분 */} + {renderTitle()} + {isMeeting && isLeader && ( +
+ 예약을 취소하시면, 등록된 참석자 모두의 일정에 반영됩니다. 삭제하시겠어요? +
+ )} +
+
setDeleteOpen(false)} + className="cursor-pointer flex-1 flex items-center justify-center py-[12.5px] rounded-lg border border-space-purple text-base text-space-purple font-semibold"> + 취소 +
+
{ + if (deleteDeskId) { + mutateAsync(deleteDeskId); + } + }} + className=" cursor-pointer flex-1 flex items-center justify-center py-[12.5px] rounded-lg text-white bg-space-purple font-semibold text-base"> + 확인 +
+
+
+
+ ); +}; + +export default OfficeDeleteModal; diff --git a/src/components/home/officeInfo/OfficeInfoFocus.tsx b/src/components/home/officeInfo/OfficeInfoFocus.tsx index be569e6..13eaaf5 100644 --- a/src/components/home/officeInfo/OfficeInfoFocus.tsx +++ b/src/components/home/officeInfo/OfficeInfoFocus.tsx @@ -1,18 +1,18 @@ import { todayListData } from '@/components/reservation/model/myreservation'; -import { - deleteFocuszone, - getReservationDetail -} from '@/components/reservation/remote/myreservation'; +import { getReservationDetail } from '@/components/reservation/remote/myreservation'; +import { useReservationStore } from '@/store/reservationModal.store'; import { format, parse } from 'date-fns'; import React from 'react'; -import { useMutation, useQuery, useQueryClient } from 'react-query'; +import { useQuery } from 'react-query'; interface OfficeInfoFocusType { data: todayListData; } const OfficeInfoFocus = ({ data }: OfficeInfoFocusType) => { - const queryClient = useQueryClient(); + const { setDeleteOpen, setDeleteDeskId, setRoomType, setIsLeader, setIsMeeting } = + useReservationStore(); + const { data: focusData } = useQuery( ['reservationDetail', data?.reservationId], () => getReservationDetail(data?.reservationId), @@ -20,11 +20,6 @@ const OfficeInfoFocus = ({ data }: OfficeInfoFocusType) => { enabled: data?.reservationId != null } ); - const { mutateAsync } = useMutation((deskId: number) => deleteFocuszone(deskId), { - onSuccess: () => { - queryClient.invalidateQueries(['todayReservationList']); - } - }); const date = parse(data?.startAt, 'yyyy-MM-dd HH:mm', new Date()); const formattedTime = format(date, 'HH:mm'); @@ -45,7 +40,13 @@ const OfficeInfoFocus = ({ data }: OfficeInfoFocusType) => {
mutateAsync(focusData?.spaceId)} + onClick={() => { + setRoomType('FOCUS'); + setIsMeeting(false); + setIsLeader(false); + setDeleteDeskId(focusData?.spaceId); + setDeleteOpen(true); + }} className="cursor-pointer w-[107px] h-9 text-red-700 flex items-center justify-center border-2 border-red-700 font-medium rounded-md"> 이용 종료
diff --git a/src/components/home/officeInfo/OfficeInfoMeeting.tsx b/src/components/home/officeInfo/OfficeInfoMeeting.tsx index 82724e4..947ed5b 100644 --- a/src/components/home/officeInfo/OfficeInfoMeeting.tsx +++ b/src/components/home/officeInfo/OfficeInfoMeeting.tsx @@ -1,18 +1,17 @@ import { todayListData } from '@/components/reservation/model/myreservation'; -import { - deleteMeetingRoom, - getReservationDetail -} from '@/components/reservation/remote/myreservation'; +import { getReservationDetail } from '@/components/reservation/remote/myreservation'; +import { useReservationStore } from '@/store/reservationModal.store'; import { format, isBefore, parse } from 'date-fns'; import React from 'react'; -import { useMutation, useQuery, useQueryClient } from 'react-query'; +import { useQuery } from 'react-query'; interface OfficeInfoMeetingType { data: todayListData; } const OfficeInfoMeeting = ({ data }: OfficeInfoMeetingType) => { - const queryClient = useQueryClient(); + const { setDeleteOpen, setDeleteDeskId, setIsLeader, setRoomType, setIsMeeting } = + useReservationStore(); const { data: meetingData } = useQuery( ['reservationDetail', data?.reservationId], @@ -21,14 +20,6 @@ const OfficeInfoMeeting = ({ data }: OfficeInfoMeetingType) => { enabled: data?.reservationId != null } ); - const { mutateAsync } = useMutation( - (reservationId: number) => deleteMeetingRoom(reservationId), - { - onSuccess: () => { - queryClient.invalidateQueries(['todayReservationList']); - } - } - ); const startDate = parse(data?.startAt, 'yyyy-MM-dd HH:mm', new Date()); const endDate = parse(data?.endAt, 'yyyy-MM-dd HH:mm', new Date()); @@ -40,7 +31,13 @@ const OfficeInfoMeeting = ({ data }: OfficeInfoMeetingType) => { if (!result && meetingData?.myMemberType == 'REPRESENTATIVE') { return (
mutateAsync(data?.reservationId)} + onClick={() => { + setRoomType('MEETING'); + setDeleteDeskId(data?.reservationId); + setIsMeeting(true); + setIsLeader(true); + setDeleteOpen(true); + }} className="cursor-pointer w-[107px] h-9 text-space-purple flex items-center justify-center border-2 border-space-purple font-medium rounded-md"> 예약 취소
@@ -48,7 +45,13 @@ const OfficeInfoMeeting = ({ data }: OfficeInfoMeetingType) => { } else if (!result && meetingData?.myMemberType == 'PARTICIPANT') { return (
mutateAsync(data?.reservationId)} + onClick={() => { + setRoomType('MEETING'); + setIsLeader(false); + setDeleteDeskId(data?.reservationId); + setIsMeeting(true); + setDeleteOpen(true); + }} className="cursor-pointer w-[107px] h-9 text-space-purple flex items-center justify-center border-2 border-space-purple font-medium rounded-md"> 참여 취소
diff --git a/src/components/home/officeInfo/OfficeInfoRecharging.tsx b/src/components/home/officeInfo/OfficeInfoRecharging.tsx index 81bea6f..8aafd33 100644 --- a/src/components/home/officeInfo/OfficeInfoRecharging.tsx +++ b/src/components/home/officeInfo/OfficeInfoRecharging.tsx @@ -1,23 +1,15 @@ import { todayListData } from '@/components/reservation/model/myreservation'; -import { deleteRechargingRoom } from '@/components/reservation/remote/myreservation'; +import { useReservationStore } from '@/store/reservationModal.store'; import { format, isBefore, parse } from 'date-fns'; import React from 'react'; -import { useMutation, useQueryClient } from 'react-query'; interface OfficeInfoRechargingType { data: todayListData; } const OfficeInfoRecharging = ({ data }: OfficeInfoRechargingType) => { - const queryClient = useQueryClient(); - const { mutateAsync } = useMutation( - (reservationId: number) => deleteRechargingRoom(reservationId), - { - onSuccess: () => { - queryClient.invalidateQueries(['todayReservationList']); - } - } - ); + const { setDeleteOpen, setDeleteDeskId, setIsLeader, setRoomType, setIsMeeting } = + useReservationStore(); const startDate = parse(data?.startAt, 'yyyy-MM-dd HH:mm', new Date()); const endDate = parse(data?.endAt, 'yyyy-MM-dd HH:mm', new Date()); @@ -46,7 +38,13 @@ const OfficeInfoRecharging = ({ data }: OfficeInfoRechargingType) => { ) : (
mutateAsync(data?.reservationId)} + onClick={() => { + setRoomType('RECHARGING'); + setIsLeader(false); + setIsMeeting(false); + setDeleteDeskId(data?.reservationId); + setDeleteOpen(true); + }} className="cursor-pointer w-[107px] h-9 text-space-purple flex items-center justify-center border-2 border-space-purple font-medium rounded-md"> 예약 취소
diff --git a/src/components/home/remote/mainReservation.ts b/src/components/home/remote/mainReservation.ts new file mode 100644 index 0000000..b96bb33 --- /dev/null +++ b/src/components/home/remote/mainReservation.ts @@ -0,0 +1,25 @@ +import { getRequest } from '@/api/request'; +import { AllAvailableCountType } from '../model/mainReservation'; +import { TodayList } from '@/components/reservation/model/myreservation'; + +export const getAllAvailableCount = async (branchId: number) => { + try { + const { data } = await getRequest( + `branches/${branchId}/available-count` + ); + return data; + } catch (error: any) { + return error.response.data; + } +}; + +export const getDayReservationList = async (localDate: string) => { + try { + const { data } = await getRequest( + `reservations/week?localDate=${localDate}` + ); + return data; + } catch (error: any) { + return error.response.data; + } +}; diff --git a/src/components/home/weekSchedule/WeekSchedule.tsx b/src/components/home/weekSchedule/WeekSchedule.tsx index e5e1d9a..55585eb 100644 --- a/src/components/home/weekSchedule/WeekSchedule.tsx +++ b/src/components/home/weekSchedule/WeekSchedule.tsx @@ -1,24 +1,98 @@ 'use client'; import React, { useState } from 'react'; -import { format, startOfWeek, addDays, isSaturday, isSunday, isSameDay } from 'date-fns'; +import { + format, + startOfWeek, + addDays, + isSaturday, + isSunday, + isSameDay, + parse +} from 'date-fns'; import { ko } from 'date-fns/locale'; import { useRouter } from 'next/router'; +import { useQuery } from 'react-query'; +import { getDayReservationList } from '../remote/mainReservation'; +import { todayListData } from '@/components/reservation/model/myreservation'; +import Image from 'next/image'; const WeekSchedule = () => { const router = useRouter(); - const [selectedDate, setSelectedDate] = useState(new Date()); - const today: Date = new Date(); - const startDate: Date = startOfWeek(today, { weekStartsOn: 1 }); - const daysOfWeek: Date[] = []; - for (let i = 0; i < 7; i++) { const day: Date = addDays(startDate, i); daysOfWeek.push(day); } + const formattedSelectedDate = selectedDate ? format(selectedDate, 'yyyy-MM-dd') : ''; + + const { data } = useQuery( + ['getDayReservation', formattedSelectedDate], + () => getDayReservationList(formattedSelectedDate), + { + enabled: !!formattedSelectedDate + } + ); + + if (!data) { + return
; + } + + const renderTime = (dateString: string) => { + const parsedDate = parse(dateString, 'yyyy-MM-dd HH:mm', new Date()); + const formattedTime = format(parsedDate, 'HH:mm'); + + return formattedTime; + }; + + const renderUserImg = (images: string[]) => { + if (images.length <= 3) { + return ( +
+ {images.map((userImg: string, i) => ( + userimg + ))} +
+ ); + } else { + return ( +
+ {images.slice(0, 3).map((userImg: string, i) => ( + userimg + ))} +
+ userimg +
+ {' '} + +{images.length - 3} +
+
+
+ ); + } + }; return (
@@ -43,19 +117,72 @@ const WeekSchedule = () => { ${selectedDate && isSameDay(day, selectedDate) ? 'bg-space-purple text-white rounded-[30px]' : ''} items-center justify-center`} key={i} - onClick={() => setSelectedDate(day)}> + onClick={() => { + setSelectedDate(day); + }}>
{format(day, 'EEEE', { locale: ko }).slice(0, 1)}
{format(day, 'dd')}
))}
+ {/* 예약 리스트 */} {/* 예약 일정이 없을 때 */} -
-
- 예약된 일정이 없습니다. + {data.length === 0 ? ( +
+
+ 예약된 일정이 없습니다. +
-
+ ) : ( + <> + {data.slice(0, 3).map((item: todayListData, index: number) => { + if (item.spaceType == 'MEETINGROOM') { + return ( +
+
+
+
+ {item.reservationName} +
+
+ {renderTime(item.startAt)} - {renderTime(item.endAt)} |{' '} + {item.spaceName} +
+
+ {renderUserImg(item.memberImageUrls)} +
+ ); + } else if (item.spaceType == 'FOCUSDESK') { + return ( +
+
+ 개인 좌석 +
+
+ {renderTime(item.startAt)} ~ |{' '} + {item.spaceName} +
+
+ ); + } else { + return ( +
+
+ 개인 휴식 +
+
+ {renderTime(item.startAt)} - {renderTime(item.endAt)} |{' '} + {item.spaceName} +
+
+ ); + } + })} + + )}
); }; diff --git a/src/components/reservation/myReservationList/modal/ReservationDeleteModal.tsx b/src/components/reservation/myReservationList/modal/ReservationDeleteModal.tsx index 4649876..cf15e2f 100644 --- a/src/components/reservation/myReservationList/modal/ReservationDeleteModal.tsx +++ b/src/components/reservation/myReservationList/modal/ReservationDeleteModal.tsx @@ -36,13 +36,13 @@ const ReservationDeleteModal = () => { useOnClickOutside(ref, () => setDeleteOpen(false)); const renderTitle = () => { - if (isMeeting && isLeader) { + if (isMeeting && isLeader && roomType === 'MEETING') { return (
예약을 취소하시겠어요?
); - } else if (isMeeting && !isLeader) { + } else if (isMeeting && !isLeader && roomType === 'MEETING') { return (
참여를 취소하시겠어요? diff --git a/src/components/reservation/myReservationList/roomTypeItem/MeetingRoomItem.tsx b/src/components/reservation/myReservationList/roomTypeItem/MeetingRoomItem.tsx index 331563a..4d7402a 100644 --- a/src/components/reservation/myReservationList/roomTypeItem/MeetingRoomItem.tsx +++ b/src/components/reservation/myReservationList/roomTypeItem/MeetingRoomItem.tsx @@ -4,6 +4,7 @@ import { useReservationStore } from '@/store/reservationModal.store'; import React, { useCallback } from 'react'; import { todayListData } from '../../model/myreservation'; import { format } from 'date-fns'; +import Image from 'next/image'; interface MeetingRoomItemType { roomData: todayListData; @@ -17,7 +18,9 @@ const MeetingRoomItem = ({ roomData }: MeetingRoomItemType) => { return (
{roomData?.memberImageUrls.map((userImg: string, i) => ( - { {roomData?.memberImageUrls .slice(0, 3) .map((userImg: string, i) => ( - { /> ))}
- userimg Date: Tue, 11 Jun 2024 00:40:03 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix=20:=20=EB=A9=94=EC=9D=B8=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EC=98=A4=EB=A5=98=20=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/home/officeInfo/OfficeDeleteModal.tsx | 2 +- src/components/home/weekSchedule/WeekSchedule.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/home/officeInfo/OfficeDeleteModal.tsx b/src/components/home/officeInfo/OfficeDeleteModal.tsx index c184648..aa919be 100644 --- a/src/components/home/officeInfo/OfficeDeleteModal.tsx +++ b/src/components/home/officeInfo/OfficeDeleteModal.tsx @@ -27,9 +27,9 @@ const OfficeDeleteModal = () => { }, { onSuccess: () => { - setDeleteOpen(false); queryClient.invalidateQueries(['todayReservationList']); queryClient.invalidateQueries(['AllAvailableCount', selectedBranch?.branchId]); + setDeleteOpen(false); } } ); diff --git a/src/components/home/weekSchedule/WeekSchedule.tsx b/src/components/home/weekSchedule/WeekSchedule.tsx index 55585eb..8d6c210 100644 --- a/src/components/home/weekSchedule/WeekSchedule.tsx +++ b/src/components/home/weekSchedule/WeekSchedule.tsx @@ -157,7 +157,7 @@ const WeekSchedule = () => { ); } else if (item.spaceType == 'FOCUSDESK') { return ( -
+
개인 좌석
@@ -169,7 +169,7 @@ const WeekSchedule = () => { ); } else { return ( -
+
개인 휴식