الداخلية تنفي شمول قائد شرطة ذي قار بإجراءات المساءلة والعدالة
✨ AI Summary
🔊 جاري الاستماع
البث المباشر العربية English کوردی Türkmenler الرئيسية أحدث الأخبار سياسية محلي أمن اقتصاد رياضة دولي تحقيقات وتقارير تقارير مصورة انفوغراف ثقافة وفن فيديو مقابلات مقالات منوعات الشخصيات كاركاتير البحث المتقدم الداخلية تنفي شمول قائد شرطة ذي قار بإجراءات المساءلة والعدالة time اليوم, 20:58 ص 100% فيسبوك تويتر لينكد إن واتساب إكس تيليجرام البريد الإلكتروني إغلاق انسخ الرابط موضوعات شائعة جاري التحميل...... انسخ الرابط document.addEventListener('DOMContentLoaded', function() { initTextSizeControls(); }); function initTextSizeControls() { const contentDiv = document.querySelector('.text_listen'); const decreaseBtn = document.getElementById('decrease-text-size'); const increaseBtn = document.getElementById('increase-text-size'); const resetBtn = document.getElementById('reset-text-size'); const resetText = resetBtn.querySelector('.reset-text'); const percentageText = resetBtn.querySelector('.percentage-text'); if (!contentDiv || !decreaseBtn || !increaseBtn || !resetBtn || !resetText || !percentageText) return; const originalFontSize = window.getComputedStyle(contentDiv).fontSize; const originalLineHeight = window.getComputedStyle(contentDiv).lineHeight; let currentSize = parseFloat(originalFontSize); contentDiv.setAttribute('data-original-size', currentSize); contentDiv.setAttribute('data-original-line-height', originalLineHeight === 'normal' ? '1.5' : parseFloat(originalLineHeight) / currentSize); // Add proper spacing to all paragraphs inside the content const paragraphs = contentDiv.querySelectorAll('p'); paragraphs.forEach(p => { if (!p.style.marginBottom) { p.style.marginBottom = '1em'; } }); const maxSizeMultiplier = 2.0; const minSizeMultiplier = 0.6; const showNotification = (message, type = 'warning') => { const existingNotifications = document.querySelectorAll('.text-size-notification'); existingNotifications.forEach(n => n.remove()); const notification = document.createElement('div'); notification.textContent = message; notification.className = `text-size-notification fixed top-5 right-5 px-4 py-3 rounded shadow-lg z-50 transition-all transform translate-y-0 opacity-0`; if (type === 'warning') { notification.classList.add('bg-yellow-100', 'border-l-4', 'border-yellow-500', 'text-yellow-700'); } else if (type === 'success') { notification.classList.add('bg-green-100', 'border-l-4', 'border-green-500', 'text-green-700'); } document.body.appendChild(notification); setTimeout(() => { notification.style.opacity = '1'; }, 10); setTimeout(() => { notification.style.opacity = '0'; notification.style.transform = 'translateY(-10px)'; setTimeout(() => { notification.remove(); }, 300); }, 2000); }; const updateSizeIndicator = (newSize) => { const originalSize = parseFloat(contentDiv.getAttribute('data-original-size')); const percentage = Math.round((newSize / originalSize) * 100); percentageText.textContent = `${percentage}%`; resetText.classList.add('hidden'); percentageText.classList.remove('hidden'); if (percentage >= 180) { resetBtn.classList.add('bg-red-600'); resetBtn.classList.remove('bg-[#04043a]', 'bg-yellow-600'); } else if (percentage >= 150 || percentage { resetText.classList.remove('hidden'); percentageText.classList.add('hidden'); resetBtn.classList.remove('bg-yellow-600', 'bg-red-600'); resetBtn.classList.add('bg-[#04043a]'); }, 1500); }; const addButtonFeedback = (button, isActive) => { if (isActive) { button.classList.add('ring-2', 'ring-blue-300'); } else { button.classList.remove('ring-2', 'ring-blue-300'); } }; // Apply font size with appropriate line height const applyFontSize = (size) => { const originalSize = parseFloat(contentDiv.getAttribute('data-original-size')); const lineHeightFactor = parseFloat(contentDiv.getAttribute('data-original-line-height')); // Set font size contentDiv.style.fontSize = `${size}px`; // Calculate and set proportional line height const adjustedLineHeight = Math.max(1.5, lineHeightFactor + ((size / originalSize - 1) * 0.5)); contentDiv.style.lineHeight = adjustedLineHeight.toFixed(2); // Add extra letter spacing for larger sizes to improve readability if (size > originalSize * 1.4) { contentDiv.style.letterSpacing = '0.01em'; contentDiv.style.wordSpacing = '0.05em'; } else { contentDiv.style.letterSpacing = 'normal'; contentDiv.style.wordSpacing = 'normal'; } }; increaseBtn.addEventListener('click', function() { currentSize = parseFloat(window.getComputedStyle(contentDiv).fontSize); const originalSize = parseFloat(contentDiv.getAttribute('data-original-size')); addButtonFeedback(this, true); setTimeout(() => addButtonFeedback(this, false), 300); if (currentSize >= originalSize * maxSizeMultiplier) { showNotification('', 'warning'); this.classList.add('animate-shake'); setTimeout(() => { this.classList.remove('animate-shake'); }, 500); return; } const newSize = currentSize * 1.1; applyFontSize(newSize); updateSizeIndicator(newSize); localStorage.setItem('article-font-size', newSize); }); decreaseBtn.addEventListener('click', function() { currentSize = parseFloat(window.getComputedStyle(contentDiv).fontSize); const originalSize = parseFloat(contentDiv.getAttribute('data-original-size')); addButtonFeedback(this, true); setTimeout(() => addButtonFeedback(this, false), 300); if (currentSize { this.classList.remove('animate-shake'); }, 500); return; } const newSize = currentSize * 0.9; applyFontSize(newSize); updateSizeIndicator(newSize); localStorage.setItem('article-font-size', newSize); }); resetBtn.addEventListener('click', function() { addButtonFeedback(this, true); setTimeout(() => addButtonFeedback(this, false), 300); const originalSize = parseFloat(contentDiv.getAttribute('data-original-size')); applyFontSize(originalSize); updateSizeIndicator(originalSize); showNotification('', 'success'); localStorage.removeItem('article-font-size'); }); const savedSize = localStorage.getItem('article-font-size'); if (savedSize) { const originalSize = parseFloat(contentDiv.getAttribute('data-original-size')); const parsedSavedSize = parseFloat(savedSize); if (parsedSavedSize > originalSize * maxSizeMultiplier) { applyFontSize(originalSize * maxSizeMultiplier); localStorage.setItem('article-font-size', originalSize * maxSizeMultiplier); updateSizeIndicator(originalSize * maxSizeMultiplier); } else if (parsedSavedSize < originalSize * minSizeMultiplier) { applyFontSize(originalSize * minSizeMultiplier); localStorage.setItem('article-font-size', originalSize * minSizeMultiplier); updateSizeIndicator(originalSize * minSizeMultiplier); } else { applyFontSize(parsedSavedSize); updateSizeIndicator(parsedSavedSize); } } } أهم الأخبار الأخبار الرائجة أحدث الأخبار جاري التحميل...... العودة للاعلى الأقسام سياسية محلي أمن اقتصاد رياضة دولي تحقيقات وتقارير تقارير مصورة انفوغراف ثقافة وفن فيديو مقابلات مقالات منوعات الشخصيات كاركاتير من نحن من نحن منصاتنا السياسة والخصوصية اتصل بنا تابعونا على مواقعنا تطبيق للموبايل Get it from Google Play Get it from App Store تابعونا على تطبيق نبض حقوق الطبع والنشر © 2009-2025 جميع الحقوق محفوظة eSITE Information Technology LLC