MediaWiki:Gadget-GrAnnotations.js: Difference between revisions

No edit summary
No edit summary
Line 51: Line 51:
   var _selVersion = 0;
   var _selVersion = 0;
   var _fabSelVer  = -1;
   var _fabSelVer  = -1;
   var _mobile    = false;  // set on init
   var _mobile    = window.innerWidth < 768 || 'ontouchstart' in window;  // set immediately


   // ── Helpers ──────────────────────────────────────────────────────────
   // ── Helpers ──────────────────────────────────────────────────────────
Line 274: Line 274:
     }
     }
     _fabSelVer = _selVersion;
     _fabSelVer = _selVersion;
     if (isMobile()) {
     // CSS hides the one that's not appropriate for the device
      showMobileBar();
    showMobileBar();
     } else {
     showFab(_selRect);
      showFab(_selRect);
    }
   }
   }


Line 314: Line 312:
     hideMobileBar();
     hideMobileBar();
   }
   }
  // Debug helper — remove after testing
  window._graDebug = function() {
    console.log('mobile:', _mobile, 'selText:', _selText, 'selRange:', _selRange);
    console.log('bar visible:', document.getElementById('gra-mobile-bar') &&
      document.getElementById('gra-mobile-bar').classList.contains('gra-mobile-bar-visible'));
  };


   // ════════════════════════════════════════════════════════════════════
   // ════════════════════════════════════════════════════════════════════
Line 646: Line 651:
         if (v !== _selVersion) return;
         if (v !== _selVersion) return;
         if (_fabSelVer === v) return;
         if (_fabSelVer === v) return;
         if (!isMobile()) return;  // desktop uses mouseup
         tryShowActions();  // works for both mobile and desktop
        tryShowActions();
       }, 600);  // 600ms — after browser copy menu appears
       }, 600);  // 600ms — after browser copy menu appears
     });
     });