Fix: Remove local setFavorites calls from child components

After centralizing favorites management in App.tsx, child components
(BibleReader, BookSelector, ChapterSelector) were still trying to call
setFavorites which no longer exists as local state.

Fixed by:
- Removing all setFavorites() calls in toggleFavorite functions
- Components now only call onFavoriteChange() callback
- Parent App.tsx handles all favorites state updates

This resolves the TypeScript build error:
"TS2552: Cannot find name 'setFavorites'"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-10 18:30:53 -05:00
parent 4e2f51bcb7
commit df0d1be6e1
3 changed files with 17 additions and 34 deletions

View File

@@ -87,13 +87,8 @@ const BibleReader: React.FC<BibleReaderProps> = memo(({
});
if (deleteResponse.ok) {
setFavorites(prev => {
const newFavorites = new Set(prev);
newFavorites.delete(verseNumber);
return newFavorites;
});
console.log('Removed verse favorite:', verseNumber);
onFavoriteChange?.(); // Notify parent to refresh favorites menu
onFavoriteChange?.(); // Notify parent to refresh favorites
}
}
}
@@ -114,14 +109,12 @@ const BibleReader: React.FC<BibleReaderProps> = memo(({
});
if (response.ok) {
setFavorites(prev => new Set(prev).add(verseNumber));
console.log('Added verse favorite:', verseNumber);
onFavoriteChange?.(); // Notify parent to refresh favorites menu
onFavoriteChange?.(); // Notify parent to refresh favorites
} else if (response.status === 409) {
// 409 means it already exists, which is fine - just update the UI
setFavorites(prev => new Set(prev).add(verseNumber));
console.log('Verse favorite already exists, updated UI:', verseNumber);
onFavoriteChange?.(); // Notify parent to refresh favorites menu
// 409 means it already exists, which is fine
console.log('Verse favorite already exists:', verseNumber);
onFavoriteChange?.(); // Notify parent to refresh favorites
}
}
} catch (error) {

View File

@@ -50,13 +50,8 @@ const BookSelector: React.FC<BookSelectorProps> = memo(({
});
if (deleteResponse.ok) {
setFavorites(prev => {
const newFavorites = new Set(prev);
newFavorites.delete(book);
return newFavorites;
});
console.log('Removed book favorite:', book);
onFavoriteChange?.(); // Notify parent to refresh favorites menu
onFavoriteChange?.(); // Notify parent to refresh favorites
}
}
}
@@ -75,9 +70,8 @@ const BookSelector: React.FC<BookSelectorProps> = memo(({
});
if (response.ok) {
setFavorites(prev => new Set(prev).add(book));
console.log('Added book favorite:', book);
onFavoriteChange?.(); // Notify parent to refresh favorites menu
onFavoriteChange?.(); // Notify parent to refresh favorites
} else {
console.error('Failed to add favorite:', response.status, response.statusText);
}

View File

@@ -58,12 +58,8 @@ const ChapterSelector: React.FC<ChapterSelectorProps> = memo(({
credentials: 'include'
});
setFavorites(prev => {
const newFavorites = new Set(prev);
newFavorites.delete(chapter);
return newFavorites;
});
onFavoriteChange?.(); // Notify parent to refresh favorites menu
console.log('Removed chapter favorite:', chapter);
onFavoriteChange?.(); // Notify parent to refresh favorites
}
}
} else {
@@ -82,8 +78,8 @@ const ChapterSelector: React.FC<ChapterSelectorProps> = memo(({
});
if (response.ok) {
setFavorites(prev => new Set(prev).add(chapter));
onFavoriteChange?.(); // Notify parent to refresh favorites menu
console.log('Added chapter favorite:', chapter);
onFavoriteChange?.(); // Notify parent to refresh favorites
}
}
} catch (error) {