/* ========================================================= ROOFI ABAYA — MASTER CUSTOM JAVASCRIPT FOR SALLA Version: Unified / Organized Store: https://roofiabaya.com/ يحتوي على: 1) زر عروض اليوم الوطني 96 2) إصلاحات الجوال للتصنيفات والبنر 3) إصلاح عنوان أقسام المنتجات عند ظهور 000 IMPORTANT: - ضع الكود كما هو داخل خانة JavaScript المخصص في سلة. - لا تضف . ========================================================= */ (function () { "use strict"; var CONFIG = { nationalDay: { enabled: false, offerUrl: "https://roofiabaya.com/%D8%B9%D8%B1%D9%88%D8%B6-%D8%A7%D9%84%D9%8A%D9%88%D9%85-%D8%A7%D9%84%D9%88%D8%B7%D9%86%D9%8A-96/c473392056", number: "96", title: "عروض اليوم الوطني", subtitle: "اكتشفي العروض الآن" }, mobileCategories: { enabled: false, titleBannerLink: "/latest-products", maxMobileLinks: 7 }, productTitles: { enabled: true, cachePrefix: "roofi_section_title_" } }; function cleanText(value) { return String(value || "").replace(/\s+/g, " ").trim(); } function normalizeArabic(value) { return cleanText(value) .replace(/[أإآ]/g, "ا") .replace(/ى/g, "ي") .replace(/ة/g, "ه") .replace(/[\u064B-\u065F\u0670]/g, "") .toLowerCase(); } function onDomReady(callback) { if (document.readyState === "loading") { document.addEventListener("DOMContentLoaded", callback, { once: true }); } else { callback(); } } /* ===================================================== 01. زر عروض اليوم الوطني ===================================================== */ function createNationalDayOffer() { if (!CONFIG.nationalDay.enabled) return; if (document.getElementById("roofi-national-day-offer")) return; var offer = document.createElement("a"); offer.id = "roofi-national-day-offer"; offer.href = CONFIG.nationalDay.offerUrl; offer.setAttribute("aria-label", "استعرض عروض اليوم الوطني"); var icon = document.createElement("span"); icon.className = "roofi-national-icon"; var number = document.createElement("span"); number.className = "roofi-national-number"; number.textContent = CONFIG.nationalDay.number; icon.appendChild(number); var copy = document.createElement("span"); copy.className = "roofi-national-copy"; var title = document.createElement("span"); title.className = "roofi-national-title"; title.textContent = CONFIG.nationalDay.title; var subtitle = document.createElement("span"); subtitle.className = "roofi-national-subtitle"; subtitle.textContent = CONFIG.nationalDay.subtitle; copy.appendChild(title); copy.appendChild(subtitle); var arrow = document.createElement("span"); arrow.className = "roofi-national-arrow"; arrow.innerHTML = "‹"; offer.appendChild(icon); offer.appendChild(copy); offer.appendChild(arrow); document.body.appendChild(offer); } /* ===================================================== 02. إصلاحات التصنيفات والبنر على الجوال ===================================================== */ function markCategoryTitleBanner() { if (!CONFIG.mobileCategories.enabled) return null; var link = document.querySelector( 'section.s-block--fixed-banner a.banner--fixed[href*="' + CONFIG.mobileCategories.titleBannerLink + '"]' ); if (!link) { link = document.querySelector( '[data-testid="store-home-fixed-banner"] a[href*="' + CONFIG.mobileCategories.titleBannerLink + '"]' ); } if (!link) return null; var section = link.closest("section"); if (!section) return null; section.classList.add("roofi-category-title-banner"); return section; } function markCategoryCards(titleSection) { if (!CONFIG.mobileCategories.enabled || !titleSection) return; var candidates = document.querySelectorAll( '[data-testid="store-home-square-banners"], section.s-block--banners' ); for (var i = 0; i < candidates.length; i++) { var candidate = candidates[i]; var position = titleSection.compareDocumentPosition(candidate); if (position & Node.DOCUMENT_POSITION_FOLLOWING) { candidate.classList.add("roofi-category-cards-fix"); break; } } } function getMenuLinks() { var header = document.querySelector('[data-testid="store-header"]'); if (!header) return []; var menu = header.querySelector("custom-main-menu"); var anchors = []; if (menu) { var lightLinks = menu.querySelectorAll("a[href]"); anchors = anchors.concat(Array.prototype.slice.call(lightLinks)); } if (menu && menu.shadowRoot) { var shadowLinks = menu.shadowRoot.querySelectorAll("a[href]"); anchors = anchors.concat(Array.prototype.slice.call(shadowLinks)); } if (!anchors.length) { anchors = Array.prototype.slice.call(header.querySelectorAll("a[href]")); } return anchors; } function isUsefulMenuLink(anchor) { if (!anchor) return false; var text = cleanText(anchor.textContent); var href = anchor.getAttribute("href") || ""; if (!text || !href) return false; if (href === "#" || href.indexOf("javascript:") === 0) return false; var blockedTexts = [ "تسجيل الدخول", "حسابي", "السلة", "بحث", "تواصل", "سياسة", "الخصوصية", "الاسترجاع", "الشحن", "واتساب" ]; var normalized = normalizeArabic(text); for (var i = 0; i < blockedTexts.length; i++) { if (normalized.indexOf(normalizeArabic(blockedTexts[i])) !== -1) { return false; } } return true; } function getPreferredLinks() { var anchors = getMenuLinks(); var useful = []; var addedHrefs = {}; for (var i = 0; i < anchors.length; i++) { var anchor = anchors[i]; if (!isUsefulMenuLink(anchor)) continue; var href = anchor.href; if (addedHrefs[href]) continue; addedHrefs[href] = true; useful.push({ text: cleanText(anchor.textContent), href: href }); } var preferredNames = [ "الرئيسية", "جميع العبايات", "عبايات عملية", "عبايات رسمية", "عبايات صيفية", "وصل حديثا", "الاكثر مبيعا" ]; var preferred = []; preferredNames.forEach(function (wanted) { var normalizedWanted = normalizeArabic(wanted); for (var i = 0; i < useful.length; i++) { if ( normalizeArabic(useful[i].text).indexOf(normalizedWanted) !== -1 ) { if (preferred.indexOf(useful[i]) === -1) { preferred.push(useful[i]); } break; } } }); if (preferred.length >= 2) { return preferred.slice(0, CONFIG.mobileCategories.maxMobileLinks); } return useful.slice(0, CONFIG.mobileCategories.maxMobileLinks); } function createMobileCategoriesBar() { if (!CONFIG.mobileCategories.enabled) return; if (document.querySelector(".roofi-mobile-categories")) return; var mainNav = document.querySelector( '[data-testid="store-header"] #mainnav' ); if (!mainNav) return; var links = getPreferredLinks(); if (!links.length) return; var nav = document.createElement("nav"); nav.className = "roofi-mobile-categories"; nav.setAttribute("aria-label", "تصنيفات المتجر"); for (var i = 0; i < links.length; i++) { var item = document.createElement("a"); item.href = links[i].href; item.textContent = links[i].text; nav.appendChild(item); } mainNav.insertAdjacentElement("afterend", nav); } function runMobileCategoryFixes() { if (!CONFIG.mobileCategories.enabled) return; var categoryTitle = markCategoryTitleBanner(); markCategoryCards(categoryTitle); createMobileCategoriesBar(); } /* ===================================================== 03. إصلاح عناوين أقسام المنتجات عند ظهور 000 النسخة الأحدث المعتمدة ===================================================== */ var titleRepairRunning = false; var titleRepairTimer = null; var titleObserverStarted = false; function isBrokenProductTitle(value) { var text = cleanText(value).replace(/\s/g, ""); return (!text || /^0+$/.test(text) || text === "٠٠٠"); } function isGenericProductTitle(value) { var text = cleanText(value); if (!text) return true; var blocked = [ "عرض الكل", "عرض الجميع", "المزيد", "تسوق الآن", "تسوقي الآن", "000", "٠٠٠" ]; return blocked.indexOf(text) !== -1; } function getProductHeading(slider) { if (!slider) return null; var selectors = [ ".s-slider-block__title-right h2", ".s-slider-block__title h2", ".s-slider-block__title-nav h2" ]; for (var i = 0; i < selectors.length; i++) { var heading = slider.querySelector(selectors[i]); if (heading) return heading; } if (slider.shadowRoot) { for (var x = 0; x < selectors.length; x++) { var shadowHeading = slider.shadowRoot.querySelector(selectors[x]); if (shadowHeading) return shadowHeading; } } return null; } function getSliderURL(slider) { if (!slider) return ""; var possibleLinks = slider.querySelectorAll( ".s-slider-block__title-left a[href], " + ".s-slider-block__title a[href], " + "a[href*='/category/'], " + "a[href*='/tag-']" ); for (var i = 0; i < possibleLinks.length; i++) { var href = possibleLinks[i].getAttribute("href"); if (href) return href; } var attributes = slider.attributes; for (var x = 0; x < attributes.length; x++) { var value = attributes[x].value || ""; if ( value.indexOf("/category/") !== -1 || value.indexOf("/tag-") !== -1 ) { return value; } } var candidates = [ "source", "display-all-url", "url", "href", "link" ]; for (var y = 0; y < candidates.length; y++) { var attributeValue = slider.getAttribute(candidates[y]); if (attributeValue) return attributeValue; } return ""; } function normalizeStoreURL(url) { if (!url) return ""; try { var parsed = new URL(url, window.location.origin); return ( window.location.origin + parsed.pathname + parsed.search ); } catch (error) { return ""; } } function findTitleFromExistingLinks(url) { if (!url) return ""; var target; try { target = new URL(url, location.origin).pathname; } catch (error) { return ""; } var links = document.querySelectorAll("a[href]"); for (var i = 0; i < links.length; i++) { var link = links[i]; var href = link.getAttribute("href"); if (!href) continue; var path; try { path = new URL(href, location.origin).pathname; } catch (error) { continue; } if (path !== target) continue; var text = cleanText(link.textContent); if ( text && !isGenericProductTitle(text) && !isBrokenProductTitle(text) ) { return text; } } return ""; } function cleanPageTitle(text) { text = cleanText(text); if (!text) return ""; if (text.indexOf("|") !== -1) { text = text.split("|")[0].trim(); } text = text.replace(/\s*-\s*عبايات روفي.*$/i, ""); return cleanText(text); } async function fetchCategoryTitle(url) { url = normalizeStoreURL(url); if (!url) return ""; var cacheKey = CONFIG.productTitles.cachePrefix + encodeURIComponent(url); try { var cached = sessionStorage.getItem(cacheKey); if (cached && !isBrokenProductTitle(cached)) { return cached; } } catch (error) {} try { var response = await fetch(url, { method: "GET", credentials: "same-origin" }); if (!response.ok) return ""; var html = await response.text(); var parser = new DOMParser(); var page = parser.parseFromString(html, "text/html"); var title = ""; var h1 = page.querySelector("h1"); if (h1) { title = cleanText(h1.textContent); } if (!title || isBrokenProductTitle(title)) { var og = page.querySelector('meta[property="og:title"]'); if (og) { title = cleanPageTitle(og.getAttribute("content")); } } if (!title || isBrokenProductTitle(title)) { title = cleanPageTitle(page.title); } if ( title && !isGenericProductTitle(title) && !isBrokenProductTitle(title) ) { try { sessionStorage.setItem(cacheKey, title); } catch (error) {} return title; } } catch (error) { console.warn("Roofi title fetch failed:", error); } return ""; } function applyProductTitle(slider, heading, title) { title = cleanText(title); if ( !title || isBrokenProductTitle(title) || isGenericProductTitle(title) ) { return false; } heading.textContent = title; slider.setAttribute("block-title", title); try { if ("blockTitle" in slider) { slider.blockTitle = title; } } catch (error) {} slider.dataset.roofiCorrectTitle = title; return true; } async function repairProductSliderTitle(slider) { if (!slider) return; var heading = getProductHeading(slider); if (!heading) return; if (!isBrokenProductTitle(heading.textContent)) { slider.dataset.roofiCorrectTitle = cleanText(heading.textContent); return; } var saved = slider.dataset.roofiCorrectTitle; if (saved && !isBrokenProductTitle(saved)) { applyProductTitle(slider, heading, saved); return; } var attributeTitle = slider.getAttribute("block-title"); if ( attributeTitle && !isBrokenProductTitle(attributeTitle) ) { applyProductTitle(slider, heading, attributeTitle); return; } var url = getSliderURL(slider); if (!url) { console.warn("Roofi: category URL not found", slider); return; } var localTitle = findTitleFromExistingLinks(url); if (localTitle) { applyProductTitle(slider, heading, localTitle); return; } var fetchedTitle = await fetchCategoryTitle(url); if (fetchedTitle) { applyProductTitle(slider, heading, fetchedTitle); } } async function repairAllProductTitles() { if ( !CONFIG.productTitles.enabled || titleRepairRunning ) { return; } titleRepairRunning = true; try { var sliders = document.querySelectorAll( "salla-products-slider" ); for (var i = 0; i < sliders.length; i++) { await repairProductSliderTitle(sliders[i]); } } finally { titleRepairRunning = false; } } function scheduleProductTitleRepair() { clearTimeout(titleRepairTimer); titleRepairTimer = setTimeout( repairAllProductTitles, 120 ); } function startProductTitleObserver() { if ( !CONFIG.productTitles.enabled || titleObserverStarted || !document.body ) { return; } titleObserverStarted = true; var observer = new MutationObserver(function (mutations) { for (var i = 0; i < mutations.length; i++) { var target = mutations[i].target; var element = target.nodeType === 1 ? target : target.parentElement; if ( element && ( ( element.closest && element.closest("salla-products-slider") ) || ( element.matches && element.matches("salla-products-slider") ) ) ) { scheduleProductTitleRepair(); return; } } }); observer.observe(document.body, { childList: true, subtree: true, characterData: true }); } /* ===================================================== 04. التشغيل الموحد ===================================================== */ function runRoofiCustomizations() { createNationalDayOffer(); runMobileCategoryFixes(); repairAllProductTitles(); startProductTitleObserver(); } onDomReady(function () { runRoofiCustomizations(); setTimeout(runMobileCategoryFixes, 500); setTimeout(runMobileCategoryFixes, 1300); setTimeout(scheduleProductTitleRepair, 500); setTimeout(scheduleProductTitleRepair, 1200); setTimeout(scheduleProductTitleRepair, 2500); }); if ( window.Salla && typeof Salla.onReady === "function" ) { Salla.onReady(function () { runRoofiCustomizations(); }); } })(); /* ===================================================== ROOFI - NATIONAL DAY MOVING TOP BAR ===================================================== */ (function () { "use strict"; function createRoofiTopTicker() { /* منع التكرار */ if ( document.getElementById( "roofi-top-ticker" ) ) { return; } var header = document.querySelector( '[data-testid="store-header"]' ); if (!header) { return; } /* الحاوية */ var ticker = document.createElement("div"); ticker.id = "roofi-top-ticker"; ticker.setAttribute( "aria-label", "عروض وخدمات روفي" ); /* المسار */ var track = document.createElement("div"); track.className = "roofi-ticker-track"; /* إنشاء مجموعة */ function createGroup(hidden) { var group = document.createElement("div"); group.className = "roofi-ticker-group"; if (hidden) { group.setAttribute( "aria-hidden", "true" ); } /* ============================== رسالة 1 ============================== */ var item1 = document.createElement("div"); item1.className = "roofi-ticker-item"; item1.innerHTML = 'انتهز أفضل العروض والأسعار'; /* الفاصل */ var separator1 = document.createElement("span"); separator1.className = "roofi-ticker-separator"; /* ============================== رسالة 2 ============================== */ var item2 = document.createElement("div"); item2.className = "roofi-ticker-item"; item2.innerHTML = 'مع خدمات تفصيل حسب الطلب'; /* الفاصل */ var separator2 = document.createElement("span"); separator2.className = "roofi-ticker-separator"; /* ============================== رسالة 3 ============================== */ var item3 = document.createElement("div"); item3.className = "roofi-ticker-item"; item3.textContent = "عبايات روفي"; /* الفاصل الأخير */ var separator3 = document.createElement("span"); separator3.className = "roofi-ticker-separator"; group.appendChild(item1); group.appendChild(separator1); group.appendChild(item2); group.appendChild(separator2); group.appendChild(item3); group.appendChild(separator3); return group; } /* * مجموعتان متطابقتان * للحصول على Loop بدون أي قطع أو قفزة */ track.appendChild( createGroup(false) ); track.appendChild( createGroup(true) ); ticker.appendChild(track); /* * وضع الشريط فوق الهيدر مباشرة */ header.parentNode.insertBefore( ticker, header ); } /* تشغيل عادي */ if ( document.readyState === "loading" ) { document.addEventListener( "DOMContentLoaded", createRoofiTopTicker, { once: true } ); } else { createRoofiTopTicker(); } /* دعم Salla */ if ( window.Salla && typeof Salla.onReady === "function" ) { Salla.onReady(function () { createRoofiTopTicker(); }); } })(); /* ========================================================= ROOFI — PRODUCT GALLERY ANTI-FLASH ONLY إصلاح معزول لمعرض صور صفحة المنتج فقط ========================================================= */ (function () { "use strict"; var GALLERY_SELECTOR = 'salla-slider[data-testid="store-product-image-slider"]'; var pageObserver = null; var stopObserverTimer = null; function getMainImage(slider) { if (!slider) { return null; } return ( slider.querySelector('div[slot="items"] img') || slider.querySelector("img") || null ); } function waitForImage(image) { return new Promise(function (resolve) { if (!image) { resolve(); return; } if ( image.complete && image.naturalWidth > 0 ) { if ( typeof image.decode === "function" ) { image.decode() .catch(function () {}) .then(resolve); } else { resolve(); } return; } var finished = false; function finish() { if (finished) { return; } finished = true; resolve(); } image.addEventListener( "load", finish, { once: true } ); image.addEventListener( "error", finish, { once: true } ); setTimeout( finish, 1400 ); }); } function bindGallery(slider) { if (!slider) { return; } if ( slider.dataset .roofiAntiFlashBound === "1" ) { return; } slider.dataset .roofiAntiFlashBound = "1"; var revealed = false; var revealTimer = null; var galleryObserver = null; var shadowObserver = null; function revealGallery() { if (revealed) { return; } var image = getMainImage(slider); waitForImage(image) .then(function () { if (revealed) { return; } requestAnimationFrame( function () { requestAnimationFrame( function () { if (revealed) { return; } revealed = true; slider.classList.add( "roofi-gallery-ready" ); if ( galleryObserver ) { galleryObserver .disconnect(); } if ( shadowObserver ) { shadowObserver .disconnect(); } } ); } ); }); } function scheduleReveal(delay) { if (revealed) { return; } clearTimeout( revealTimer ); revealTimer = setTimeout( revealGallery, typeof delay === "number" ? delay : 220 ); } slider.addEventListener( "afterInit", function () { scheduleReveal(220); }, { once: true } ); galleryObserver = new MutationObserver( function () { scheduleReveal(220); } ); try { galleryObserver.observe( slider, { childList: true, subtree: true } ); } catch (error) {} if (slider.shadowRoot) { shadowObserver = new MutationObserver( function () { scheduleReveal(220); } ); try { shadowObserver.observe( slider.shadowRoot, { childList: true, subtree: true } ); } catch (error) {} } scheduleReveal(500); setTimeout( revealGallery, 1800 ); } function findAndBindGallery() { var slider = document.querySelector( GALLERY_SELECTOR ); if (!slider) { return false; } bindGallery(slider); return true; } function startAntiFlash() { if ( findAndBindGallery() ) { return; } if ( !document.body || pageObserver ) { return; } pageObserver = new MutationObserver( function (mutations) { for ( var i = 0; i < mutations.length; i++ ) { var addedNodes = mutations[i] .addedNodes; for ( var j = 0; j < addedNodes.length; j++ ) { var node = addedNodes[j]; if ( !node || node.nodeType !== 1 ) { continue; } var slider = null; if ( node.matches && node.matches( GALLERY_SELECTOR ) ) { slider = node; } else if ( node.querySelector ) { slider = node.querySelector( GALLERY_SELECTOR ); } if (slider) { bindGallery( slider ); if ( pageObserver ) { pageObserver .disconnect(); pageObserver = null; } clearTimeout( stopObserverTimer ); return; } } } } ); pageObserver.observe( document.body, { childList: true, subtree: true } ); stopObserverTimer = setTimeout( function () { if ( pageObserver ) { pageObserver .disconnect(); pageObserver = null; } }, 5000 ); } if ( document.readyState === "loading" ) { document.addEventListener( "DOMContentLoaded", startAntiFlash, { once: true } ); } else { startAntiFlash(); } if ( window.Salla && typeof Salla.onReady === "function" ) { Salla.onReady( function () { findAndBindGallery(); } ); } })(); /* ========================================================= ROOFI - CONTACT PAYMENT METHODS V2 - يأخذ وسائل الدفع تلقائيًا من Salla - يعرض اللوجوهات في صف أفقي - لا يعدل salla-payments الأصلي - لا يؤثر على أي جزء آخر في الموقع ========================================================= */ (function () { "use strict"; const BLOCK_ID = "roofi-contact-payments"; const OLD_BLOCK_ID = "roofi-footer-payments"; /* ===================================================== Helpers ===================================================== */ function cleanText(text) { return (text || "") .replace(/\s+/g, " ") .trim(); } function getFooter() { return ( document.querySelector("footer") || document.querySelector("[data-testid='store-footer']") || document.querySelector(".store-footer") ); } /* ===================================================== حذف نسخ الدفع القديمة الخاصة بنا فقط ===================================================== */ function cleanupOldBlocks() { const oldBlock = document.getElementById(OLD_BLOCK_ID); if (oldBlock) { oldBlock.remove(); } /* * لا نحذف النسخة الجديدة لو كانت موجودة. */ } /* ===================================================== العثور على "تواصل معنا" ===================================================== */ function findContactTitle(footer) { const elements = footer.querySelectorAll( "h2,h3,h4,h5,h6,p,span,strong,div" ); for (const element of elements) { const text = cleanText(element.textContent); if ( text === "تواصل معنا" || text === "تواصل معنا:" ) { return element; } } return null; } /* ===================================================== تحديد عمود تواصل معنا ===================================================== */ function findContactColumn( footer, contactTitle ) { let node = contactTitle.parentElement; while ( node && node !== footer ) { const text = cleanText(node.textContent); const contactLinks = node.querySelectorAll( 'a[href^="tel:"],' + 'a[href^="mailto:"],' + 'a[href*="whatsapp"],' + 'a[href*="wa.me"]' ); if ( text.includes("تواصل معنا") && ( contactLinks.length > 0 || text.includes("+966") || /05\d{7,}/.test(text) ) ) { return node; } node = node.parentElement; } return null; } /* ===================================================== استخراج صور وسائل الدفع سواء كانت داخل Shadow DOM أو DOM عادي ===================================================== */ function getPaymentImages(source) { const result = []; const roots = [ source ]; if (source.shadowRoot) { roots.push( source.shadowRoot ); } roots.forEach(function (root) { const images = root.querySelectorAll( "img" ); images.forEach(function (img) { const src = img.currentSrc || img.src || img.getAttribute("src"); if (!src) { return; } /* * منع تكرار نفس اللوجو */ const exists = result.some(function (item) { return item.src === src; }); if (!exists) { result.push({ src: src, alt: img.alt || img.getAttribute("aria-label") || "وسيلة دفع" }); } }); }); return result; } /* ===================================================== رسم اللوجوهات في صفنا الخاص ===================================================== */ function renderLogos( wrapper, images ) { const logosContainer = wrapper.querySelector( ".roofi-payments-logos" ); const loading = wrapper.querySelector( ".roofi-payments-loading" ); if ( !logosContainer || images.length === 0 ) { return false; } logosContainer.innerHTML = ""; images.forEach(function (payment) { const logoBox = document.createElement("div"); logoBox.className = "roofi-payment-logo"; const image = document.createElement("img"); image.src = payment.src; image.alt = payment.alt; image.loading = "lazy"; image.decoding = "async"; logoBox.appendChild( image ); logosContainer.appendChild( logoBox ); }); if (loading) { loading.remove(); } return true; } /* ===================================================== جلب وسائل الدفع من Salla ===================================================== */ function loadSallaPayments( wrapper ) { const source = wrapper.querySelector( ".roofi-salla-payment-source" ); if (!source) { return; } let tries = 0; const timer = setInterval(function () { tries++; const images = getPaymentImages( source ); if ( images.length > 0 ) { renderLogos( wrapper, images ); clearInterval( timer ); /* * بعد أخذ الصور * لا نحتاج المكون المخفي */ setTimeout(function () { if ( source && source.parentNode ) { source.remove(); } }, 500); return; } /* * توقف بعد حوالي 6 ثوانٍ */ if ( tries >= 30 ) { clearInterval( timer ); } }, 200); } /* ===================================================== إنشاء البلوك ===================================================== */ function createPaymentBlock() { cleanupOldBlocks(); if ( document.getElementById( BLOCK_ID ) ) { return true; } const footer = getFooter(); if (!footer) { return false; } const contactTitle = findContactTitle( footer ); if (!contactTitle) { return false; } const contactColumn = findContactColumn( footer, contactTitle ); /* * لو مش متأكدين من العمود * لا نضيف حاجة في أي مكان عشوائي */ if (!contactColumn) { return false; } const wrapper = document.createElement( "div" ); wrapper.id = BLOCK_ID; wrapper.setAttribute( "aria-label", "وسائل الدفع" ); wrapper.innerHTML = `
تجهيز الطلب من 3 إلى 5 أيام، وقد يصل إلى 10 أيام بحسب ضغط الطلبات. يستغرق الشحن داخل المملكة من يومين إلى 3 أيام بعد تسليم الطلب لشركة الشحن. تتحمل العميلة رسوم الشحن وفق أسعار شركات الشحن المعتمدة. تفاصيل الشحن والتوصيل
راجعي جدول المقاسات وقارني القياسات قبل اختيار العباية. ويسعد فريق خدمة العملاء بمساعدتك إذا احتجتِ إلى توضيح.
يسعدنا مساعدتك عبر واتساب خدمة العملاء أو بالاتصال على +966 53 585 9974.
مبلغ الحجز 100 ريال يُخصم من القيمة النهائية للطلب. يُعاد المبلغ في حال عدم الاتفاق، أو عند إلغاء الطلب خلال 24 ساعة من إتمامه. يمكن طلب التعديل أو الإلغاء خلال 24 ساعة من إتمام الطلب عبر خدمة العملاء.
";grid.append(d);}}if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",add,{once:true});else add();})();