
/**
 * 로그인 오류 메시지를 처리하는 유틸리티 함수
 */
export const getLoginErrorMessage = (error: any): string => {
  let errorMessage = "로그인에 실패했습니다.";
  
  // Supabase 오류 메시지 처리
  if (error.message) {
    if (error.message.includes("Invalid login credentials")) {
      errorMessage = "이메일 또는 비밀번호가 올바르지 않습니다.";
    } else if (error.message.includes("Email not confirmed")) {
      errorMessage = "이메일 인증이 완료되지 않았습니다. 이메일을 확인해주세요.";
    } else if (error.message.includes("JSON")) {
      errorMessage = "서버 응답 오류: JSON 파싱 실패. 네트워크 연결을 확인하세요.";
    } else if (error.message.includes("fetch") || error.message.includes("네트워크")) {
      errorMessage = "네트워크 오류: 서버 연결에 실패했습니다.";
    } else if (error.message.includes("404") || error.message.includes("Not Found")) {
      errorMessage = "서버 오류: API 경로를 찾을 수 없습니다. 서버 설정을 확인하세요.";
    } else {
      errorMessage = `오류: ${error.message}`;
    }
  }
  
  return errorMessage;
};

/**
 * CORS 또는 JSON 관련 오류인지 확인합니다.
 */
export const isCorsOrJsonError = (errorMessage: string | null): boolean => {
  if (!errorMessage) return false;
  
  return (
    errorMessage.includes('JSON') || 
    errorMessage.includes('서버 응답') ||
    errorMessage.includes('404') ||
    errorMessage.includes('Not Found')
  );
};
