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} 로그인 중 알 수 없는 오류가 발생했습니다`;
}
}