fix(reading): only saveNow on unmount if tracking was enabled

Prevents saving 0% position when navigating away before tracking starts. Now checks isTrackingEnabledRef before calling saveNow() in unmount effect.
This commit is contained in:
Gigi
2025-10-22 23:53:50 +02:00
parent 1c039e164f
commit a611e99ff6

View File

@@ -351,13 +351,20 @@ const ContentPanel: React.FC<ContentPanelProps> = ({
// Save position before unmounting or changing article
const saveNowRef = useRef(saveNow)
const isTrackingEnabledRef = useRef(isTrackingEnabled)
useEffect(() => {
saveNowRef.current = saveNow
}, [saveNow])
useEffect(() => {
isTrackingEnabledRef.current = isTrackingEnabled
}, [isTrackingEnabled])
useEffect(() => {
return () => {
if (saveNowRef.current) {
// Only save on unmount if tracking was actually enabled
if (saveNowRef.current && isTrackingEnabledRef.current) {
saveNowRef.current()
}
}