(() => {
"use strict";
// Config object with your details
const config = {
phoneNumber: "966596786123",
businessName: "إتش بي للتحف والهدايا",
welcomeMessage: "هلا بالغالي، كيف اقدر اساعدك اليوم",
description: "أي استفسار أو ملاحظة يمكنك التواصل معنا",
defaultMessage: "السلام عليكم، أريد الاستفسار عن: {URL} شكراً لمساعدتكم.",
buttonText: "ابدأ المحادثة الآن",
logoUrl: "https://i.ibb.co/YTccrLwG/logo2.jpg",
websiteUrl: "https://hb-gifts.com"
};
// Generate WhatsApp chat URL with encoded message
function generateWhatsAppURL() {
const currentUrl = window.location.href;
const message = config.defaultMessage.replace("{URL}", currentUrl);
return `https://wa.me/${config.phoneNumber}?text=${encodeURIComponent(message)}`;
}
// Create widget HTML and append to body
function createWidget() {
if (document.querySelector(".whatsapp-widget")) return;
const widget = document.createElement("div");
widget.className = "whatsapp-widget";
widget.innerHTML = `
`;
document.body.appendChild(widget);
// Elements
const toggleBtn = document.getElementById("whatsapp-toggle");
const popup = document.getElementById("whatsapp-popup");
const closeBtn = document.getElementById("whatsapp-close");
const chatBtn = document.getElementById("whatsapp-chat");
// Toggle popup visibility
toggleBtn.addEventListener("click", (e) => {
e.preventDefault();
popup.classList.toggle("show");
});
// Close popup on close button click
closeBtn.addEventListener("click", (e) => {
e.preventDefault();
popup.classList.remove("show");
});
// Open WhatsApp chat link
chatBtn.addEventListener("click", (e) => {
e.preventDefault();
const waUrl = generateWhatsAppURL();
window.open(waUrl, "_blank");
popup.classList.remove("show");
});
// Close popup if click outside the popup
document.addEventListener("click", (e) => {
if (!widget.contains(e.target)) {
popup.classList.remove("show");
}
});
// Prevent closing popup when clicking inside popup
popup.addEventListener("click", (e) => {
e.stopPropagation();
});
}
// Initialize widget on DOM ready
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", createWidget);
} else {
createWidget();
}
// Expose for debugging or future use
window.WhatsAppWidget = {
config,
init: createWidget,
generateURL: generateWhatsAppURL
};
})();