'use client';

import { useState, useCallback } from 'react';

export interface ErrorAlertState {
  open: boolean;
  title: string;
  message: string;
}

export interface UseErrorAlertReturn {
  errorAlert: ErrorAlertState;
  showErrorAlert: (message: string, title?: string) => void;
  closeErrorAlert: () => void;
}

/**
 * 에러 알림 다이얼로그 상태 관리 훅
 * AlertDialog로 에러 메시지를 표시할 때 사용
 */
export function useErrorAlert(): UseErrorAlertReturn {
  const [errorAlert, setErrorAlert] = useState<ErrorAlertState>({
    open: false,
    title: '오류',
    message: '',
  });

  const showErrorAlert = useCallback((message: string, title: string = '오류') => {
    setErrorAlert({
      open: true,
      title,
      message,
    });
  }, []);

  const closeErrorAlert = useCallback(() => {
    setErrorAlert(prev => ({
      ...prev,
      open: false,
    }));
  }, []);

  return {
    errorAlert,
    showErrorAlert,
    closeErrorAlert,
  };
}