mirror of
https://github.com/dergigi/boris.git
synced 2026-02-17 21:15:02 +01:00
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:
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user