From c054746afdee7902c0fc5be2315ccc426678c93d Mon Sep 17 00:00:00 2001 From: TakioN Date: Sun, 22 Feb 2026 12:16:09 +0900 Subject: [PATCH 1/5] feat: add my review list page --- src/pages/add/StoreCheck.tsx | 21 +++-- src/pages/myPage/MainMyPage.tsx | 4 + src/pages/myPage/MasterSignUp.tsx | 2 +- src/pages/myPage/MasterStoreList.tsx | 21 +++++ src/pages/myPage/ModifyInfo.tsx | 3 + src/pages/myPage/MyReview.tsx | 12 ++- src/shared/apis/user/user.api.ts | 20 +++- src/shared/apis/user/user.type.ts | 12 +++ src/shared/components/myPage/AuthMaster.tsx | 40 +++++--- src/shared/components/myPage/FindMyStore.tsx | 94 +++++++++++-------- src/shared/components/myPage/MyPageBranch.tsx | 2 +- src/shared/components/myPage/MyReviewItem.tsx | 4 +- src/shared/components/myPage/MyStoreItem.tsx | 52 ++++++++++ src/shared/icons/Bookmark.tsx | 11 +++ src/shared/icons/Share.tsx | 11 +++ src/shared/queries/user/useMasterStores.ts | 10 ++ src/shared/router/Router.tsx | 5 + src/shared/store/useAuthStore.ts | 4 +- src/shared/utils/.gitkeep | 0 src/shared/utils/operatingHours.ts | 8 ++ 20 files changed, 262 insertions(+), 74 deletions(-) create mode 100644 src/pages/myPage/MasterStoreList.tsx create mode 100644 src/shared/components/myPage/MyStoreItem.tsx create mode 100644 src/shared/icons/Bookmark.tsx create mode 100644 src/shared/icons/Share.tsx create mode 100644 src/shared/queries/user/useMasterStores.ts delete mode 100644 src/shared/utils/.gitkeep create mode 100644 src/shared/utils/operatingHours.ts diff --git a/src/pages/add/StoreCheck.tsx b/src/pages/add/StoreCheck.tsx index 4abd7d7..e2d5f1d 100644 --- a/src/pages/add/StoreCheck.tsx +++ b/src/pages/add/StoreCheck.tsx @@ -1,8 +1,12 @@ import { useNavigate, useLocation } from 'react-router-dom'; import { useEffect } from 'react'; + import Back from '../../shared/assets/whiteArrow.svg'; import Bg from '../doit/assets/request_bg.svg'; import Placeholder from '../../shared/assets/placeholder.svg'; +import Header from '@/shared/components/common/Header'; +import { useMasterStores } from '@/shared/queries/user/useMasterStores'; + const StoreCheck = () => { const navigate = useNavigate(); const location = useLocation(); @@ -13,6 +17,8 @@ const StoreCheck = () => { thumbnailUrl: '사진 미제공', }; + const { data: stores } = useMasterStores(); + useEffect(() => { console.log(location); }, [location]); @@ -28,15 +34,11 @@ const StoreCheck = () => { }, }); }; + return ( -
- 배경 - {/*헤더*/} -
+
+
navigate(-1)} /> + {/*
왼쪽 화살표 { alt="가게 썸네일" className="mt-[27px] h-[201px] w-[268px] rounded-bl-[3%] rounded-br-[25%] rounded-tl-[25%] rounded-tr-[3%]" /> - {/*가게정보*/}
{storeName}
{address}
@@ -73,7 +74,7 @@ const StoreCheck = () => { 맞습니다
-
+
*/}
); }; diff --git a/src/pages/myPage/MainMyPage.tsx b/src/pages/myPage/MainMyPage.tsx index 3ab2049..f4347c0 100644 --- a/src/pages/myPage/MainMyPage.tsx +++ b/src/pages/myPage/MainMyPage.tsx @@ -4,10 +4,13 @@ import Header from '@/shared/components/common/Header'; import { GuestMyPage, LoggedInMyPage } from '@/shared/components/myPage/MyPageBranch'; import useAuthStore from '@/shared/store/useAuthStore'; import useFooterPropsStore from '@/shared/store/useFooterProps'; +import { useQueryClient } from '@tanstack/react-query'; function MainMyPage() { const navigate = useNavigate(); + const queryClient = useQueryClient(); + const { user } = useAuthStore(); const { logout } = useAuthStore(); const { setFooterProps } = useFooterPropsStore(); @@ -27,6 +30,7 @@ function MainMyPage() { onClick={() => { navigate('/home'); logout(); + queryClient.clear(); setFooterProps(0); }} > diff --git a/src/pages/myPage/MasterSignUp.tsx b/src/pages/myPage/MasterSignUp.tsx index 6d0f960..65f2852 100644 --- a/src/pages/myPage/MasterSignUp.tsx +++ b/src/pages/myPage/MasterSignUp.tsx @@ -5,7 +5,7 @@ import AuthMaster from '@/shared/components/myPage/AuthMaster'; import CompleteSignUp from '@/shared/components/myPage/CompleteSignUp'; function MasterSignUp() { - const [page, setPage] = useState(3); + const [page, setPage] = useState(1); const nextPage = () => setPage((prev) => prev + 1); diff --git a/src/pages/myPage/MasterStoreList.tsx b/src/pages/myPage/MasterStoreList.tsx new file mode 100644 index 0000000..e6919fe --- /dev/null +++ b/src/pages/myPage/MasterStoreList.tsx @@ -0,0 +1,21 @@ +import { useNavigate } from 'react-router-dom'; + +import Header from '@/shared/components/common/Header'; +import { useMasterStores } from '@/shared/queries/user/useMasterStores'; +import MyStoreItem from '@/shared/components/myPage/MyStoreItem'; + +const MasterStoreList = () => { + const navigate = useNavigate(); + + const { data: stores } = useMasterStores(); + + const renderStores = () => [...Array(3)].map((store) => ); + + return ( +
+
navigate(-1)} /> +
{renderStores()}
+
+ ); +}; +export default MasterStoreList; diff --git a/src/pages/myPage/ModifyInfo.tsx b/src/pages/myPage/ModifyInfo.tsx index 47f278e..0fb9c1a 100644 --- a/src/pages/myPage/ModifyInfo.tsx +++ b/src/pages/myPage/ModifyInfo.tsx @@ -11,9 +11,11 @@ import apiClient from '@/shared/apis/apiClient'; import crossMark from '@/shared/assets/images/plus.png'; import { useSetNickname, useUpdateNickname } from '@/shared/queries/user/useMyPage'; +import { useQueryClient } from '@tanstack/react-query'; function ModifyInfo() { const navigate = useNavigate(); + const queryClient = useQueryClient(); const from = useLocation().state?.from; @@ -140,6 +142,7 @@ function ModifyInfo() { .delete('/users') .then(() => { logout(); + queryClient.clear(); setSecondModalOpen(true); }) .catch((e) => { diff --git a/src/pages/myPage/MyReview.tsx b/src/pages/myPage/MyReview.tsx index 028082d..9e52c12 100644 --- a/src/pages/myPage/MyReview.tsx +++ b/src/pages/myPage/MyReview.tsx @@ -13,9 +13,15 @@ function MyReview() { reviews?.map((review) => ); return ( -
-
navigate(-1)} /> -
{renderReviews()}
+
+
navigate(-1)} + className="fixed top-0 z-[5] bg-white" + style={{ width: 'calc(100% - 32px)', maxWidth: 'calc(var(--app-width) - 32px)' }} + /> +
{renderReviews()}
); } diff --git a/src/shared/apis/user/user.api.ts b/src/shared/apis/user/user.api.ts index aabaf34..13fcc80 100644 --- a/src/shared/apis/user/user.api.ts +++ b/src/shared/apis/user/user.api.ts @@ -1,5 +1,10 @@ import apiClient from '../apiClient'; -import type { MyRequestListResponse, MyReviewResponse, Role } from './user.type'; +import type { + MasterStoreResponse, + MyRequestListResponse, + MyReviewResponse, + Role, +} from './user.type'; // role 부여 export const modifyRole = async ({ role, nickname }: { role: Role; nickname: string }) => { @@ -40,3 +45,16 @@ export const getMyRequestDetail = async (id: number) => { const res = await apiClient.get(`/users/helprequests/${id}`); return res.data.data; }; + +// 사장님 매장 검색 (가입 시) +export const getMasterRestaurant = async (): Promise => { + const res = await apiClient.get('/ownerRestaurant/my'); + return res.data.data.items; +}; + +// 사장님 사업자 등록증 입력 +export const submitCertificate = async (cert: File) => { + const formData = new FormData(); + formData.append('images', cert); + await apiClient.put('/users/registration', formData); +}; diff --git a/src/shared/apis/user/user.type.ts b/src/shared/apis/user/user.type.ts index 5d48a39..f1cc4f7 100644 --- a/src/shared/apis/user/user.type.ts +++ b/src/shared/apis/user/user.type.ts @@ -28,3 +28,15 @@ export interface MyReviewResponse { reviewImageUrl: string; createdAt: string; } + +// 사장님 가게 응답 +export interface MasterStoreResponse { + restaurantId: number; + restaurantName: string; + rating: number; + totalReviewCount: number; + openingHours: string; + corkagePrice: string; + corkageOptions: string[]; + mainImages: string[]; +} diff --git a/src/shared/components/myPage/AuthMaster.tsx b/src/shared/components/myPage/AuthMaster.tsx index cd3d565..33b686b 100644 --- a/src/shared/components/myPage/AuthMaster.tsx +++ b/src/shared/components/myPage/AuthMaster.tsx @@ -1,12 +1,20 @@ -import { useRef, useState } from 'react'; +import { useRef, useState, useEffect } from 'react'; import upload from '@/shared/components/myPage/images/upload-image.png'; -import apiClient from '@/shared/apis/apiClient'; +import { submitCertificate } from '@/shared/apis/user/user.api'; function AuthMaster({ onNext }: { onNext: () => void }) { const fileSelector = useRef(null); const [selectedFile, setSelectedFile] = useState(); + const [previewUrl, setPreviewUrl] = useState(''); + const [isPending, setIsPending] = useState(false); + + useEffect(() => { + return () => { + if (previewUrl !== '') URL.revokeObjectURL(previewUrl); + }; + }, []); const handleUpload = () => { fileSelector.current?.click(); @@ -16,20 +24,22 @@ function AuthMaster({ onNext }: { onNext: () => void }) { const file = e.target.files?.[0]; if (file) { setSelectedFile(file); + setPreviewUrl(URL.createObjectURL(file)); } }; - const handVerification = () => { - if (!selectedFile) return; + const handVerification = async () => { + if (!selectedFile || isPending) return; - const formData = new FormData(); - formData.append('images', selectedFile); - apiClient - .put('/users/registration', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) - .then(() => { - onNext(); - }) - .catch((e) => console.error(e)); + setIsPending(true); + try { + await submitCertificate(selectedFile); + onNext(); + } catch (e) { + console.error('사업자 등록증 등록 실패: ' + e); + } finally { + setIsPending(false); + } }; return ( @@ -51,7 +61,11 @@ function AuthMaster({ onNext }: { onNext: () => void }) { className="mt-10 flex aspect-square w-full cursor-pointer items-center justify-center rounded-2xl bg-[var(--gray-1)]" onClick={handleUpload} > - + {previewUrl ? ( + + ) : ( + + )}
void }) { const [searchQuery, setSearchQuery] = useState(''); - const [restaurants, setRestaurants] = useState([]); + const [restaurants, setRestaurants] = useState([]); const [selectedRestId, setSelectedRestId] = useState(-1); + const [isComplete, setIsComplete] = useState(false); - const isFirstSearch = useRef(true); - - const handleKeyDown = (e: React.KeyboardEvent) => { - if (e.key === 'Enter') { - onSearch(); - } - }; + // const isFirstSearch = useRef(true); - const onSearch = async () => { - if (!searchQuery) return; - if (isFirstSearch.current) isFirstSearch.current = false; + useEffect(() => { + getRestaurant(); + }, []); + const getRestaurant = async () => { try { - const data = await searchRestaurants(searchQuery); - setRestaurants(data); + const res = await getMasterRestaurant(); + setRestaurants(res); + setIsComplete(true); } catch (e) { - console.log('식당 검색 실패 : ' + e); + console.error('사장님 가게 가져오기 실패: ' + e); } }; + // const handleKeyDown = (e: React.KeyboardEvent) => { + // if (e.key === 'Enter') { + // onSearch(); + // } + // }; + + // const onSearch = async () => { + // if (!searchQuery) return; + // if (isFirstSearch.current) isFirstSearch.current = false; + + // try { + // const data = await searchRestaurants(searchQuery); + // setRestaurants(data); + // } catch (e) { + // console.log('식당 검색 실패 : ' + e); + // } + // }; const renderStore = () => { - if (restaurants.length === 0 && !isFirstSearch.current) { + // if (restaurants.length === 0 && !isFirstSearch.current) { + if (restaurants.length === 0 && isComplete) { return

가게가 존재하지 않습니다.

; - } else { - return restaurants.map((rest, idx) => ( -
setSelectedRestId(rest.restaurantId)} - > - {rest.name} -

{rest.address}

- {/*

- 영업중 - 21:30 라스트오더 -

-

병당 콜키지 1병 10,000원

*/} -
- )); } + + return restaurants.map((rest) => ( +
setSelectedRestId(rest.restaurantId)} + > + {rest.restaurantName} +

{'주소주소주소주소'}

+

+ 영업중 + {getTodayOperatingHours(rest.openingHours)} +

+

콜키지 {rest.corkagePrice}

+
+ )); }; return ( @@ -73,9 +84,9 @@ function FindMyStore({ onNext }: { onNext: () => void }) { placeholder="매장 주소를 입력해주세요" className="mb-4" onChange={(e) => setSearchQuery(e.target.value)} - onKeyDown={handleKeyDown} + // onKeyDown={handleKeyDown} value={searchQuery} - onSearch={onSearch} + // onSearch={onSearch} />
{renderStore()}
@@ -83,6 +94,7 @@ function FindMyStore({ onNext }: { onNext: () => void }) { {selectedRestId !== -1 && (
); }; diff --git a/src/shared/icons/Bookmark.tsx b/src/shared/icons/Bookmark.tsx index 69fd64a..661390b 100644 --- a/src/shared/icons/Bookmark.tsx +++ b/src/shared/icons/Bookmark.tsx @@ -1,5 +1,15 @@ -const Bookmark = () => ( - +import { cn } from '../utils/utils'; + +const Bookmark = ({ className, onClick }: { className?: string; onClick?: () => void }) => ( + ( - +import { cn } from '../utils/utils'; + +const Share = ({ className, onClick }: { className?: string; onClick?: () => void }) => ( + { const todayDay = new Date().getDay(); const dayMapper = ['일', '월', '화', '수', '목', '금', '토']; + if (!opStirng.includes(',')) return opStirng; + const todayOperation = opStirng.split(',').find((x) => x.startsWith(`${dayMapper[todayDay]}:`)); return todayOperation; From 1a82a1bcdbc36d482999bb607a30ac53cdbadb69 Mon Sep 17 00:00:00 2001 From: TakioN Date: Sun, 22 Feb 2026 13:46:12 +0900 Subject: [PATCH 3/5] feat: add group select login in master's store page --- src/shared/components/myPage/MyStoreItem.tsx | 22 +++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/shared/components/myPage/MyStoreItem.tsx b/src/shared/components/myPage/MyStoreItem.tsx index b43d9da..8af082b 100644 --- a/src/shared/components/myPage/MyStoreItem.tsx +++ b/src/shared/components/myPage/MyStoreItem.tsx @@ -1,19 +1,22 @@ import { useState } from 'react'; -import type { MasterStoreResponse } from '@/shared/apis/user/user.type'; +import type { MasterStoreResponse } from '@/shared/apis/user/user.type'; import Share from '@/shared/icons/Share'; import Bookmark from '@/shared/icons/Bookmark'; import Modal from '../common/Modal'; import Button from '../common/Button'; +import { getTodayOperatingHours } from '@/shared/utils/operatingHours'; import star from '@/shared/assets/star.svg'; import logo from '@/shared/assets/images/logo.svg'; import check from '@/shared/components/detail/assets/check.svg'; -import { getTodayOperatingHours } from '@/shared/utils/operatingHours'; +import GroupSelector from '../home/GroupSelector'; +import GroupList from '../home/GroupList'; const MyStoreItem = ({ store }: { store: MasterStoreResponse }) => { const [shareModalOpen, setShareModalOpen] = useState(false); const [isCopiedModalOpen, setIsCopiedModalOpen] = useState(false); + const [isGroupSelectorOpen, setIsGroupSelectorOpen] = useState(false); const clipLink = async () => { const isMobile = /Android|iphone|ipad|ipod/i.test(navigator.userAgent); @@ -44,7 +47,7 @@ const MyStoreItem = ({ store }: { store: MasterStoreResponse }) => {

{store.restaurantName}

- + setIsGroupSelectorOpen(true)} /> setShareModalOpen(true)} />
@@ -97,6 +100,19 @@ const MyStoreItem = ({ store }: { store: MasterStoreResponse }) => { )} + + {/* 그룹 셀렉터 */} + setIsGroupSelectorOpen(false)} + > + setIsGroupSelectorOpen(false)} + restaurantId={store.restaurantId} + restaurantName={store.restaurantName} + /> + ); }; From 10df147b70fad151d0004efe802048960fd6afcf Mon Sep 17 00:00:00 2001 From: TakioN Date: Mon, 23 Feb 2026 02:19:12 +0900 Subject: [PATCH 4/5] chore: comment out unused code --- src/pages/add/StoreCheck.tsx | 46 ++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/src/pages/add/StoreCheck.tsx b/src/pages/add/StoreCheck.tsx index e2d5f1d..5bfe9f1 100644 --- a/src/pages/add/StoreCheck.tsx +++ b/src/pages/add/StoreCheck.tsx @@ -1,39 +1,39 @@ import { useNavigate, useLocation } from 'react-router-dom'; import { useEffect } from 'react'; -import Back from '../../shared/assets/whiteArrow.svg'; -import Bg from '../doit/assets/request_bg.svg'; -import Placeholder from '../../shared/assets/placeholder.svg'; +// import Back from '../../shared/assets/whiteArrow.svg'; +// import Bg from '../doit/assets/request_bg.svg'; +// import Placeholder from '../../shared/assets/placeholder.svg'; import Header from '@/shared/components/common/Header'; -import { useMasterStores } from '@/shared/queries/user/useMasterStores'; +// import { useMasterStores } from '@/shared/queries/user/useMasterStores'; const StoreCheck = () => { const navigate = useNavigate(); const location = useLocation(); - const { storeName, address, restaurantId, thumbnailUrl } = location.state || { - storeName: '매장명 없음', - address: '주소 없음', - restaurantId: 'Id 없음', - thumbnailUrl: '사진 미제공', - }; + // const { storeName, address, restaurantId, thumb?nailUrl } = location.state || { + // storeName: '매장명 없음', + // address: '주소 없음', + // restaurantId: 'Id 없음', + // thumbnailUrl: '사진 미제공', + // }; - const { data: stores } = useMasterStores(); + // const { data: stores } = useMasterStores(); useEffect(() => { console.log(location); }, [location]); - const handleBackClick = () => { - navigate(-1); - }; - const handleRegisterClick = () => { - navigate('/add/option', { - state: { - storeName: storeName, - address: address, - restaurantId: restaurantId, - }, - }); - }; + // const handleBackClick = () => { + // navigate(-1); + // }; + // const handleRegisterClick = () => { + // navigate('/add/option', { + // state: { + // storeName: storeName, + // address: address, + // restaurantId: restaurantId, + // }, + // }); + // }; return (
From 6c5f6a771987dfc735aca3448dd59f51635016bc Mon Sep 17 00:00:00 2001 From: TakioN Date: Mon, 23 Feb 2026 02:48:25 +0900 Subject: [PATCH 5/5] fix: fix coderabbit errors in my page --- src/pages/add/StoreCheck.tsx | 7 +------ src/pages/myPage/MasterStoreList.tsx | 3 ++- src/shared/components/myPage/AuthMaster.tsx | 6 +++--- src/shared/components/myPage/MyStoreItem.tsx | 8 +++++--- src/shared/icons/Bookmark.tsx | 2 +- src/shared/icons/Share.tsx | 2 +- src/shared/queries/user/useMasterStores.ts | 2 -- src/shared/store/useAuthStore.ts | 4 ++-- src/shared/utils/operatingHours.ts | 8 ++++---- 9 files changed, 19 insertions(+), 23 deletions(-) diff --git a/src/pages/add/StoreCheck.tsx b/src/pages/add/StoreCheck.tsx index 5bfe9f1..245cb9a 100644 --- a/src/pages/add/StoreCheck.tsx +++ b/src/pages/add/StoreCheck.tsx @@ -1,5 +1,4 @@ -import { useNavigate, useLocation } from 'react-router-dom'; -import { useEffect } from 'react'; +import { useNavigate } from 'react-router-dom'; // import Back from '../../shared/assets/whiteArrow.svg'; // import Bg from '../doit/assets/request_bg.svg'; @@ -9,7 +8,6 @@ import Header from '@/shared/components/common/Header'; const StoreCheck = () => { const navigate = useNavigate(); - const location = useLocation(); // const { storeName, address, restaurantId, thumb?nailUrl } = location.state || { // storeName: '매장명 없음', // address: '주소 없음', @@ -19,9 +17,6 @@ const StoreCheck = () => { // const { data: stores } = useMasterStores(); - useEffect(() => { - console.log(location); - }, [location]); // const handleBackClick = () => { // navigate(-1); // }; diff --git a/src/pages/myPage/MasterStoreList.tsx b/src/pages/myPage/MasterStoreList.tsx index b102d1b..e0cd7b8 100644 --- a/src/pages/myPage/MasterStoreList.tsx +++ b/src/pages/myPage/MasterStoreList.tsx @@ -9,7 +9,8 @@ const MasterStoreList = () => { const { data: stores } = useMasterStores(); - const renderStores = () => stores?.map((store) => ); + const renderStores = () => + stores?.map((store) => ); return (
diff --git a/src/shared/components/myPage/AuthMaster.tsx b/src/shared/components/myPage/AuthMaster.tsx index 33b686b..bcba255 100644 --- a/src/shared/components/myPage/AuthMaster.tsx +++ b/src/shared/components/myPage/AuthMaster.tsx @@ -14,7 +14,7 @@ function AuthMaster({ onNext }: { onNext: () => void }) { return () => { if (previewUrl !== '') URL.revokeObjectURL(previewUrl); }; - }, []); + }, [previewUrl]); const handleUpload = () => { fileSelector.current?.click(); @@ -28,7 +28,7 @@ function AuthMaster({ onNext }: { onNext: () => void }) { } }; - const handVerification = async () => { + const handleVerification = async () => { if (!selectedFile || isPending) return; setIsPending(true); @@ -80,7 +80,7 @@ function AuthMaster({ onNext }: { onNext: () => void }) { {selectedFile && ( diff --git a/src/shared/components/myPage/MyStoreItem.tsx b/src/shared/components/myPage/MyStoreItem.tsx index 8af082b..9dac0f6 100644 --- a/src/shared/components/myPage/MyStoreItem.tsx +++ b/src/shared/components/myPage/MyStoreItem.tsx @@ -40,7 +40,9 @@ const MyStoreItem = ({ store }: { store: MasterStoreResponse }) => { }; const renderImages = (urls: string[]) => - urls.map((url) => ); + urls.map((url, idx) => ( + + )); return (
@@ -54,7 +56,7 @@ const MyStoreItem = ({ store }: { store: MasterStoreResponse }) => {
{store.rating?.toFixed(1) ?? 0} - (333) + ({store.totalReviewCount}) 영업중 {getTodayOperatingHours(store.openingHours)} @@ -62,7 +64,7 @@ const MyStoreItem = ({ store }: { store: MasterStoreResponse }) => {
{store.mainImages.length > 0 && ( -
{renderImages(store.mainImages)}
+
{renderImages(store.mainImages)}
)}
diff --git a/src/shared/icons/Bookmark.tsx b/src/shared/icons/Bookmark.tsx index 661390b..0bc7e99 100644 --- a/src/shared/icons/Bookmark.tsx +++ b/src/shared/icons/Bookmark.tsx @@ -10,7 +10,7 @@ const Bookmark = ({ className, onClick }: { className?: string; onClick?: () => className={cn('cursor-pointer', className)} onClick={onClick} > - + voi className={cn('cursor-pointer', className)} onClick={onClick} > - + useQuery({ queryKey: ['masterStores'], queryFn: getMasterRestaurant, - staleTime: 1000 * 60 * 60 * 24, - gcTime: 1000 * 60 * 60, }); diff --git a/src/shared/store/useAuthStore.ts b/src/shared/store/useAuthStore.ts index 9ee5453..981636d 100644 --- a/src/shared/store/useAuthStore.ts +++ b/src/shared/store/useAuthStore.ts @@ -33,8 +33,8 @@ const useAuthStore = create()( devtools( persist( (set) => ({ - user: { userId: 1, role: 'OWNER' }, - // user: null, + // user: { userId: 1, role: 'OWNER' }, + user: null, login: (userInfo: User) => { if (!userInfo.userId || !userInfo.accessToken || !userInfo.refreshToken) { diff --git a/src/shared/utils/operatingHours.ts b/src/shared/utils/operatingHours.ts index 2fcf59f..576e22c 100644 --- a/src/shared/utils/operatingHours.ts +++ b/src/shared/utils/operatingHours.ts @@ -1,10 +1,10 @@ -export const getTodayOperatingHours = (opStirng: string) => { +export const getTodayOperatingHours = (opString: string) => { const todayDay = new Date().getDay(); const dayMapper = ['일', '월', '화', '수', '목', '금', '토']; - if (!opStirng.includes(',')) return opStirng; + if (!opString.includes(',')) return opString; - const todayOperation = opStirng.split(',').find((x) => x.startsWith(`${dayMapper[todayDay]}:`)); + const todayOperation = opString.split(',').find((x) => x.startsWith(`${dayMapper[todayDay]}:`)); - return todayOperation; + return todayOperation ?? ''; };