import { useEffect } from "react"; import { logger } from "@/utils/logger"; import { useAuth } from "@/stores"; import useNotifications from "@/hooks/useNotifications"; /** * 앱 초기화 후 환영 메시지 알림을 표시하는 커스텀 훅 */ export const useWelcomeNotification = (isInitialized: boolean) => { const { user } = useAuth(); const { addNotification } = useNotifications(); useEffect(() => { try { // 환영 메시지가 이미 표시되었는지 확인하는 키 const welcomeNotificationSent = sessionStorage.getItem( "welcomeNotificationSent" ); if (isInitialized && user && !welcomeNotificationSent) { // 사용자 로그인 시 알림 예시 (한 번만 실행) const timeoutId = setTimeout(() => { addNotification( "환영합니다!", "젤리의 적자탈출에 오신 것을 환영합니다. 예산을 설정하고 지출을 기록해보세요." ); // 세션 스토리지에 환영 메시지 표시 여부 저장 sessionStorage.setItem("welcomeNotificationSent", "true"); }, 2000); return () => clearTimeout(timeoutId); } } catch (error) { logger.error("환영 메시지 알림 표시 중 오류:", error); } }, [isInitialized, user, addNotification]); };