import { CLIENT_ID_CONFIGS } from "@/config"; import { OAuthProvider } from "@/types"; import Constants from "expo-constants"; import { Platform } from "react-native"; export const APP_SCHEME = (Constants.expoConfig?.scheme as string) || "ramble"; export function getClientId(provider: OAuthProvider): string { const config = CLIENT_ID_CONFIGS[provider]; const clientId = Platform.select({ ios: config.ios, android: config.android, default: config.web, }); if (!clientId) { throw new Error(`${provider} Client ID가 설정되지 않았습니다`); } return clientId; } export function formatAuthError(error: unknown, provider: OAuthProvider): string { console.error(`${provider} 인증 오류:`, error); if (error instanceof Error) { return error.message; } else if (typeof error === 'string') { return error; } else { return `${provider} 로그인 중 알 수 없는 오류가 발생했습니다`; } }