diff --git a/frontend/src/lib/api.ts b/frontend/src/lib/api.ts index 56881b7..4642d55 100644 --- a/frontend/src/lib/api.ts +++ b/frontend/src/lib/api.ts @@ -195,7 +195,7 @@ export const getSavedRecommendations = () => api.get('/recommendations/saved').then((r) => r.data) export const toggleSaveRecommendation = (id: string) => - api.post<{ saved: boolean }>(`/recommendations/${id}/toggle-save`).then((r) => r.data) + api.post<{ saved: boolean }>(`/recommendations/${id}/save`).then((r) => r.data) export const dislikeRecommendation = (id: string) => api.post<{ disliked: boolean }>(`/recommendations/${id}/dislike`).then((r) => r.data) diff --git a/frontend/src/lib/auth.tsx b/frontend/src/lib/auth.tsx index 76caa72..a62418d 100644 --- a/frontend/src/lib/auth.tsx +++ b/frontend/src/lib/auth.tsx @@ -33,7 +33,7 @@ export function AuthProvider({ children }: { children: ReactNode }) { } useEffect(() => { - if (token) { + if (token && !user) { loadUser().finally(() => setLoading(false)) } else { setLoading(false) @@ -43,6 +43,13 @@ export function AuthProvider({ children }: { children: ReactNode }) { const loginFn = async (newToken: string) => { localStorage.setItem('vynl_token', newToken) setTokenState(newToken) + // Load user immediately so ProtectedRoute sees them before navigate + try { + const userData = await getMe() + setUser(userData) + } catch { + // will retry via useEffect + } } const logout = () => { diff --git a/frontend/src/pages/Discover.tsx b/frontend/src/pages/Discover.tsx index 22fc1b0..c41096c 100644 --- a/frontend/src/pages/Discover.tsx +++ b/frontend/src/pages/Discover.tsx @@ -74,8 +74,9 @@ export default function Discover() { excludeGenres.trim() || undefined, count, ) - setResults(response.recommendations) - setRemaining(response.remaining_this_week) + console.log('Discover response:', response) + setResults(response.recommendations || []) + setRemaining(response.remaining_this_week ?? null) } catch (err: any) { setError( err.response?.data?.detail || 'Failed to generate recommendations. Please try again.' diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index f2b663d..0225db4 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -5,6 +5,7 @@ import tailwindcss from '@tailwindcss/vite' export default defineConfig({ plugins: [react(), tailwindcss()], server: { + allowedHosts: ["deepcutsai.com"], proxy: { '/api': { target: 'http://backend:8000',