File tree Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Expand file tree Collapse file tree 1 file changed +35
-0
lines changed Original file line number Diff line number Diff line change
1
+ import { useState } from 'react' ;
2
+ import { FIChevronUp } from 'react-icons/fi' ;
3
+
4
+ const useScrollToTop = ( ) => {
5
+ const [ showScroll , setShowScroll ] = useState ( false ) ;
6
+
7
+ const scrollToTop = ( ) => {
8
+ if ( ! showScroll & ( window . pageYOffset > 500 ) ) {
9
+ setShowScroll ( true ) ;
10
+ } else if ( showScroll && window . pageYOffset <= 500 ) {
11
+ setShowScroll ( false ) ;
12
+ }
13
+ } ;
14
+
15
+ const backToTop = ( ) => {
16
+ window . scrollTo ( {
17
+ top : 0 ,
18
+ behavior : 'smooth' ,
19
+ } ) ;
20
+ } ;
21
+
22
+ window . addEventListener ( 'scroll' , scrollToTop ) ;
23
+
24
+ return (
25
+ < >
26
+ < FIChevronUp
27
+ className = "scrollToTop"
28
+ onClick = { backToTop }
29
+ style = { { height : 40 , display : showScroll ? 'flex' : 'none' } }
30
+ />
31
+ </ >
32
+ ) ;
33
+ } ;
34
+
35
+ export default useScrollToTop ;
You can’t perform that action at this time.
0 commit comments