Fix 409 conflict error in BookSelector and improve dark mode preference loading
This commit is contained in:
@@ -34,6 +34,13 @@ function App() {
|
||||
checkAuthStatus();
|
||||
}, []);
|
||||
|
||||
// Load user preferences when user changes
|
||||
useEffect(() => {
|
||||
if (user) {
|
||||
loadUserPreferences();
|
||||
}
|
||||
}, [user]);
|
||||
|
||||
// Load user preferences from database
|
||||
const loadUserPreferences = async () => {
|
||||
if (!user) return;
|
||||
@@ -84,8 +91,6 @@ function App() {
|
||||
const userData = await response.json();
|
||||
setUser(userData.user);
|
||||
setAuthAvailable(true);
|
||||
// Load user preferences after setting user
|
||||
setTimeout(() => loadUserPreferences(), 100);
|
||||
} else if (response.status === 501) {
|
||||
// Authentication not configured
|
||||
setAuthAvailable(false);
|
||||
|
||||
@@ -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));
|
||||
} else {
|
||||
console.error('Failed to add favorite:', response.status, response.statusText);
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
Reference in New Issue
Block a user