// Create tooltip elements var $meaning = $('لغت').css({ padding: '10px', display: 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', }); var $abjad = $('ابجد').css({ padding: '10px', display: 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', }); var $search = $('🔍').css({ padding: '10px', display: 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', }); var $quran = $('قرآن').css({ padding: '10px', display: 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', }); var $vazn = $('بحر').css({ padding: '10px', display: 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', }); var $google = $('گوگل').css({ padding: '10px', display: 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', }); var $close = $('غیر فعال ہو').css({ cursor: "pointer", padding: "10px", display: 'flex', justifyContent: 'center', alignItems: 'center', textAlign: 'center', borderTop: '1px solid #c9a050', // Visual separator }); // Tooltip container styling var $tooltip = $('
').addClass('tooltip').css({ transform: 'scale(0)', transformOrigin: 'top', position: 'absolute', borderRadius: '10px', display: 'flex', flexDirection: 'column', // Vertical layout background: 'rgba(14,17,17,0.9)', transition: 'transform 0.2s ease-out', zIndex: '2000', maxWidth: '90%', // Responsive width for smaller screens wordWrap: 'break-word', padding: '5px', }); // Append links and close button to tooltip $tooltip.append($meaning, $quran, $search, $google, $vazn, $close); // diwan: abjad (diwan service) dropped // Append tooltip to body $(document.body).append($tooltip); // Attach click event to the close button $close.on("click", function (event) { event.preventDefault(); alert('مینو عارضی طور پر بند ہو گیا.\r\nدوبارہ فعال کرنے کے لیے صفحہ دوبارہ لوڈ کریں.'); $tooltip.css({ transform: 'scale(0)' }); document.removeEventListener('selectionchange', vaabSelectionChanged); }); // Handle selection changes var prevtext = ''; function vaabSelectionChanged() { var sel = window.getSelection() || document.getSelection(); var text = sel.toString().trim(); if (!text) { $tooltip.css({ transform: 'scale(0)' }); prevtext = ''; return; } // Normalize text (same logic as before) text = text.replaceAll("‌", " ") .replaceAll("ّ", "") .replaceAll("َ", "") .replaceAll("ِ", "") .replaceAll("ُ", "") .replaceAll("ً", "") .replaceAll("ٍ", "") .replaceAll("ٌ", "") .replaceAll(".", "") .replaceAll("،", "") .replaceAll("!", "") .replaceAll("؟", "") .replaceAll("ٔ", "") .replaceAll(":", "") .replaceAll("ئ", "ی") .replaceAll("؛", "") .replaceAll(";", "") .replaceAll("*", "") .replaceAll(")", "") .replaceAll("(", "") .replaceAll("[", "") .replaceAll("]", "") .replaceAll("\"", "") .replaceAll("'", "") .replaceAll("«", "") .replaceAll("»", "") .replaceAll("ْ", ""); // Update tooltip links $meaning.attr({ href: 'https://ur.wiktionary.org/w/index.php?search=' + encodeURI(text), title: 'ویکی لغت میں معنی', target: '_blank', }); $search.attr({ href: text.indexOf(' ') == -1 ? '/search?s=' + encodeURI(text) : '/search?s="' + encodeURI(text) + '"', title: 'دیوان میں عبارت تلاش کریں', target: '_blank', }); $quran.attr({ href: 'https://tanzil.ir/#search/quran/' + encodeURI(text), title: 'قرآن میں عبارت تلاش کریں', target: '_blank', }); $vazn.attr({ href: 'http://sorud.info/?Text=' + encodeURI(text), title: 'عبارت کی بحر معلوم کریں', target: '_blank', }); $google.attr({ href: 'https://www.google.com/search?q=' + encodeURI(text), title: 'گوگل میں تلاش', target: '_blank', }); // Position tooltip near the selection var rect = sel.getRangeAt(0).getBoundingClientRect(); var tooltipWidth = $tooltip.outerWidth(); $tooltip.css({ transform: 'scale(1)', top: rect.bottom + window.scrollY + 10, // Place below the selection left: rect.left + (rect.width / 2) - (tooltipWidth / 2), // Center tooltip horizontally }); prevtext = text; } // Attach selection change listener document.addEventListener('selectionchange', vaabSelectionChanged);