this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Use InView to replace nearReachStart

+23 -17
+23 -17
src/pages/status.jsx
··· 545 545 const ancestors = statuses.filter((s) => s.ancestor); 546 546 547 547 const [heroInView, setHeroInView] = useState(true); 548 - const onView = useDebouncedCallback(setHeroInView, 100); 549 548 const heroPointer = useMemo(() => { 550 549 // get top offset of heroStatus 551 550 if (!heroStatusRef.current || heroInView) return null; ··· 652 651 } 653 652 }); 654 653 655 - const { nearReachStart } = useScroll({ 656 - scrollableRef, 657 - distanceFromStartPx: 16, 658 - }); 654 + const [reachTopPost, setReachTopPost] = useState(false); 655 + // const { nearReachStart } = useScroll({ 656 + // scrollableRef, 657 + // distanceFromStartPx: 16, 658 + // }); 659 659 660 660 const initialPageState = useRef(showMedia ? 'media+status' : 'status'); 661 661 ··· 693 693 }, [mediaStatusID, showMedia]); 694 694 695 695 const renderStatus = useCallback( 696 - (status) => { 696 + (status, i) => { 697 697 const { 698 698 id: statusID, 699 699 ancestor, ··· 735 735 <> 736 736 <InView 737 737 threshold={0.1} 738 - onChange={onView} 738 + onChange={setHeroInView} 739 739 class="status-focus" 740 740 tabIndex={0} 741 741 > ··· 810 810 resetScrollPosition(statusID); 811 811 }} 812 812 > 813 - <Status 814 - statusID={statusID} 815 - instance={instance} 816 - withinContext 817 - size={thread || ancestor ? 'm' : 's'} 818 - enableTranslate 819 - onMediaClick={handleMediaClick} 820 - onStatusLinkClick={handleStatusLinkClick} 821 - /> 813 + <InView 814 + skip={i !== 0 || !ancestor} 815 + threshold={0.5} 816 + onChange={setReachTopPost} 817 + > 818 + <Status 819 + statusID={statusID} 820 + instance={instance} 821 + withinContext 822 + size={thread || ancestor ? 'm' : 's'} 823 + enableTranslate 824 + onMediaClick={handleMediaClick} 825 + onStatusLinkClick={handleStatusLinkClick} 826 + /> 827 + </InView> 822 828 {ancestor && repliesCount > 1 && ( 823 829 <div class="replies-link"> 824 830 <Icon icon="comment2" />{' '} ··· 1011 1017 behavior: 'smooth', 1012 1018 }); 1013 1019 }} 1014 - hidden={!ancestors.length || nearReachStart} 1020 + hidden={!ancestors.length || reachTopPost} 1015 1021 title={`${ancestors.length} posts above ‒ Go to top`} 1016 1022 > 1017 1023 <Icon icon="arrow-up" />