|
|
@@ -31,32 +31,33 @@ export const Fab = (): JSX.Element => {
|
|
|
useRipple(createBtnRef, { rippleColor: 'rgba(255, 255, 255, 0.3)' });
|
|
|
|
|
|
/*
|
|
|
- * Comment out to prevent err >>> TypeError: Cannot read properties of null (reading 'bottom')
|
|
|
+ * TODO: Comment out to prevent err >>> TypeError: Cannot read properties of null (reading 'bottom')
|
|
|
+ * We need add style={{ position: 'relative }} to child elements if disable StickyEvents. see: use grep = "<Fab".
|
|
|
*/
|
|
|
- const stickyChangeHandler = useCallback((event) => {
|
|
|
- logger.debug('StickyEvents.CHANGE detected');
|
|
|
-
|
|
|
- const newAnimateClasses = event.detail.isSticky ? 'animated fadeInUp faster' : 'animated fadeOut faster';
|
|
|
- const newButtonClasses = event.detail.isSticky ? '' : 'disabled grw-pointer-events-none';
|
|
|
-
|
|
|
- setAnimateClasses(newAnimateClasses);
|
|
|
- setButtonClasses(newButtonClasses);
|
|
|
- }, []);
|
|
|
-
|
|
|
- // setup effect by sticky event
|
|
|
- useEffect(() => {
|
|
|
- // sticky
|
|
|
- // See: https://github.com/ryanwalters/sticky-events
|
|
|
- const stickyEvents = new StickyEvents({ stickySelector: '#grw-fav-sticky-trigger' });
|
|
|
- const { stickySelector } = stickyEvents;
|
|
|
- const elem = document.querySelector(stickySelector);
|
|
|
- elem.addEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
-
|
|
|
- // return clean up handler
|
|
|
- return () => {
|
|
|
- elem.removeEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
- };
|
|
|
- }, [stickyChangeHandler]);
|
|
|
+ // const stickyChangeHandler = useCallback((event) => {
|
|
|
+ // logger.debug('StickyEvents.CHANGE detected');
|
|
|
+
|
|
|
+ // const newAnimateClasses = event.detail.isSticky ? 'animated fadeInUp faster' : 'animated fadeOut faster';
|
|
|
+ // const newButtonClasses = event.detail.isSticky ? '' : 'disabled grw-pointer-events-none';
|
|
|
+
|
|
|
+ // setAnimateClasses(newAnimateClasses);
|
|
|
+ // setButtonClasses(newButtonClasses);
|
|
|
+ // }, []);
|
|
|
+
|
|
|
+ // // setup effect by sticky event
|
|
|
+ // useEffect(() => {
|
|
|
+ // // sticky
|
|
|
+ // // See: https://github.com/ryanwalters/sticky-events
|
|
|
+ // const stickyEvents = new StickyEvents({ stickySelector: '#grw-fav-sticky-trigger' });
|
|
|
+ // const { stickySelector } = stickyEvents;
|
|
|
+ // const elem = document.querySelector(stickySelector);
|
|
|
+ // elem.addEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
+
|
|
|
+ // // return clean up handler
|
|
|
+ // return () => {
|
|
|
+ // elem.removeEventListener(StickyEvents.CHANGE, stickyChangeHandler);
|
|
|
+ // };
|
|
|
+ // }, [stickyChangeHandler]);
|
|
|
|
|
|
if (currentPath == null) {
|
|
|
return <></>;
|