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)
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)

View File

@@ -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 = () => {

View File

@@ -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.'