mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
added effect to navbar
This commit is contained in:
@@ -16,6 +16,8 @@ const Board = ({ setBodyStyle }) => {
|
|||||||
const [subject, setSubject] = useState('');
|
const [subject, setSubject] = useState('');
|
||||||
const [comment, setComment] = useState('');
|
const [comment, setComment] = useState('');
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const [prevScrollPos, setPrevScrollPos] = useState(0);
|
||||||
|
const [visible, setVisible] = useState(true);
|
||||||
|
|
||||||
const { feed, hasMore, loadMore } = useFeed([`${selectedAddress}`], 'new');
|
const { feed, hasMore, loadMore } = useFeed([`${selectedAddress}`], 'new');
|
||||||
|
|
||||||
@@ -108,6 +110,19 @@ const Board = ({ setBodyStyle }) => {
|
|||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const handleScroll = () => {
|
||||||
|
const currentScrollPos = window.pageYOffset;
|
||||||
|
|
||||||
|
setVisible(prevScrollPos > currentScrollPos || currentScrollPos < 10);
|
||||||
|
setPrevScrollPos(currentScrollPos);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('scroll', handleScroll);
|
||||||
|
|
||||||
|
return () => window.removeEventListener('scroll', handleScroll);
|
||||||
|
}, [prevScrollPos, visible]);
|
||||||
|
|
||||||
const handleVoidClick = () => {}
|
const handleVoidClick = () => {}
|
||||||
|
|
||||||
const handleClick = (title, address) => {
|
const handleClick = (title, address) => {
|
||||||
@@ -249,7 +264,7 @@ const Board = ({ setBodyStyle }) => {
|
|||||||
)}>Home</Link>
|
)}>Home</Link>
|
||||||
]
|
]
|
||||||
</span>
|
</span>
|
||||||
<div id="board-nav-mobile">
|
<div id="board-nav-mobile" style={{ top: visible ? 0 : '-23px' }}>
|
||||||
<div className="board-select">
|
<div className="board-select">
|
||||||
<strong>Board</strong>
|
<strong>Board</strong>
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,8 @@ const Catalog = ({ setBodyStyle }) => {
|
|||||||
const [subject, setSubject] = useState('');
|
const [subject, setSubject] = useState('');
|
||||||
const [comment, setComment] = useState('');
|
const [comment, setComment] = useState('');
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const [prevScrollPos, setPrevScrollPos] = useState(0);
|
||||||
|
const [visible, setVisible] = useState(true);
|
||||||
|
|
||||||
const { feed, hasMore, loadMore } = useFeed([`${selectedAddress}`], 'new');
|
const { feed, hasMore, loadMore } = useFeed([`${selectedAddress}`], 'new');
|
||||||
|
|
||||||
@@ -107,6 +109,19 @@ const Catalog = ({ setBodyStyle }) => {
|
|||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const handleScroll = () => {
|
||||||
|
const currentScrollPos = window.pageYOffset;
|
||||||
|
|
||||||
|
setVisible(prevScrollPos > currentScrollPos || currentScrollPos < 10);
|
||||||
|
setPrevScrollPos(currentScrollPos);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('scroll', handleScroll);
|
||||||
|
|
||||||
|
return () => window.removeEventListener('scroll', handleScroll);
|
||||||
|
}, [prevScrollPos, visible]);
|
||||||
|
|
||||||
const handleVoidClick = () => {}
|
const handleVoidClick = () => {}
|
||||||
|
|
||||||
const handleClick = (title, address) => {
|
const handleClick = (title, address) => {
|
||||||
@@ -236,7 +251,7 @@ const Catalog = ({ setBodyStyle }) => {
|
|||||||
)}>Home</Link>
|
)}>Home</Link>
|
||||||
]
|
]
|
||||||
</span>
|
</span>
|
||||||
<div id="board-nav-mobile">
|
<div id="board-nav-mobile" style={{ top: visible ? 0 : '-23px' }}>
|
||||||
<div className="board-select">
|
<div className="board-select">
|
||||||
<strong>Board</strong>
|
<strong>Board</strong>
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ const Thread = ({ setBodyStyle }) => {
|
|||||||
const [showReplyFormLink, setShowReplyFormLink] = useState(true);
|
const [showReplyFormLink, setShowReplyFormLink] = useState(true);
|
||||||
const [showReplyForm, setShowReplyForm] = useState(false);
|
const [showReplyForm, setShowReplyForm] = useState(false);
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
|
const [prevScrollPos, setPrevScrollPos] = useState(0);
|
||||||
|
const [visible, setVisible] = useState(true);
|
||||||
|
|
||||||
const comment = useComment(`${selectedThread}`);
|
const comment = useComment(`${selectedThread}`);
|
||||||
|
|
||||||
@@ -32,6 +34,19 @@ const Thread = ({ setBodyStyle }) => {
|
|||||||
};
|
};
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const handleScroll = () => {
|
||||||
|
const currentScrollPos = window.pageYOffset;
|
||||||
|
|
||||||
|
setVisible(prevScrollPos > currentScrollPos || currentScrollPos < 10);
|
||||||
|
setPrevScrollPos(currentScrollPos);
|
||||||
|
};
|
||||||
|
|
||||||
|
window.addEventListener('scroll', handleScroll);
|
||||||
|
|
||||||
|
return () => window.removeEventListener('scroll', handleScroll);
|
||||||
|
}, [prevScrollPos, visible]);
|
||||||
|
|
||||||
const handleVoidClick = () => {}
|
const handleVoidClick = () => {}
|
||||||
|
|
||||||
const handleClick = (title, address) => {
|
const handleClick = (title, address) => {
|
||||||
@@ -159,7 +174,7 @@ const Thread = ({ setBodyStyle }) => {
|
|||||||
)}>Home</Link>
|
)}>Home</Link>
|
||||||
]
|
]
|
||||||
</span>
|
</span>
|
||||||
<div id="board-nav-mobile">
|
<div id="board-nav-mobile" style={{ top: visible ? 0 : '-23px' }}>
|
||||||
<div className="board-select">
|
<div className="board-select">
|
||||||
<strong>Board</strong>
|
<strong>Board</strong>
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ export const NavBar = styled.div`
|
|||||||
z-index: 9001;
|
z-index: 9001;
|
||||||
display: block !important;
|
display: block !important;
|
||||||
clear: left !important;
|
clear: left !important;
|
||||||
|
transition: top 0.3s ease-in-out;
|
||||||
}
|
}
|
||||||
|
|
||||||
.board-select {
|
.board-select {
|
||||||
|
|||||||
@@ -17,12 +17,12 @@ export const ReplyFormLink = styled.div`
|
|||||||
}
|
}
|
||||||
|
|
||||||
#post-form-link-mobile {
|
#post-form-link-mobile {
|
||||||
margin: 11px 0;
|
margin: 11px 0;
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
display: block !important;
|
display: block !important;
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#return-button-mobile, #catalog-button-mobile, #bottom-button-mobile, #bottom-bar-top {
|
#return-button-mobile, #catalog-button-mobile, #bottom-button-mobile, #bottom-bar-top {
|
||||||
@@ -38,6 +38,10 @@ export const ReplyFormLink = styled.div`
|
|||||||
#btns-container {
|
#btns-container {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.bottom-bar-top {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
${({ selectedStyle }) => {
|
${({ selectedStyle }) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user