١
هذا الالتزام موجود في:
80
join.js
Normal file
80
join.js
Normal file
@@ -0,0 +1,80 @@
|
||||
/* ============================================
|
||||
join.js - طلباتك بلس - صفحة تسجيل السائق
|
||||
============================================ */
|
||||
|
||||
// --- إعدادات الـ Backend (تعمل محلياً وعلى الاستضافة) ---
|
||||
const _host = window.location.hostname;
|
||||
const _isLocal = _host === 'localhost' || _host === '127.0.0.1' || _host.startsWith('192.168.');
|
||||
const API_URL = _isLocal ? `http://${_host}:3000/api/join` : '/api/join';
|
||||
|
||||
const form = document.getElementById('driverForm');
|
||||
const btn = document.getElementById('submitBtn');
|
||||
const photoInput = document.getElementById('photoInput');
|
||||
|
||||
// --- عرض معاينة الصورة عند اختيارها ---
|
||||
photoInput.addEventListener('change', () => {
|
||||
const preview = document.getElementById('fileNamePreview');
|
||||
const previewContainer = document.getElementById('imagePreviewContainer');
|
||||
const imagePreview = document.getElementById('imagePreview');
|
||||
|
||||
const file = photoInput.files[0];
|
||||
if (file) {
|
||||
preview.innerText = file.name;
|
||||
const reader = new FileReader();
|
||||
reader.onload = (e) => {
|
||||
imagePreview.src = e.target.result;
|
||||
previewContainer.classList.remove('hidden');
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
} else {
|
||||
preview.innerText = '';
|
||||
previewContainer.classList.add('hidden');
|
||||
}
|
||||
});
|
||||
|
||||
// --- إرسال النموذج عبر Telegram Bot ---
|
||||
form.addEventListener('submit', async (e) => {
|
||||
e.preventDefault();
|
||||
btn.disabled = true;
|
||||
btn.innerText = 'جاري إرسال طلبك...';
|
||||
|
||||
const formData = new FormData(form);
|
||||
const photoFile = photoInput.files[0];
|
||||
|
||||
const message =
|
||||
`🚀 *طلب انضمام جديد (طلباتك بلس)* \n\n` +
|
||||
`👤 *الاسم:* ${formData.get('name')}\n` +
|
||||
`📱 *الجوال:* ${formData.get('phone')}\n` +
|
||||
`🆔 *الرقم الوطني:* ${formData.get('nationalId')}\n` +
|
||||
`📍 *العنوان:* ${formData.get('address')}\n` +
|
||||
`🛵 *نوع المركبة:* ${formData.get('vehicleType')}\n` +
|
||||
`🔢 *هل منمرة:* ${formData.get('isNumbered')}\n` +
|
||||
`📄 *رقم اللوحة:* ${formData.get('plateNumber') || 'لا يوجد'}\n` +
|
||||
`💡 *عمل سابقاً في التوصيل:* ${formData.get('previousExperience')}\n` +
|
||||
`🗺️ *خبرة بمناطق حلب:* ${formData.get('aleppKnowledge')}\n\n` +
|
||||
`✅ *موافق على الشروط والتأمين*`;
|
||||
|
||||
try {
|
||||
const backendFormData = new FormData();
|
||||
backendFormData.append('photo', photoFile);
|
||||
backendFormData.append('message', message);
|
||||
|
||||
const response = await fetch(API_URL, {
|
||||
method: 'POST',
|
||||
body: backendFormData
|
||||
});
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
if (result.ok) {
|
||||
window.location.href = 'success.html';
|
||||
} else {
|
||||
alert('حدث خطأ في الإرسال: ' + (result.description || 'فشل إرسال الطلب.'));
|
||||
}
|
||||
} catch (error) {
|
||||
alert('فشل الاتصال بالخادم.');
|
||||
} finally {
|
||||
btn.disabled = false;
|
||||
btn.innerText = 'إرسال طلب الانضمام';
|
||||
}
|
||||
});
|
||||
المرجع في مشكلة جديدة
حظر مستخدم