diff --git a/admin.html b/admin.html index 33dfd89..de3935d 100644 --- a/admin.html +++ b/admin.html @@ -67,6 +67,16 @@ + +
${url}
@@ -91,7 +99,7 @@ function extractYouTubeVideoId(url) { const patterns = [ /youtube\.com\/watch\?v=([^&]+)/, /youtu\.be\/([^?]+)/, - /youtube\.com\/embed\/([^?]+)/ + /youtube\.com\/embed\/([^?]+)/, ]; for (let pattern of patterns) { const match = url.match(pattern); @@ -102,127 +110,135 @@ function extractYouTubeVideoId(url) { // --- إضافة فيديو جديد --- async function addVideo() { - const url = document.getElementById('newVideoUrl').value.trim(); + const url = document.getElementById("newVideoUrl").value.trim(); if (!url) { - alert('الرجاء إدخال رابط الفيديو'); + alert("الرجاء إدخال رابط الفيديو"); return; } try { - const res = await fetch(API_BASE + '/settings'); + const res = await fetch(API_BASE + "/settings"); const data = await res.json(); const videos = data.videos || []; videos.push(url); - const updateRes = await fetch(API_BASE + '/settings', { - method: 'POST', + const updateRes = await fetch(API_BASE + "/settings", { + method: "POST", headers: { - 'Content-Type': 'application/json', - 'x-admin-password': sessionStorage.getItem('adminPass') || '' + "Content-Type": "application/json", + "x-admin-password": sessionStorage.getItem("adminPass") || "", }, - body: JSON.stringify({ videos }) + body: JSON.stringify({ videos }), }); if (updateRes.ok) { - document.getElementById('newVideoUrl').value = ''; + document.getElementById("newVideoUrl").value = ""; loadSettings(); // إعادة تحميل القائمة - alert('✅ تمت إضافة الفيديو بنجاح'); + alert("✅ تمت إضافة الفيديو بنجاح"); } else { - alert('❌ فشل إضافة الفيديو'); + alert("❌ فشل إضافة الفيديو"); } } catch (error) { console.error(error); - alert('❌ خطأ في الاتصال بالخادم'); + alert("❌ خطأ في الاتصال بالخادم"); } } // --- حذف فيديو --- async function deleteVideo(index) { - if (!confirm('هل أنت متأكد من حذف هذا الفيديو؟')) return; + if (!confirm("هل أنت متأكد من حذف هذا الفيديو؟")) return; try { - const res = await fetch(API_BASE + '/settings'); + const res = await fetch(API_BASE + "/settings"); const data = await res.json(); const videos = data.videos || []; videos.splice(index, 1); - const updateRes = await fetch(API_BASE + '/settings', { - method: 'POST', + const updateRes = await fetch(API_BASE + "/settings", { + method: "POST", headers: { - 'Content-Type': 'application/json', - 'x-admin-password': sessionStorage.getItem('adminPass') || '' + "Content-Type": "application/json", + "x-admin-password": sessionStorage.getItem("adminPass") || "", }, - body: JSON.stringify({ videos }) + body: JSON.stringify({ videos }), }); if (updateRes.ok) { loadSettings(); - alert('✅ تم الحذف'); + alert("✅ تم الحذف"); } else { - alert('❌ فشل الحذف'); + alert("❌ فشل الحذف"); } } catch (error) { console.error(error); - alert('❌ خطأ في الاتصال'); + alert("❌ خطأ في الاتصال"); } } // --- دوال تحديث الحقول الفردية --- async function updateWhatsApp() { - const value = document.getElementById('whatsappNumber').value.trim(); - await updateField('whatsappNumber', value); + const value = document.getElementById("whatsappNumber").value.trim(); + await updateField("whatsappNumber", value); } async function updateFacebook() { - const value = document.getElementById('facebookUrl').value.trim(); - await updateField('facebookUrl', value); + const value = document.getElementById("facebookUrl").value.trim(); + await updateField("facebookUrl", value); } async function updateInstagram() { - const value = document.getElementById('instagramUrl').value.trim(); - await updateField('instagramUrl', value); + const value = document.getElementById("instagramUrl").value.trim(); + await updateField("instagramUrl", value); +} +async function updateWhatsAppGroup() { + const value = document.getElementById("whatsappGroupUrl").value.trim(); + await updateField("whatsappGroupUrl", value); } async function updateAppStore() { - const value = document.getElementById('appStoreUrl').value.trim(); - await updateField('appStoreUrl', value); + const value = document.getElementById("appStoreUrl").value.trim(); + await updateField("appStoreUrl", value); } async function updateGooglePlay() { - const value = document.getElementById('googlePlayUrl').value.trim(); - await updateField('googlePlayUrl', value); + const value = document.getElementById("googlePlayUrl").value.trim(); + await updateField("googlePlayUrl", value); } async function updateApk() { - const value = document.getElementById('apkUrl').value.trim(); - await updateField('apkUrl', value); + const value = document.getElementById("apkUrl").value.trim(); + await updateField("apkUrl", value); } async function updateTelegramChatIds() { - const text = document.getElementById('telegramChatIds').value.trim(); - const ids = text.split('\n') - .map(line => line.trim()) - .filter(line => line !== ''); - await updateField('telegramChatIds', ids); + const text = document.getElementById("telegramChatIds").value.trim(); + const ids = text + .split("\n") + .map((line) => line.trim()) + .filter((line) => line !== ""); + await updateField("telegramChatIds", ids); } // دالة عامة لتحديث حقل واحد async function updateField(key, value) { - const password = document.getElementById('adminPassword').value || sessionStorage.getItem('adminPass') || ''; + const password = + document.getElementById("adminPassword").value || + sessionStorage.getItem("adminPass") || + ""; try { - const res = await fetch(API_BASE + '/settings', { - method: 'POST', + const res = await fetch(API_BASE + "/settings", { + method: "POST", headers: { - 'Content-Type': 'application/json', - 'x-admin-password': password + "Content-Type": "application/json", + "x-admin-password": password, }, - body: JSON.stringify({ [key]: value }) + body: JSON.stringify({ [key]: value }), }); if (res.ok) { - alert('✅ تم الحفظ بنجاح'); + alert("✅ تم الحفظ بنجاح"); } else { const err = await res.json(); - alert('❌ فشل الحفظ: ' + (err.message || 'خطأ غير معروف')); + alert("❌ فشل الحفظ: " + (err.message || "خطأ غير معروف")); } } catch (error) { console.error(error); - alert('❌ خطأ في الاتصال بالخادم'); + alert("❌ خطأ في الاتصال بالخادم"); } } @@ -237,4 +253,5 @@ window.updateInstagram = updateInstagram; window.updateAppStore = updateAppStore; window.updateGooglePlay = updateGooglePlay; window.updateApk = updateApk; -window.updateTelegramChatIds = updateTelegramChatIds; \ No newline at end of file +window.updateTelegramChatIds = updateTelegramChatIds; +window.updateWhatsAppGroup = updateWhatsAppGroup; diff --git a/index.html b/index.html index f802821..0822df9 100644 --- a/index.html +++ b/index.html @@ -1,9 +1,17 @@ + + + + + + + -الوجه الأمامي
+الوجه الأمامي للهوية
+ +الوجه الخلفي
+الوجه الخلفي للهوية
+ +