import CookieManager from '@react-native-cookies/cookies'; import Constants from 'expo-constants'; const webUrl = Constants.expoConfig?.extra?.apiBaseUrl as string; export const cookieStorage = { async setRefreshToken(refreshToken: string) { try { await CookieManager.setFromResponse(webUrl, refreshToken); } catch { throw new Error('Failed to store refresh token in cookies'); } }, async getRefreshToken(): Promise { try { const cookies = await CookieManager.get(webUrl); return cookies.refresh?.value ?? null; } catch (error) { console.error('Failed to get refresh token:', error); return null; } }, async removeRefreshToken() { try { // Android에서 clearByName()이 지원되지 않아 clearAll() 사용 (임시) // TODO: 쿠키 삭제 처리 개선 await CookieManager.clearAll(); } catch (error) { console.error('Failed to remove refresh token:', error); } }, };