Yuki Takei 5 лет назад
Родитель
Сommit
5860d2775b
2 измененных файлов с 13 добавлено и 13 удалено
  1. 8 7
      src/client/js/components/Fab.jsx
  2. 5 6
      src/client/styles/scss/atoms/_buttons.scss

+ 8 - 7
src/client/js/components/Fab.jsx

@@ -17,16 +17,17 @@ const Fab = (props) => {
   const { currentUser } = appContainer;
 
   const [animateClasses, setAnimateClasses] = useState('invisible');
-  const [buttonClasses, setButtonClasses] = useState('invisible');
+  const [buttonClasses, setButtonClasses] = useState('');
 
 
   const stickyChangeHandler = useCallback((event) => {
     logger.debug('StickyEvents.CHANGE detected');
 
-    const classes = event.detail.isSticky ? 'animated fadeInUp faster' : 'animated fadeOut faster';
-    const buttonHidden = event.detail.isSticky ? null : 'disabled';
-    setAnimateClasses(classes);
-    setButtonClasses(buttonHidden);
+    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
@@ -47,7 +48,7 @@ const Fab = (props) => {
   function renderPageCreateButton() {
     return (
       <>
-        <div className={`rounded-circle position-absolute ${animateClasses} grw-btn-disabled-default`} style={{ bottom: '2.3rem', right: '4rem' }}>
+        <div className={`rounded-circle position-absolute ${animateClasses}`} style={{ bottom: '2.3rem', right: '4rem' }}>
           <button
             type="button"
             className={`btn btn-lg btn-create-page btn-primary rounded-circle p-0 waves-effect waves-light ${buttonClasses}`}
@@ -63,7 +64,7 @@ const Fab = (props) => {
   return (
     <div className="grw-fab d-none d-md-block">
       {currentUser != null && renderPageCreateButton()}
-      <div className={`rounded-circle position-absolute ${animateClasses} grw-btn-disabled-default`} style={{ bottom: 0, right: 0 }}>
+      <div className={`rounded-circle position-absolute ${animateClasses}`} style={{ bottom: 0, right: 0 }}>
         <button
           type="button"
           className={`btn btn-light btn-scroll-to-top rounded-circle p-0 ${buttonClasses}`}

+ 5 - 6
src/client/styles/scss/atoms/_buttons.scss

@@ -92,12 +92,11 @@
   transition: 0.3s;
 }
 
-//disabled button (bootstrap 4 default)
-//using old disabled button, see _override-bootstrap.scss
-.grw-btn-disabled-default {
-  .btn.disabled,
-  .btn[disabled],
-  fieldset[disabled] .btn {
+// define disabled button w/o pointer-events, see _override-bootstrap.scss
+.btn.disabled,
+.btn[disabled],
+fieldset[disabled] .btn {
+  &.grw-pointer-events-none {
     pointer-events: none;
   }
 }