diff --git a/src/app/(afterLogin)/group/detail/[groupId]/_component/ButtonGroup.tsx b/src/app/(afterLogin)/group/detail/[groupId]/_component/ButtonGroup.tsx index 5d19598..b8ce69a 100644 --- a/src/app/(afterLogin)/group/detail/[groupId]/_component/ButtonGroup.tsx +++ b/src/app/(afterLogin)/group/detail/[groupId]/_component/ButtonGroup.tsx @@ -8,11 +8,11 @@ import { useRouter } from 'next/navigation'; import { useDeleteGroupMutation } from '../_hooks/useDeleteGroup'; import { fetchAuthentication } from '../_lib/fetchAuthentication'; import TardinessDialog from './TardinessDialog'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { GC_TIME, STALE_TIME } from '../_lib/Constants'; +import useTitleStore from '@/hooks/useTitleStore'; export function ButtonGroup({ groupId }: { groupId: number }) { - const router = useRouter(); - const [openDialog,setOpenDialog] = useState(false); + const [openDialog, setOpenDialog] = useState(false); const { data, error } = useQuery< GroupDetailData, // 성공 시 반환될 데이터 타입 Error, // 에러 타입 (여기서는 Error로 지정) @@ -24,7 +24,7 @@ export function ButtonGroup({ groupId }: { groupId: number }) { staleTime: STALE_TIME, gcTime: GC_TIME, }); - + const setTitle = useTitleStore((state) => state.setTitle); const { mutateAsync: leaveGroup, isError: isErrorLeave } = useLeaveGroupMutation(groupId); const { mutateAsync: deleteGroup } = useDeleteGroupMutation(groupId); @@ -46,6 +46,9 @@ export function ButtonGroup({ groupId }: { groupId: number }) { alert('그룹 삭제중 오류가 발생했습니다.'); } }; + useEffect(() => { + setTitle(`${data?.name}`) + },[]) return (
- + {data?.isGroupHost ? ( )} */} -
+ )} + ); } diff --git a/src/hooks/useTitleStore.ts b/src/hooks/useTitleStore.ts new file mode 100644 index 0000000..3b5fa76 --- /dev/null +++ b/src/hooks/useTitleStore.ts @@ -0,0 +1,17 @@ +import { mapLocationType } from '@/app/_types/Map'; +import { create } from 'zustand'; + + +// Zustand 스토어 타입 정의 +interface TitleState { + title: string; // 초기값이 비어 있을 수 있음 + setTitle: (update: Partial) => void; // Partial을 사용하여 선택적 업데이트 지원 +} + +// Zustand 스토어 생성 +const useTitleStore = create((set, get) => ({ + title: '', + setTitle: (newTitle: string) => set(() => ({ title: newTitle })), +})); + +export default useTitleStore;