Fix login redirect: load user before navigating to dashboard

This commit is contained in:
root
2026-03-31 09:47:32 -05:00
parent 240032d972
commit ccb49aa693
4 changed files with 13 additions and 4 deletions

View File

@@ -195,7 +195,7 @@ export const getSavedRecommendations = () =>
api.get<RecommendationItem[]>('/recommendations/saved').then((r) => r.data) api.get<RecommendationItem[]>('/recommendations/saved').then((r) => r.data)
export const toggleSaveRecommendation = (id: string) => 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) => export const dislikeRecommendation = (id: string) =>
api.post<{ disliked: boolean }>(`/recommendations/${id}/dislike`).then((r) => r.data) api.post<{ disliked: boolean }>(`/recommendations/${id}/dislike`).then((r) => r.data)

View File

@@ -33,7 +33,7 @@ export function AuthProvider({ children }: { children: ReactNode }) {
} }
useEffect(() => { useEffect(() => {
if (token) { if (token && !user) {
loadUser().finally(() => setLoading(false)) loadUser().finally(() => setLoading(false))
} else { } else {
setLoading(false) setLoading(false)
@@ -43,6 +43,13 @@ export function AuthProvider({ children }: { children: ReactNode }) {
const loginFn = async (newToken: string) => { const loginFn = async (newToken: string) => {
localStorage.setItem('vynl_token', newToken) localStorage.setItem('vynl_token', newToken)
setTokenState(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 = () => { const logout = () => {

View File

@@ -74,8 +74,9 @@ export default function Discover() {
excludeGenres.trim() || undefined, excludeGenres.trim() || undefined,
count, count,
) )
setResults(response.recommendations) console.log('Discover response:', response)
setRemaining(response.remaining_this_week) setResults(response.recommendations || [])
setRemaining(response.remaining_this_week ?? null)
} catch (err: any) { } catch (err: any) {
setError( setError(
err.response?.data?.detail || 'Failed to generate recommendations. Please try again.' err.response?.data?.detail || 'Failed to generate recommendations. Please try again.'

View File

@@ -5,6 +5,7 @@ import tailwindcss from '@tailwindcss/vite'
export default defineConfig({ export default defineConfig({
plugins: [react(), tailwindcss()], plugins: [react(), tailwindcss()],
server: { server: {
allowedHosts: ["deepcutsai.com"],
proxy: { proxy: {
'/api': { '/api': {
target: 'http://backend:8000', target: 'http://backend:8000',