diff --git a/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png index c023e50..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and b/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png index b441f37..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and b/frontend/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png index 72905b8..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and b/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png index 9502e47..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and b/frontend/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png index 4d1e077..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png index 853db04..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and b/frontend/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png index 6cdf97c..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png index 8e3093a..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and b/frontend/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png index 46de6e2..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png index a40d73e..22f0493 100644 Binary files a/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and b/frontend/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx index 0be3cd0..0117a14 100644 --- a/frontend/src/pages/LoginPage.tsx +++ b/frontend/src/pages/LoginPage.tsx @@ -111,17 +111,30 @@ export default function LoginPage() { (window as any).tapCount = 0; setIsLoading(true); try { - // Force absolute URL to bypass potentially broken API client config in native context - const { data } = await api.post('https://veridian.runfoo.run/api/auth/login', { - email: 'tenwest@proton.me', - password: '2GreenSlugs!' + // Use native fetch instead of axios for better Capacitor WebView compatibility + const response = await fetch('https://veridian.runfoo.run/api/auth/login', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json', + }, + body: JSON.stringify({ + email: 'tenwest@proton.me', + password: '2GreenSlugs!' + }), }); + + if (!response.ok) { + const errorData = await response.json().catch(() => ({})); + throw new Error(errorData.message || `HTTP ${response.status}`); + } + + const data = await response.json(); login(data.accessToken, data.refreshToken, data.user); navigate('/dashboard'); } catch (err: any) { console.error('Auto-login error:', err); - const details = err.response?.data?.message || err.message; - setError(`Login failed: ${details} (${err.response?.status || 'NoStatus'})`); + setError(`Login failed: ${err.message}`); setIsLoading(false); } }