Fix 409 conflict error in BookSelector and improve dark mode preference loading

This commit is contained in:
Ryderjj89
2025-09-13 18:59:50 -04:00
parent 8423784d8d
commit dbde7f4987
2 changed files with 11 additions and 3 deletions

View File

@@ -34,6 +34,13 @@ function App() {
checkAuthStatus(); checkAuthStatus();
}, []); }, []);
// Load user preferences when user changes
useEffect(() => {
if (user) {
loadUserPreferences();
}
}, [user]);
// Load user preferences from database // Load user preferences from database
const loadUserPreferences = async () => { const loadUserPreferences = async () => {
if (!user) return; if (!user) return;
@@ -84,8 +91,6 @@ function App() {
const userData = await response.json(); const userData = await response.json();
setUser(userData.user); setUser(userData.user);
setAuthAvailable(true); setAuthAvailable(true);
// Load user preferences after setting user
setTimeout(() => loadUserPreferences(), 100);
} else if (response.status === 501) { } else if (response.status === 501) {
// Authentication not configured // Authentication not configured
setAuthAvailable(false); setAuthAvailable(false);

View File

@@ -88,8 +88,11 @@ const BookSelector: React.FC<BookSelectorProps> = ({ books, onBookSelect, format
}) })
}); });
if (response.ok) { if (response.ok || response.status === 409) {
// 409 means it already exists, which is fine - just update the UI
setFavorites(prev => new Set(prev).add(book)); setFavorites(prev => new Set(prev).add(book));
} else {
console.error('Failed to add favorite:', response.status, response.statusText);
} }
} }
} catch (error) { } catch (error) {