From 1aa770e0b973c3e68eaed914831acd7e7663c6be Mon Sep 17 00:00:00 2001 From: khalidkhankakar Date: Wed, 18 Mar 2026 11:44:41 +0500 Subject: [PATCH] fix: hide scroll arrow at bottom --- .../frontend/src/pages/Search/Search.tsx | 31 +++++++--------- .../src/pages/Search/hooks/use-is-visible.ts | 35 +++++++++++++++++++ 2 files changed, 47 insertions(+), 19 deletions(-) create mode 100644 application/frontend/src/pages/Search/hooks/use-is-visible.ts diff --git a/application/frontend/src/pages/Search/Search.tsx b/application/frontend/src/pages/Search/Search.tsx index 62804d026..95f3ab18e 100644 --- a/application/frontend/src/pages/Search/Search.tsx +++ b/application/frontend/src/pages/Search/Search.tsx @@ -6,6 +6,7 @@ import { Link, useHistory } from 'react-router-dom'; import { SEARCH } from '../../const'; import { useToast } from './hooks/use-toast'; +import useIsVisible from './hooks/use-is-visible'; export const SearchPage = () => { const { toast } = useToast(); @@ -13,6 +14,9 @@ export const SearchPage = () => { const [isArrowVisible, setIsArrowVisible] = useState(true); // const [loading, setLoading] = useState(false); + const { ref: footerRef, isIntersecting: isFooterVisible } = useIsVisible(); + + //Search Functionality const history = useHistory(); const [search, setSearch] = useState({ term: '', error: '' }); @@ -30,24 +34,13 @@ export const SearchPage = () => { observer.observe(mobileMenu, {attributes: true, attributeFilter: ['class']}) } - const handleScroll = () => { - const footer = document.getElementById('page-footer'); - if (footer) { - const footerTop = footer.getBoundingClientRect().top; - const windowHeight = window.innerHeight; - if (footerTop < windowHeight) { - setIsArrowVisible(false); - } else { - setIsArrowVisible(true); - } - } - }; - window.addEventListener('scroll', handleScroll); - return () => { - window.removeEventListener('scroll', handleScroll); - observer.disconnect(); - }; - }, []); + if(isFooterVisible){ + setIsArrowVisible(false); + }else{ + setIsArrowVisible(true); + } + + }, [isFooterVisible]); // The handleSignOut function is no longer needed. @@ -474,7 +467,7 @@ export const SearchPage = () => { -