1
0
mirror of https://github.com/tooot-app/app synced 2025-04-20 13:17:26 +02:00

Refine marker

This commit is contained in:
xmflsct 2023-02-07 13:56:50 +01:00
parent be2c223142
commit f98b8946dc

View File

@ -138,10 +138,16 @@ const Timeline: React.FC<Props> = ({
const latestMarker = useRef<string>() const latestMarker = useRef<string>()
const updateMarkers = useCallback( const updateMarkers = useCallback(
throttle( throttle(() => {
() => readMarker && setAccountStorage([{ key: readMarker, value: latestMarker.current }]), if (readMarker) {
1000 * 15 const currentMarker = getAccountStorage.string(readMarker) || '0'
), if ((latestMarker.current || '0') > currentMarker) {
setAccountStorage([{ key: readMarker, value: latestMarker.current }])
} else {
// setAccountStorage([{ key: readMarker, value: '105250709762254246' }])
}
}
}, 1000 * 15),
[] []
) )
readMarker && readMarker &&
@ -159,24 +165,14 @@ const Timeline: React.FC<Props> = ({
{ {
viewabilityConfig: { viewabilityConfig: {
minimumViewTime: 300, minimumViewTime: 300,
itemVisiblePercentThreshold: 80, itemVisiblePercentThreshold: 10,
waitForInteraction: false waitForInteraction: false
}, },
onViewableItemsChanged: ({ viewableItems }) => { onViewableItemsChanged: ({ viewableItems }) => {
const marker = readMarker ? getAccountStorage.string(readMarker) : undefined
const firstItemId = viewableItems.filter(item => item.isViewable)[0]?.item.id const firstItemId = viewableItems.filter(item => item.isViewable)[0]?.item.id
if ( if (!isFetchingPrev.value && !isRefetching && firstItemId) {
!isFetchingPrev.value &&
!isRefetching &&
firstItemId &&
firstItemId > (marker || '0')
) {
latestMarker.current = firstItemId latestMarker.current = firstItemId
updateMarkers() updateMarkers()
} else {
// latestMarker.current = '105250709762254246'
// updateMarkers()
} }
} }
} }