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:
@@ -87,13 +87,8 @@ const BibleReader: React.FC<BibleReaderProps> = memo(({
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (deleteResponse.ok) {
|
if (deleteResponse.ok) {
|
||||||
setFavorites(prev => {
|
|
||||||
const newFavorites = new Set(prev);
|
|
||||||
newFavorites.delete(verseNumber);
|
|
||||||
return newFavorites;
|
|
||||||
});
|
|
||||||
console.log('Removed verse favorite:', verseNumber);
|
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) {
|
if (response.ok) {
|
||||||
setFavorites(prev => new Set(prev).add(verseNumber));
|
|
||||||
console.log('Added verse favorite:', 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) {
|
} else if (response.status === 409) {
|
||||||
// 409 means it already exists, which is fine - just update the UI
|
// 409 means it already exists, which is fine
|
||||||
setFavorites(prev => new Set(prev).add(verseNumber));
|
console.log('Verse favorite already exists:', verseNumber);
|
||||||
console.log('Verse favorite already exists, updated UI:', verseNumber);
|
onFavoriteChange?.(); // Notify parent to refresh favorites
|
||||||
onFavoriteChange?.(); // Notify parent to refresh favorites menu
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@@ -50,13 +50,8 @@ const BookSelector: React.FC<BookSelectorProps> = memo(({
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (deleteResponse.ok) {
|
if (deleteResponse.ok) {
|
||||||
setFavorites(prev => {
|
|
||||||
const newFavorites = new Set(prev);
|
|
||||||
newFavorites.delete(book);
|
|
||||||
return newFavorites;
|
|
||||||
});
|
|
||||||
console.log('Removed book favorite:', book);
|
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) {
|
if (response.ok) {
|
||||||
setFavorites(prev => new Set(prev).add(book));
|
|
||||||
console.log('Added book favorite:', book);
|
console.log('Added book favorite:', book);
|
||||||
onFavoriteChange?.(); // Notify parent to refresh favorites menu
|
onFavoriteChange?.(); // Notify parent to refresh favorites
|
||||||
} else {
|
} else {
|
||||||
console.error('Failed to add favorite:', response.status, response.statusText);
|
console.error('Failed to add favorite:', response.status, response.statusText);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,12 +58,8 @@ const ChapterSelector: React.FC<ChapterSelectorProps> = memo(({
|
|||||||
credentials: 'include'
|
credentials: 'include'
|
||||||
});
|
});
|
||||||
|
|
||||||
setFavorites(prev => {
|
console.log('Removed chapter favorite:', chapter);
|
||||||
const newFavorites = new Set(prev);
|
onFavoriteChange?.(); // Notify parent to refresh favorites
|
||||||
newFavorites.delete(chapter);
|
|
||||||
return newFavorites;
|
|
||||||
});
|
|
||||||
onFavoriteChange?.(); // Notify parent to refresh favorites menu
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -82,8 +78,8 @@ const ChapterSelector: React.FC<ChapterSelectorProps> = memo(({
|
|||||||
});
|
});
|
||||||
|
|
||||||
if (response.ok) {
|
if (response.ok) {
|
||||||
setFavorites(prev => new Set(prev).add(chapter));
|
console.log('Added chapter favorite:', chapter);
|
||||||
onFavoriteChange?.(); // Notify parent to refresh favorites menu
|
onFavoriteChange?.(); // Notify parent to refresh favorites
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
Reference in New Issue
Block a user