/* Add custom Js styles below */
document.addEventListener("DOMContentLoaded", () => {
const banner = document.querySelector(".container .banner--fixed");
if (!banner || banner.querySelector(".banner-overlay")) return;
const overlay = document.createElement("div");
overlay.className = "banner-overlay";
overlay.innerHTML = `
تسوق الآن
`;
banner.style.position = "relative";
banner.appendChild(overlay);
});
document.addEventListener("DOMContentLoaded", function () {
// ✅ 1. التحقق من الصفحة الرئيسية فقط
const isHome = document.body.classList.contains("home") || window.location.pathname === "/";
if (!isHome) return; // لو مش الصفحة الرئيسية، نخرج بدون تنفيذ أي حاجة
/* 2️⃣ تحميل خط Beiruti */
const fontLink = document.createElement("link");
fontLink.rel = "stylesheet";
fontLink.href =
"https://fonts.googleapis.com/css2?family=Beiruti:wght@300;400;600;700&display=swap";
document.head.appendChild(fontLink);
/* 3️⃣ أول سكشن البانر الرئيسي */
let firstBanner = document.querySelector("section.s-block");
if (firstBanner) {
let section = document.createElement("section");
section.className = "section-title";
let title = document.createElement("h2");
title.className = "main-title";
title.innerText = "تسوق على حسب اقسامنا";
/* 4️⃣ تطبيق الخط مباشرة */
title.style.fontFamily = "'Beiruti', sans-serif";
title.style.fontWeight = "700";
section.appendChild(title);
firstBanner.parentNode.insertBefore(section, firstBanner.nextSibling);
}
});
(function () {
// إنشاء البريلودر فورًا
const preloader = document.createElement("div");
preloader.id = "salla-preloader";
preloader.innerHTML = `
`;
document.documentElement.appendChild(preloader);
// إخفاؤه بعد اكتمال التحميل
const hidePreloader = () => {
preloader.classList.add("hidden");
setTimeout(() => preloader.remove(), 100); // إزالة العنصر بسرعة بعد الاختفاء
};
// أفضل توقيت لسلة
window.addEventListener("load", () => {
setTimeout(hidePreloader, 1000); // 1000ms = ثانية واحدة قبل الاختفاء
});
})();
document.addEventListener("DOMContentLoaded", function () {
const banners = document.querySelectorAll(
".s-block--banners .banner-entry"
);
banners.forEach((banner) => {
banner.addEventListener("touchstart", press, { passive: true });
banner.addEventListener("mousedown", press);
banner.addEventListener("touchend", release, { passive: true });
banner.addEventListener("mouseup", release);
banner.addEventListener("mouseleave", release);
function press() {
banner.style.transform = "scale(0.97)";
}
function release() {
banner.style.transform = "";
}
});
});
// اختيار div البانرات
const bannersGrid = document.querySelector('.grid.md\\:grid-cols-3');
if (bannersGrid) {
// CSS شامل للـ grid والنصوص والهافر
const style = document.createElement('style');
style.textContent = `
/* Grid Responsive */
.grid.md\\:grid-cols-3 {
display: grid !important;
gap: 10px !important;
}
/* الموبايل: 2 كروت */
@media (max-width: 767px) {
.grid.md\\:grid-cols-3 {
grid-template-columns: repeat(2, 1fr) !important;
}
}
/* الديسكتوب: 3 كروت */
@media (min-width: 768px) {
.grid.md\\:grid-cols-3 {
grid-template-columns: repeat(3, 1fr) !important;
gap: 8px !important;
}
}
/* كروت البانرات */
.banner-entry {
position: relative;
height: 200px;
background-size: cover;
background-position: center;
display: flex;
justify-content: center; /* تمركز أفقي للنص */
align-items: center; /* تمركز عمودي للنص */
text-decoration: none;
color: white;
overflow: hidden;
border-radius: 8px;
transition: transform 0.3s ease, filter 0.3s ease;
}
/* النصوص داخل الكروت */
.banner-entry__text {
position: relative;
z-index: 2;
text-align: center;
font-size: 1rem; /* مقاس موحد مناسب للجوال والديسكتوب */
font-weight: bold;
line-height: 1.2;
padding: 0 10px;
}
/* Overlay يختفي بشكل افتراضي */
.banner-entry::before {
content: "";
position: absolute;
top:0; left:0; right:0; bottom:0;
background: rgba(0,0,0,0); /* بدون غمامة افتراضية */
transition: background 0.3s ease, transform 0.3s ease;
z-index:1;
}
/* Hover / Active effect */
.banner-entry:hover::before,
.banner-entry:active::before {
background: rgba(0,0,0,0.2); /* الغمامة تظهر عند Hover/Click */
transform: scale(1.05); /* تكبير خفيف للبانر */
}
.banner-entry:hover,
.banner-entry:active {
transform: scale(1.03);
filter: brightness(1.2); /* الصورة تتوهج */
}
`;
document.head.appendChild(style);
}
const style = document.createElement('style');
style.textContent = `
/* الكارد الخارجي */
.s-products-slider-card .s-product-card-entry {
border: 1px solid rgba(0,0,0,0.1) !important;
border-radius: 12px !important;
overflow: hidden !important;
transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease !important;
position: relative !important;
background-color: #fff !important;
}
/* صورة الكارد */
.s-products-slider-card .s-product-card-image img {
width: 100% !important;
height: auto !important;
display: block !important;
transition: transform 0.4s ease, filter 0.4s ease !important;
}
/* نصوص المحتوى */
.s-products-slider-card .s-product-card-content {
padding: 10px 12px !important;
text-align: center !important;
}
.s-products-slider-card .s-product-card-content-title a {
color: #111 !important;
font-weight: 600 !important;
font-size: 0.95rem !important;
display: block !important;
margin-bottom: 5px !important;
transition: color 0.3s ease !important;
}
/* Hover effect */
.s-products-slider-card .s-product-card-entry:hover {
transform: translateY(-6px) !important;
box-shadow: 0 15px 25px rgba(0,0,0,0.2) !important;
border-color: rgba(0,0,0,0.3) !important;
}
.s-products-slider-card .s-product-card-entry:hover img {
transform: scale(1.07) !important;
filter: brightness(1.15) !important;
}
.s-products-slider-card .s-product-card-entry:hover .s-product-card-content-title a {
color: #000 !important;
}
/* زر الإضافة للسلة */
.s-products-slider-card .s-product-card-content-footer button:hover {
transform: scale(1.05) !important;
}
/* Promotion badge */
.s-products-slider-card .s-product-card-promotion-title {
position: absolute !important;
top: 8px !important;
left: 8px !important;
background: rgba(255,255,255,0.9) !important;
color: #111 !important;
font-size: 0.75rem !important;
font-weight: bold !important;
padding: 2px 6px !important;
border-radius: 4px !important;
z-index: 2 !important;
transition: background 0.3s ease, color 0.3s ease !important;
}
.s-products-slider-card .s-product-card-entry:hover .s-product-card-promotion-title {
background: #111 !important;
color: #fff !important;
}
`;
document.head.appendChild(style);
// 1️⃣ استبدال النص باللوجو
document.addEventListener("DOMContentLoaded", function() {
// حدد العنصر اللي فيه النص "JK"
const jkElement = document.querySelector('.store-footer__inner a.flex.items-center h3');
if (jkElement) {
// انشئ عنصر img جديد
const logo = document.createElement('img');
logo.src = "https://cdn.salla.sa/QRxGY/LgzcTMGnH3dwxzotaqEQQcplfNyjzUdxt6HXbeK8.png";
logo.alt = "JK Logo";
logo.classList.add("footer-logo");
// استبدل النص باللوجو
jkElement.parentNode.replaceChild(logo, jkElement);
// اضف كلاس للحركة المستمرة (اختياري)
logo.classList.add("float");
}
});
// إنشاء عنصر خاص بالواتساب باستخدام Shadow DOM
const whatsappWrapper = document.createElement('div');
whatsappWrapper.id = 'whatsapp-wrapper';
document.body.appendChild(whatsappWrapper);
// إنشاء Shadow DOM
const shadow = whatsappWrapper.attachShadow({ mode: 'open' });
// HTML و CSS داخل Shadow DOM
shadow.innerHTML = `
`;
// إضافة الحركة بعد تحميل الصفحة
const whatsappBtn = shadow.getElementById('whatsappBtn');
window.addEventListener('load', () => {
setTimeout(() => {
whatsappBtn.classList.add('show');
}, 500);
});
// إنشاء الحاوية الخاصة بالتساقط
const dropContainer = document.createElement("div");
dropContainer.id = "drop-container";
document.body.appendChild(dropContainer);
// عدد القطرات التي يتم إنشاؤها
const numberOfDrops = 60;
function createDrop() {
const drop = document.createElement("div");
drop.classList.add("drop");
// مكان البداية العشوائي
drop.style.left = Math.random() * 100 + "vw";
// مدة و تأخير الحركة
const duration = Math.random() * 5 + 3; // بين 3 و 8 ثواني
const delay = Math.random() * 5;
drop.style.animationDuration = `${duration}s`;
drop.style.animationDelay = `${delay}s`;
// إضافته للحاوية
dropContainer.appendChild(drop);
// إزالة العنصر بعد انتهاء الأنيميشن
setTimeout(() => {
drop.remove();
}, (duration + delay) * 1000);
}
// تكرار الإنشاء
setInterval(() => {
createDrop();
}, 200);