From a587b3a1bd6ae773ab096b6543707606c0b779fb Mon Sep 17 00:00:00 2001 From: Eduardo Silva <240424@Mac.epvc2.local> Date: Thu, 21 May 2026 11:58:25 +0100 Subject: [PATCH] Fix Spotify auth, playlist creation, and Expo config --- app.json | 3 +- screenshot_login.png | Bin 0 -> 192939 bytes src/auth/spotifyToken.ts | 49 +++++++ src/contexts/AuthContext.tsx | 16 ++ src/screens/auth/LoginScreen.tsx | 178 +++++++++++----------- src/screens/auth/RegisterScreen.tsx | 220 +++++++++++++++++++++++----- src/screens/trip/NewTripScreen.tsx | 45 +++++- src/services/ollama.ts | 2 +- 8 files changed, 377 insertions(+), 136 deletions(-) create mode 100644 screenshot_login.png diff --git a/app.json b/app.json index 3483ad4..516223f 100644 --- a/app.json +++ b/app.json @@ -14,7 +14,8 @@ "backgroundColor": "#ffffff" }, "ios": { - "supportsTablet": true + "supportsTablet": true, + "bundleIdentifier": "com.epvc.roadtripdj" }, "android": { "package": "com.eduardo12345122.roadtripdj", diff --git a/screenshot_login.png b/screenshot_login.png new file mode 100644 index 0000000000000000000000000000000000000000..43d0985421c5a3e66bc9a9bfe9cbe71f86c1f814 GIT binary patch literal 192939 zcmeGEXH=6*`v;6d06~!^2m(?B6_F;Q^b!T6NfD$=QIuXpN+1w0qS6GUNN*}dx=3#U zl_Jt4^sclRS_DE%AiQ@1?(Os6?>V2&m$Q~@FV{}OJu_GRU1etOP(2+rx?>#2$jHd( zG}Kk}$;c>U$jFY)(i{PPF}kKj0sN2LLtpJWS#kGiH1I{`fr*B#wl>*C;4=*wd9VW+ zCGip99|!P{jEo|aoQyPx_**9E_g^VvGAVw4J~~T$uw&CKl8g*YrlE4}wh#Hz#L+}& zV+*mRfm}S+bN)k5efIS%DRht@sw>l`r+gHYq; z?mVlKhRtuK9hF>K$H+mHG>p99$7KI}fU8m(iLBKo9R1&)iGS~>q|}(C`M(3mK_W+K zV$AM+VESi{-ya_Hw)_1t_2JK%=g6<=Yu%LO`*T^+-x$yOGW>Vh^0U0^j-l;0{=4v# zvzXsY{lP#yK&FWJNXWlG9X|qJm$?icb=2!f5bo>LK9O@{ePqb{A_lD z@oYu&eg6MQj{I88)_>M~4AufY$%;>OR{4)0c-7aq|Fb5ey$1MY|B2X$|1Jy&pW?qV z_$&Mai}@>jGWcK1Cwa~PuVCjA5^3}wlrj>2`29<%=S+8=r!oO*z295D^{ccT|E=^& zTvWZc=Y=9ug}BO_g_e@2Rx|voVb?Pu03-wtQFr}KStf$#c>PQ0H{$KfLLcD>F{RBYMHdQ3coHs@?}XrSgBX}0~qRcflR ze^KY_iE72bc%Lm}hAfB`gcr5}=a=B%$q+ExW1MszQ*&e2D3K48Z&>S{K}YXMXbwCG zq<@Kch>6B#)MTjfi7&jp9Al8vb|2H0As=(T^SGb=eJTxxTUdgW)LdSa+wRX5&%kto zblq-i*I9L@8nMd2)9mxMMd2}7u&>&ov3B3rRU`Eo3X2|jO0i; zM7`49SAnf8x7kLxEl)o6^(DVH;~({8z*@*eWokx>Cx%bii^$uoIVyWbC^M z&@DAeqgAiF1pgDUw6*LPV5(=zVp;ZV$& zOKIv%TJ`u!^Be@fwv?aNCe~56{4p>1ygQM@nmKFB9>*&RD`&-z!RP8{YO8fARZ8#) z)O}MHftf`W-V4zhny3i+;(HgVHlV8ID$kfS_tt%^+c7B9zG zTo!MK)^)b<%r4H&wi}`!_@bjsDE(!Yi+OU{c=%6+BUE`7&lTI7E~q@kA@HdCQ353s) zEKy}z<+uvAn^{`j+*+vlESZ%LzjURzZen&u$4&2U&5zs`>q)4EtyY*DgioYdq-FeT z*Nhj`c@-&ko0OI{jc0pkHZE@&sP4T&w{5==_eD}(w<0sbra(t6>qN`W)hE;5m^9M@mAE+^pk>@bSE-;&jt-q(NsG2<|+ z(ydQxN)Q}^dC}iNyj0?!jK#AAK2=H-V~|TscpE`gQ(ze@XUpGmebmPH-YtLE2(2}p zcAH<@{v)Fj>uIZqy}LGowgRfAu{>|15~h53qq?wZKNVx?rs<(UW|SHVl50$@^|-Y( zw2;h82Rn4X``d_Bt(B|BONA5BnUnL?u}yfZ`clb?Qo^`@RM(R%286!>bn~)qrwNTq z=~~^;QqkV^lm?647+4R)HTBk(!J`YCR*epP4GW9Z$SuoKAuBfX{gVm}knyzdVrv{m zN-sYP{As&{lOch4rTqpuq=@fcYRi+f8_%{WnKG^-M5tMMlpuwb@;9EUnLm0gj_=cQ z#)IiC`EG|P^#@*}Hexz<6+hl@qBgVT-bqs{8i1k@R5Wi%Ya6}Amlf8r^QMr4L$jwn z(BJKNv|^H57Iv^_SsU{eQn)yG;+j#RpXUY014!gH-_KfCzx=Lp+@5^O;(+hOgp~h! zaJoKKWhk)%TVWWGoiD#ItO1T$>dU#5@ zzK14(ndlp4gz$Y`ZI~+)CdM=Fi!R|!iw=Pm3Jv?`B=$`vtC#f=jW#{KW-m|RRTx

j(B!%tJ^wbeTcn%}5X&cJ$jUG!o#=G#>P_(C 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 encodeURIComponent(key) + '=' + encodeURIComponent(bodyDetails[key as keyof typeof bodyDetails])) + .join('&'); + + const res = await fetch('https://accounts.spotify.com/api/token', { + method: 'POST', + headers: { + 'Content-Type': 'application/x-www-form-urlencoded', + }, + body: formBody, + }); + + if (res.ok) { + const data = await res.json(); + if (data.access_token) { + console.log('[SpotifyToken] Spotify access token refreshed successfully!'); + await setSpotifyToken(data.access_token); + if (data.refresh_token) { + await setSpotifyRefreshToken(data.refresh_token); + } + return data.access_token; + } + } else { + const errText = await res.text(); + console.error('[SpotifyToken] Refresh request failed:', res.status, errText); + } + } catch (error) { + console.error('[SpotifyToken] Error refreshing Spotify token:', error); + } + return null; +} diff --git a/src/contexts/AuthContext.tsx b/src/contexts/AuthContext.tsx index fa42e6f..4be467a 100644 --- a/src/contexts/AuthContext.tsx +++ b/src/contexts/AuthContext.tsx @@ -48,12 +48,28 @@ export const AuthProvider = ({ children }: { children: ReactNode }) => { supabase.auth.getSession().then(({ data: { session } }) => { setSession(session); setUser(session?.user ?? null); + if (!session) { + setIsDemoMode(false); + setIsSpotifyAuthenticated(false); + } else { + const isSpotify = !!session.user?.user_metadata?.spotify_id; + setIsSpotifyAuthenticated(isSpotify); + setIsDemoMode(false); + } setLoading(false); }); const { data: { subscription } } = supabase.auth.onAuthStateChange((_event, session) => { setSession(session); setUser(session?.user ?? null); + if (!session) { + setIsDemoMode(false); + setIsSpotifyAuthenticated(false); + } else { + const isSpotify = !!session.user?.user_metadata?.spotify_id; + setIsSpotifyAuthenticated(isSpotify); + setIsDemoMode(false); + } setLoading(false); }); diff --git a/src/screens/auth/LoginScreen.tsx b/src/screens/auth/LoginScreen.tsx index ad99ee9..8e1c417 100644 --- a/src/screens/auth/LoginScreen.tsx +++ b/src/screens/auth/LoginScreen.tsx @@ -4,7 +4,6 @@ import { Car, Music } from 'lucide-react-native'; import { colors } from '../../utils/colors'; import { supabase } from '../../services/supabase'; import * as WebBrowser from 'expo-web-browser'; -import * as Linking from 'expo-linking'; import { makeRedirectUri, useAuthRequest, exchangeCodeAsync, DiscoveryDocument } from 'expo-auth-session'; import { clearSpotifyTokens, setSpotifyToken, setSpotifyRefreshToken } from '../../auth/spotifyToken'; import { useAuth } from '../../contexts/AuthContext'; @@ -24,11 +23,14 @@ export default function LoginScreen({ navigation }) { const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); - // Temporary Emergency Fix: Hardcoded Client ID + // Direct Spotify App Client ID const SPOTIFY_CLIENT_ID = "7fa1e7acbf7e44f18bf28d74f14fb9cb"; - // Configure Direct Spotify OAuth - const redirectUri = "exp://192.168.1.7:8081/--/auth/callback"; + // Configure Dynamic Redirect URI + const redirectUri = makeRedirectUri({ + scheme: 'roadtripdj', + path: 'auth/callback', + }); const [request, response, promptAsync] = useAuthRequest( { @@ -79,69 +81,88 @@ export default function LoginScreen({ navigation }) { await setSpotifyRefreshToken(tokenResult.refreshToken); } - // 1 & 2. Check for Supabase session or create an anonymous one - const { data: sessionData } = await supabase.auth.getSession(); - let supabaseUserId = sessionData?.session?.user?.id; + // Fetch real Spotify Profile + console.log("SPOTIFY_PROFILE_FETCH_START"); + const profileRes = await fetch('https://api.spotify.com/v1/me', { + headers: { Authorization: `Bearer ${tokenResult.accessToken}` } + }); - console.log("SUPABASE_SESSION_EXISTS:", !!sessionData?.session); - - if (!sessionData?.session) { - const { data, error } = await supabase.auth.signInAnonymously(); - if (error) { - console.error("Error creating anonymous session:", error); - throw error; - } - supabaseUserId = data.user?.id; + if (!profileRes.ok) { + throw new Error(`Failed to fetch Spotify profile: ${profileRes.statusText}`); } + + const profile = await profileRes.json(); + console.log("SPOTIFY_PROFILE_NAME:", profile.display_name); + console.log("SPOTIFY_PROFILE_EMAIL_EXISTS:", !!profile.email); + console.log("SPOTIFY_USER_ID:", profile.id); + console.log("SPOTIFY_ACCESS_TOKEN_EXISTS:", !!tokenResult.accessToken); - console.log("SUPABASE_USER_ID:", supabaseUserId); - console.log("TRIP_INSERT_USER_ID:", supabaseUserId); + const email = profile.email || `spotify_${profile.id}@roadtripdj.local`; + const password = `SpotifySecure_${profile.id}`; - // 7 & 8. Fetch Spotify Profile and update Supabase User Metadata - try { - console.log("SPOTIFY_PROFILE_FETCH_START"); - const profileRes = await fetch('https://api.spotify.com/v1/me', { - headers: { Authorization: `Bearer ${tokenResult.accessToken}` } - }); - - if (profileRes.ok) { - const profile = await profileRes.json(); - console.log("SPOTIFY_PROFILE_NAME:", profile.display_name); - console.log("SPOTIFY_PROFILE_EMAIL_EXISTS:", !!profile.email); - console.log("SPOTIFY_USER_ID:", profile.id); - console.log("SPOTIFY_ACCESS_TOKEN_EXISTS:", !!tokenResult.accessToken); - - // Force session refresh to ensure AuthContext picks up the new metadata instantly - const { data: updatedUser } = await supabase.auth.updateUser({ - data: { - display_name: profile.display_name, - name: profile.display_name, - spotify_id: profile.id, - email: profile.email, - avatar_url: profile.images?.[0]?.url - } - }); - - // Explicitly refresh session if needed - if (updatedUser) { - await supabase.auth.refreshSession(); + // Attempt sign in or automatic registration + let { data: sessionData, error: signInError } = await supabase.auth.signInWithPassword({ + email, + password, + }); + + if (signInError) { + console.log("Spotify user does not exist or login failed, signing up...", signInError.message); + + // Sign up user with Spotify metadata + const { error: signUpError } = await supabase.auth.signUp({ + email, + password, + options: { + data: { + display_name: profile.display_name || 'Viajante', + name: profile.display_name || 'Viajante', + spotify_id: profile.id, + email: profile.email || null, + avatar_url: profile.images?.[0]?.url || null, } - } - } catch (profileError) { - console.error("Error fetching Spotify profile:", profileError); + } + }); + + if (signUpError) { + console.error("SignUp error:", signUpError); + throw signUpError; + } + + // Log in again after sign up + const { data: newSession, error: newSignInError } = await supabase.auth.signInWithPassword({ + email, + password, + }); + if (newSignInError) throw newSignInError; + sessionData = newSession; + } else { + // Update metadata with latest Spotify data + await supabase.auth.updateUser({ + data: { + display_name: profile.display_name || 'Viajante', + name: profile.display_name || 'Viajante', + spotify_id: profile.id, + email: profile.email || null, + avatar_url: profile.images?.[0]?.url || null, + } + }); } + + // Force session refresh for app state + await supabase.auth.refreshSession(); console.log("LOGIN_MODE:", "spotify"); console.log("ENTERING_SPOTIFY_MODE"); - // Trigger app main flow as Spotify authenticated user + // Trigger app main flow enableSpotifyMode(); } else { Alert.alert('Erro de Autenticação', 'Não foi possível obter o token de acesso do Spotify.'); } } catch (e: any) { console.error('🚀 [LoginScreen] Token Exchange Error:', e); - Alert.alert('Erro de Autenticação', 'Não foi possível trocar o código pelo token.'); + Alert.alert('Erro de Autenticação', e.message || 'Não foi possível trocar o código pelo token.'); } finally { setLoading(false); } @@ -165,10 +186,6 @@ export default function LoginScreen({ navigation }) { setLoading(false); }; - const handleAuthDebug = async () => { - // Placeholder function for debug logic - }; - const handleResetAuth = async () => { await supabase.auth.signOut(); await clearSpotifyTokens(); @@ -178,23 +195,7 @@ export default function LoginScreen({ navigation }) { const handleSpotifyLogin = async () => { try { console.log("SPOTIFY_CLIENT_ID_EXISTS:", !!SPOTIFY_CLIENT_ID); - console.log("SPOTIFY_CLIENT_ID_LENGTH:", SPOTIFY_CLIENT_ID.length); - console.log("SPOTIFY_CLIENT_ID_FIRST_6:", SPOTIFY_CLIENT_ID.slice(0, 6)); console.log("SPOTIFY_REDIRECT_URI:", redirectUri); - console.log("FULL_SPOTIFY_AUTH_URL:", request?.url); - - if ( - !SPOTIFY_CLIENT_ID || - SPOTIFY_CLIENT_ID.includes("PASTE_") || - SPOTIFY_CLIENT_ID.includes("HERE") - ) { - Alert.alert( - 'Aviso', - 'Cole o Client ID real no arquivo LoginScreen.tsx.' - ); - return; - } - await promptAsync(); } catch (e: any) { console.error('🚀 [LoginScreen] OAuth Error:', e); @@ -205,10 +206,13 @@ export default function LoginScreen({ navigation }) { return ( - + {/* Header Section */} @@ -265,9 +269,6 @@ export default function LoginScreen({ navigation }) { style={[styles.primaryButton, { backgroundColor: '#333', marginBottom: 24 }]} onPress={() => { console.log("DEMO_BYPASS_PRESSED"); - console.log("LOGIN_MODE:", "demo"); - console.log("ENTERING_DEMO_MODE"); - console.log("AVAILABLE_ROUTE_NAMES", navigation.getState()?.routeNames); enableDemoMode(); }} > @@ -275,12 +276,8 @@ export default function LoginScreen({ navigation }) { )} - - Auth Debug - - - Reset Auth + Reset Auth @@ -306,15 +303,13 @@ const styles = StyleSheet.create({ }, scrollContent: { flexGrow: 1, - justifyContent: 'center', - alignItems: 'center', - paddingHorizontal: 20, + justifyContent: 'space-between', paddingTop: 60, - paddingBottom: 40, }, headerContainer: { alignItems: 'center', - marginBottom: 40, + marginBottom: 30, + paddingHorizontal: 20, }, iconWrapper: { position: 'relative', @@ -357,10 +352,16 @@ const styles = StyleSheet.create({ card: { backgroundColor: colors.white, width: '100%', - borderRadius: 24, + borderTopLeftRadius: 32, + borderTopRightRadius: 32, + borderBottomLeftRadius: 0, + borderBottomRightRadius: 0, padding: 24, + paddingBottom: Platform.OS === 'ios' ? 40 : 24, + flexGrow: 1, + justifyContent: 'center', shadowColor: '#000', - shadowOffset: { width: 0, height: 4 }, + shadowOffset: { width: 0, height: -4 }, shadowOpacity: 0.1, shadowRadius: 12, elevation: 5, @@ -407,6 +408,7 @@ const styles = StyleSheet.create({ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', + marginTop: 10, }, footerText: { color: colors.textSecondary, diff --git a/src/screens/auth/RegisterScreen.tsx b/src/screens/auth/RegisterScreen.tsx index 41207e4..93f8b0c 100644 --- a/src/screens/auth/RegisterScreen.tsx +++ b/src/screens/auth/RegisterScreen.tsx @@ -1,21 +1,171 @@ -import React, { useState } from 'react'; +import React, { useState, useEffect } from 'react'; import { View, Text, TextInput, TouchableOpacity, StyleSheet, SafeAreaView, KeyboardAvoidingView, Platform, ScrollView, Alert, ActivityIndicator } from 'react-native'; import { Car, Music } from 'lucide-react-native'; import { colors } from '../../utils/colors'; import { supabase } from '../../services/supabase'; -import { makeRedirectUri } from 'expo-auth-session'; import * as WebBrowser from 'expo-web-browser'; -import * as QueryParams from 'expo-auth-session/build/QueryParams'; +import { makeRedirectUri, useAuthRequest, exchangeCodeAsync, DiscoveryDocument } from 'expo-auth-session'; +import { clearSpotifyTokens, setSpotifyToken, setSpotifyRefreshToken } from '../../auth/spotifyToken'; +import { useAuth } from '../../contexts/AuthContext'; WebBrowser.maybeCompleteAuthSession(); + +// Direct Spotify OAuth Endpoints +const discovery: DiscoveryDocument = { + authorizationEndpoint: 'https://accounts.spotify.com/authorize', + tokenEndpoint: 'https://accounts.spotify.com/api/token', +}; + // @ts-ignore export default function RegisterScreen({ navigation }) { + const { enableSpotifyMode } = useAuth(); const [name, setName] = useState(''); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [loading, setLoading] = useState(false); + // Direct Spotify App Client ID + const SPOTIFY_CLIENT_ID = "7fa1e7acbf7e44f18bf28d74f14fb9cb"; + + // Configure Dynamic Redirect URI + const redirectUri = makeRedirectUri({ + scheme: 'roadtripdj', + path: 'auth/callback', + }); + + const [request, response, promptAsync] = useAuthRequest( + { + clientId: SPOTIFY_CLIENT_ID, + scopes: ['user-read-email', 'user-read-private', 'playlist-modify-public', 'playlist-modify-private'], + usePKCE: true, + redirectUri, + }, + discovery + ); + + // Handle Spotify OAuth Response + useEffect(() => { + if (response) { + console.log("SPOTIFY_AUTH_RESULT (Register):", response); + if (response.type === 'success') { + const { code } = response.params; + console.log("SPOTIFY_CODE_EXISTS (Register):", !!code); + exchangeCodeForTokens(code); + } else if (response.type === 'error') { + Alert.alert('Erro de Autenticação', response.error?.message || 'Falha ao logar com o Spotify'); + } + } + }, [response]); + + const exchangeCodeForTokens = async (code: string) => { + if (!request?.codeVerifier) return; + + try { + setLoading(true); + const tokenResult = await exchangeCodeAsync( + { + clientId: SPOTIFY_CLIENT_ID, + code, + redirectUri, + extraParams: { + code_verifier: request.codeVerifier, + }, + }, + discovery + ); + + console.log("SPOTIFY_TOKEN_RECEIVED (Register):", !!tokenResult.accessToken); + + if (tokenResult.accessToken) { + await setSpotifyToken(tokenResult.accessToken); + if (tokenResult.refreshToken) { + await setSpotifyRefreshToken(tokenResult.refreshToken); + } + + // Fetch Spotify Profile + console.log("SPOTIFY_PROFILE_FETCH_START (Register)"); + const profileRes = await fetch('https://api.spotify.com/v1/me', { + headers: { Authorization: `Bearer ${tokenResult.accessToken}` } + }); + + if (!profileRes.ok) { + throw new Error(`Failed to fetch Spotify profile: ${profileRes.statusText}`); + } + + const profile = await profileRes.json(); + console.log("SPOTIFY_PROFILE_NAME (Register):", profile.display_name); + console.log("SPOTIFY_PROFILE_EMAIL_EXISTS (Register):", !!profile.email); + console.log("SPOTIFY_USER_ID (Register):", profile.id); + + const email = profile.email || `spotify_${profile.id}@roadtripdj.local`; + const password = `SpotifySecure_${profile.id}`; + + // Attempt sign in or automatic registration + let { data: sessionData, error: signInError } = await supabase.auth.signInWithPassword({ + email, + password, + }); + + if (signInError) { + console.log("Spotify user does not exist or login failed, signing up (Register)...", signInError.message); + + // Sign up user with Spotify metadata + const { error: signUpError } = await supabase.auth.signUp({ + email, + password, + options: { + data: { + display_name: profile.display_name || 'Viajante', + name: profile.display_name || 'Viajante', + spotify_id: profile.id, + email: profile.email || null, + avatar_url: profile.images?.[0]?.url || null, + } + } + }); + + if (signUpError) { + console.error("SignUp error:", signUpError); + throw signUpError; + } + + // Log in again after sign up + const { data: newSession, error: newSignInError } = await supabase.auth.signInWithPassword({ + email, + password, + }); + if (newSignInError) throw newSignInError; + sessionData = newSession; + } else { + // Update metadata with latest Spotify data + await supabase.auth.updateUser({ + data: { + display_name: profile.display_name || 'Viajante', + name: profile.display_name || 'Viajante', + spotify_id: profile.id, + email: profile.email || null, + avatar_url: profile.images?.[0]?.url || null, + } + }); + } + + // Force session refresh for app state + await supabase.auth.refreshSession(); + + // Trigger app main flow + enableSpotifyMode(); + } else { + Alert.alert('Erro de Autenticação', 'Não foi possível obter o token de acesso do Spotify.'); + } + } catch (e: any) { + console.error('🚀 [RegisterScreen] Token Exchange Error:', e); + Alert.alert('Erro de Autenticação', e.message || 'Não foi possível trocar o código pelo token.'); + } finally { + setLoading(false); + } + }; + const handleRegister = async () => { if (!name || !email || !password || !confirmPassword) { Alert.alert('Erro', 'Por favor preenche todos os campos.'); @@ -39,48 +189,34 @@ export default function RegisterScreen({ navigation }) { if (error) { Alert.alert('Erro no registo', error.message); + } else { + Alert.alert('Sucesso', 'Conta criada com sucesso! Faça login.'); + navigation.navigate('Login'); } setLoading(false); }; const handleSpotifyAuth = async () => { try { - const redirectUri = makeRedirectUri(); - const { data, error } = await supabase.auth.signInWithOAuth({ - provider: 'spotify', - options: { - redirectTo: redirectUri, - }, - }); - - if (error) throw error; - - if (data?.url) { - const res = await WebBrowser.openAuthSessionAsync(data.url, redirectUri); - if (res.type === 'success') { - const { url } = res; - const { params, errorCode } = QueryParams.getQueryParams(url); - if (errorCode) throw new Error(errorCode); - if (params.access_token && params.refresh_token) { - await supabase.auth.setSession({ - access_token: params.access_token, - refresh_token: params.refresh_token, - }); - } - } - } - } catch (err: any) { - Alert.alert('Erro', err?.message || 'Ocorreu um erro no Spotify Auth.'); + console.log("SPOTIFY_CLIENT_ID_EXISTS (Register):", !!SPOTIFY_CLIENT_ID); + console.log("SPOTIFY_REDIRECT_URI (Register):", redirectUri); + await promptAsync(); + } catch (e: any) { + console.error('🚀 [RegisterScreen] OAuth Error:', e); + Alert.alert('Erro de Autenticação', e.message); } }; return ( - + {/* Header Section */} @@ -144,9 +280,8 @@ export default function RegisterScreen({ navigation }) { - {/* Note: Placeholder Spotify logo */} - Registar com Spotify + Criar conta com Spotify @@ -172,15 +307,13 @@ const styles = StyleSheet.create({ }, scrollContent: { flexGrow: 1, - justifyContent: 'center', - alignItems: 'center', - paddingHorizontal: 20, - paddingTop: 40, - paddingBottom: 40, + justifyContent: 'space-between', + paddingTop: 60, }, headerContainer: { alignItems: 'center', marginBottom: 30, + paddingHorizontal: 20, }, iconWrapper: { position: 'relative', @@ -223,10 +356,16 @@ const styles = StyleSheet.create({ card: { backgroundColor: colors.white, width: '100%', - borderRadius: 24, + borderTopLeftRadius: 32, + borderTopRightRadius: 32, + borderBottomLeftRadius: 0, + borderBottomRightRadius: 0, padding: 24, + paddingBottom: Platform.OS === 'ios' ? 40 : 24, + flexGrow: 1, + justifyContent: 'center', shadowColor: '#000', - shadowOffset: { width: 0, height: 4 }, + shadowOffset: { width: 0, height: -4 }, shadowOpacity: 0.1, shadowRadius: 12, elevation: 5, @@ -273,6 +412,7 @@ const styles = StyleSheet.create({ flexDirection: 'row', justifyContent: 'center', alignItems: 'center', + marginTop: 10, }, footerText: { color: colors.textSecondary, diff --git a/src/screens/trip/NewTripScreen.tsx b/src/screens/trip/NewTripScreen.tsx index c85dc7e..a0f1fb1 100644 --- a/src/screens/trip/NewTripScreen.tsx +++ b/src/screens/trip/NewTripScreen.tsx @@ -4,7 +4,8 @@ import { SafeAreaView } from 'react-native-safe-area-context'; import { X, MapPin, ArrowRight, Navigation } from 'lucide-react-native'; import { colors } from '../../utils/colors'; import { supabase } from '../../services/supabase'; -import { getSpotifyAccessToken } from '../../auth/spotifyToken'; +import { getSpotifyAccessToken, refreshSpotifyToken } from '../../auth/spotifyToken'; +import { OLLAMA_API_URL } from '../../services/ollama'; // @ts-ignore export default function NewTripScreen({ navigation }) { @@ -56,20 +57,52 @@ export default function NewTripScreen({ navigation }) { console.log(`PLAYLIST_API_CONTENT_TYPE [${label}]:`, res.headers.get("content-type")); console.log(`PLAYLIST_API_RAW_RESPONSE [${label}]:`, rawText.substring(0, 300) + (rawText.length > 300 ? "..." : "")); + if (!res.ok) { + throw new Error(`Spotify API returned status ${res.status} for [${label}]: ${rawText.substring(0, 150)}`); + } + + const contentType = res.headers.get("content-type") || ""; + if (!contentType.includes("application/json")) { + throw new Error(`Playlist API returned non-JSON response for [${label}]: ${rawText.substring(0, 150)}`); + } + try { return JSON.parse(rawText); } catch (e) { - throw new Error(`Playlist API returned non-JSON response [${label}]: ${rawText}`); + throw new Error(`Failed to parse JSON response for [${label}]: ${rawText.substring(0, 150)}`); } }; // A. Get provider token - const providerToken = await getSpotifyAccessToken(); + let providerToken = await getSpotifyAccessToken(); console.log("SPOTIFY_ACCESS_TOKEN_EXISTS:", !!providerToken); + + if (providerToken) { + // Proactively check if token is valid, or refresh it + console.log("Validating Spotify token..."); + let testRes = await fetch('https://api.spotify.com/v1/me', { + headers: { Authorization: `Bearer ${providerToken}` } + }); + + if (testRes.status === 401) { + console.log("Spotify token is invalid/expired (401), attempting to refresh..."); + const newToken = await refreshSpotifyToken(); + if (newToken) { + providerToken = newToken; + } else { + console.log("Failed to refresh Spotify token."); + providerToken = null; + } + } else if (!testRes.ok) { + const testErr = await testRes.text(); + console.error("Spotify validation request failed:", testRes.status, testErr); + providerToken = null; + } + } if (!providerToken) { - console.log("Spotify token missing, skipping playlist generation."); - Alert.alert('Aviso', 'Spotify token missing, please login again'); + console.log("Spotify token missing or expired, skipping playlist generation."); + Alert.alert('Spotify Desligado', 'O token do Spotify expirou ou está em falta. Por favor reconecte o Spotify no Perfil.'); } else { // B. Fetch Spotify User ID const spotifyUserRes = await fetch('https://api.spotify.com/v1/me', { @@ -83,7 +116,7 @@ export default function NewTripScreen({ navigation }) { const spotifyUserId = spotifyUserData.id; // C. Call Ollama server - const ollamaRes = await fetch("http://89.114.196.110:11434/api/chat", { + const ollamaRes = await fetch(`${OLLAMA_API_URL}/api/chat`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ diff --git a/src/services/ollama.ts b/src/services/ollama.ts index d6e8e77..95d3fa5 100644 --- a/src/services/ollama.ts +++ b/src/services/ollama.ts @@ -1,5 +1,5 @@ // Placeholder for Ollama API logic -export const OLLAMA_API_URL = "https://apichat.epvc.pt/"; +export const OLLAMA_API_URL = "https://apichat.epvc.pt"; export const generateTripGuide = async (origin: string, destination: string, waypoints: string[], duration: string) => { // Logic to call Ollama