compressImage
هذا الالتزام موجود في:
140
join.html
140
join.html
@@ -1,6 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ar" dir="rtl">
|
||||
<head>
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" type="image/webp" href="/logos/logos_webp/logo_main.webp">
|
||||
<link rel="apple-touch-icon" href="/logos/logos_webp/logo_main.webp">
|
||||
|
||||
<!-- للوغو في نتائج غوغل -->
|
||||
<link rel="shortcut icon" href="/logos/logos_webp/logo_main.webp">
|
||||
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>تسجيل سائق جديد - انضم لفريق طلباتك بلس</title>
|
||||
@@ -67,7 +74,15 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- العمر + نوع المركبة -->
|
||||
<div class="grid md:grid-cols-2 gap-6">
|
||||
<div class="space-y-2">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">العمر</label>
|
||||
<input type="number" name="age" placeholder="مثال: 25"
|
||||
min="18" max="60" required
|
||||
oninput="this.value = this.value.replace(/[^0-9]/g, '')"
|
||||
class="w-full px-5 py-4 bg-zinc-50 border border-zinc-200 rounded-2xl transition-all text-left" dir="ltr">
|
||||
</div>
|
||||
<div class="space-y-2">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">نوع المركبة</label>
|
||||
<select name="vehicleType" required class="w-full px-5 py-4 bg-zinc-50 border border-zinc-200 rounded-2xl appearance-none transition-all cursor-pointer">
|
||||
@@ -77,6 +92,9 @@
|
||||
<option value="دراجة كهربائية">دراجة كهربائية</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid md:grid-cols-2 gap-6">
|
||||
<div class="space-y-2">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">هل المركبة منمرة؟</label>
|
||||
<select name="isNumbered" required class="w-full px-5 py-4 bg-zinc-50 border border-zinc-200 rounded-2xl appearance-none transition-all cursor-pointer">
|
||||
@@ -84,21 +102,19 @@
|
||||
<option value="لا">لا</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid md:grid-cols-2 gap-6">
|
||||
<div class="space-y-2">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">رقم اللوحة (إن وجد)</label>
|
||||
<input type="text" name="plateNumber" placeholder="رقم اللوحة..."
|
||||
class="w-full px-5 py-4 bg-zinc-50 border border-zinc-200 rounded-2xl transition-all">
|
||||
</div>
|
||||
<div class="space-y-2">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">هل عملت سابقاً في التوصيل؟</label>
|
||||
<select name="previousExperience" required class="w-full px-5 py-4 bg-zinc-50 border border-zinc-200 rounded-2xl appearance-none transition-all cursor-pointer">
|
||||
<option value="نعم">نعم</option>
|
||||
<option value="لا">لا</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="space-y-2">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">هل عملت سابقاً في التوصيل؟</label>
|
||||
<select name="previousExperience" required class="w-full px-5 py-4 bg-zinc-50 border border-zinc-200 rounded-2xl appearance-none transition-all cursor-pointer">
|
||||
<option value="نعم">نعم</option>
|
||||
<option value="لا">لا</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- هل لديك خبرة بمناطق حلب؟ -->
|
||||
@@ -116,7 +132,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- رفع الصورة -->
|
||||
<!-- رفع الصورة الشخصية -->
|
||||
<div class="space-y-2">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">الصورة الشخصية</label>
|
||||
<div class="relative group">
|
||||
@@ -136,6 +152,52 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- صور الهوية -->
|
||||
<div class="space-y-3">
|
||||
<label class="text-sm font-bold text-zinc-700 mr-2">صور الهوية الشخصية</label>
|
||||
<div class="grid md:grid-cols-2 gap-4">
|
||||
|
||||
<!-- الوجه الأمامي -->
|
||||
<div class="space-y-2">
|
||||
<p class="text-xs text-zinc-500 font-medium mr-1">الوجه الأمامي</p>
|
||||
<div class="relative group">
|
||||
<input type="file" name="idFront" id="idFrontInput" accept="image/*" required
|
||||
class="absolute inset-0 w-full h-full opacity-0 cursor-pointer z-10">
|
||||
<div class="w-full px-4 py-6 border-2 border-dashed border-zinc-200 rounded-2xl bg-zinc-50 text-center group-hover:border-[#ff661c] transition-all">
|
||||
<svg class="mx-auto h-8 w-8 text-zinc-400 mb-2 group-hover:text-[#ff661c]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V8a2 2 0 00-2-2h-5m-4 0V5a2 2 0 114 0v1m-4 0a2 2 0 104 0m-5 8a2 2 0 100-4 2 2 0 000 4zm0 0c1.306 0 2.417.835 2.83 2M9 14a3.001 3.001 0 00-2.83 2" />
|
||||
</svg>
|
||||
<p class="text-zinc-500 text-sm">الوجه الأمامي للهوية</p>
|
||||
<div id="idFrontPreviewContainer" class="mt-3 hidden">
|
||||
<img id="idFrontPreview" src="" alt="معاينة" class="mx-auto h-24 w-full object-cover rounded-xl border-2 border-[#ff661c] shadow-sm">
|
||||
<p id="idFrontFileName" class="text-[#ff661c] mt-1 font-bold text-xs truncate"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- الوجه الخلفي -->
|
||||
<div class="space-y-2">
|
||||
<p class="text-xs text-zinc-500 font-medium mr-1">الوجه الخلفي</p>
|
||||
<div class="relative group">
|
||||
<input type="file" name="idBack" id="idBackInput" accept="image/*" required
|
||||
class="absolute inset-0 w-full h-full opacity-0 cursor-pointer z-10">
|
||||
<div class="w-full px-4 py-6 border-2 border-dashed border-zinc-200 rounded-2xl bg-zinc-50 text-center group-hover:border-[#ff661c] transition-all">
|
||||
<svg class="mx-auto h-8 w-8 text-zinc-400 mb-2 group-hover:text-[#ff661c]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 6H5a2 2 0 00-2 2v9a2 2 0 002 2h14a2 2 0 002-2V8a2 2 0 00-2-2h-5m-4 0V5a2 2 0 114 0v1m-4 0a2 2 0 104 0m-5 8a2 2 0 100-4 2 2 0 000 4zm0 0c1.306 0 2.417.835 2.83 2M9 14a3.001 3.001 0 00-2.83 2" />
|
||||
</svg>
|
||||
<p class="text-zinc-500 text-sm">الوجه الخلفي للهوية</p>
|
||||
<div id="idBackPreviewContainer" class="mt-3 hidden">
|
||||
<img id="idBackPreview" src="" alt="معاينة" class="mx-auto h-24 w-full object-cover rounded-xl border-2 border-[#ff661c] shadow-sm">
|
||||
<p id="idBackFileName" class="text-[#ff661c] mt-1 font-bold text-xs truncate"></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- تأكيد التأمين -->
|
||||
<label class="flex items-start gap-3 cursor-pointer group">
|
||||
<div class="relative mt-1">
|
||||
@@ -190,15 +252,71 @@
|
||||
<!-- JavaScript خارجي -->
|
||||
<script src="join.js"></script>
|
||||
<script>
|
||||
// معاينة صورة الهوية الأمامية
|
||||
document.getElementById('idFrontInput').addEventListener('change', function() {
|
||||
const file = this.files[0];
|
||||
if (file) {
|
||||
const reader = new FileReader();
|
||||
reader.onload = (e) => {
|
||||
document.getElementById('idFrontPreview').src = e.target.result;
|
||||
document.getElementById('idFrontPreviewContainer').classList.remove('hidden');
|
||||
document.getElementById('idFrontFileName').textContent = file.name;
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
});
|
||||
|
||||
// معاينة صورة الهوية الخلفية
|
||||
document.getElementById('idBackInput').addEventListener('change', function() {
|
||||
const file = this.files[0];
|
||||
if (file) {
|
||||
const reader = new FileReader();
|
||||
reader.onload = (e) => {
|
||||
document.getElementById('idBackPreview').src = e.target.result;
|
||||
document.getElementById('idBackPreviewContainer').classList.remove('hidden');
|
||||
document.getElementById('idBackFileName').textContent = file.name;
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
});
|
||||
|
||||
(async () => {
|
||||
try {
|
||||
const res = await fetch('/api/settings');
|
||||
const s = await res.json();
|
||||
if (s.whatsappGroupUrl) document.getElementById('whatsappGroupBtn').href = s.whatsappGroupUrl;
|
||||
if (s.facebookUrl) document.getElementById('joinFacebook').href = s.facebookUrl;
|
||||
if (s.instagramUrl) document.getElementById('joinInstagram').href = s.instagramUrl;
|
||||
if (s.whatsappNumber) document.getElementById('joinWhatsapp').href = 'https://wa.me/' + s.whatsappNumber;
|
||||
} catch(e) {}
|
||||
})();
|
||||
</script>
|
||||
<!-- زر مجموعة واتساب -->
|
||||
<a id="whatsappGroupBtn" href="#" target="_blank" rel="noopener noreferrer"
|
||||
style="position:fixed; bottom:24px; left:24px; z-index:9999;
|
||||
background:#25D366; color:white; border-radius:50px;
|
||||
padding:14px 22px; font-weight:bold; font-size:16px;
|
||||
box-shadow:0 4px 15px rgba(0,0,0,0.3); text-decoration:none;
|
||||
display:flex; align-items:center; gap:8px;">
|
||||
<svg width="22" height="22" fill="white" viewBox="0 0 24 24">
|
||||
<path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15
|
||||
-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075
|
||||
-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059
|
||||
-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52
|
||||
.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52
|
||||
-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51
|
||||
-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372
|
||||
-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074
|
||||
.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625
|
||||
.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413
|
||||
.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347z"/>
|
||||
<path d="M12 0C5.373 0 0 5.373 0 12c0 2.123.553 4.116 1.522 5.847L.057 23.882
|
||||
a.75.75 0 00.921.921l6.035-1.465A11.945 11.945 0 0012 24c6.627 0 12-5.373
|
||||
12-12S18.627 0 12 0zm0 21.9a9.877 9.877 0 01-5.031-1.378l-.36-.214
|
||||
-3.733.906.922-3.595-.235-.372A9.9 9.9 0 012.1 12C2.1 6.533 6.533 2.1
|
||||
12 2.1c5.467 0 9.9 4.433 9.9 9.9 0 5.467-4.433 9.9-9.9 9.9z"/>
|
||||
</svg>
|
||||
انضم لقناتنا
|
||||
</a>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم