diff --git a/app/components/admin/BookingRequests.js b/app/components/admin/BookingRequests.js index 87f017e..85459b4 100644 --- a/app/components/admin/BookingRequests.js +++ b/app/components/admin/BookingRequests.js @@ -16,7 +16,6 @@ import { Shield, Phone, Mail, - MessageCircle, ChevronDown, ChevronUp, FileText, @@ -419,84 +418,6 @@ const ReasonDialog = ({ isOpen, onClose, onConfirm, title, defaultReason = '' }) ); }; -const DepositCommentDialog = ({ - isOpen, - request, - isSubmitting, - onClose, - onConfirm, -}) => { - const [comment, setComment] = useState(''); - - useEffect(() => { - if (!isOpen) { - setComment(''); - } - }, [isOpen, request?.id]); - - if (!isOpen || !request) return null; - - return ( - - e.stopPropagation()} - > - - - - - تأكيد العربون - - يمكنك إضافة تعليق اختياري، أو ترك الحقل فارغاً ليتم إرسال null. - - - - - رقم الحجز: #{request.id} - العقار: {request.property} - المستأجر: {request.user} - - - setComment(e.target.value)} - placeholder="اكتب تعليقاً إذا أردت..." - className="w-full min-h-32 p-4 border rounded-xl resize-none focus:ring-2 focus:ring-indigo-500 focus:border-transparent" - disabled={isSubmitting} - /> - - - onConfirm(comment)} - disabled={isSubmitting} - className="flex-1 bg-indigo-600 text-white py-3 rounded-xl font-medium hover:bg-indigo-700 transition-colors disabled:opacity-60 disabled:cursor-wait flex items-center justify-center gap-2" - > - {isSubmitting ? : } - {isSubmitting ? 'جاري الإرسال...' : 'تأكيد الإرسال'} - - - إلغاء - - - - - ); -}; - const PDFExportButton = ({ request, onExportComplete }) => { const [isExporting, setIsExporting] = useState(false); @@ -1386,7 +1307,6 @@ export default function BookingRequests() { const [requests, setRequests] = useState([]); const [filter, setFilter] = useState('depositPaid'); const [detailsDialog, setDetailsDialog] = useState({ isOpen: false, request: null }); - const [depositDialog, setDepositDialog] = useState({ isOpen: false, request: null }); const [confirmingDepositId, setConfirmingDepositId] = useState(null); const [isLoading, setIsLoading] = useState(true); const [loadError, setLoadError] = useState(''); @@ -1444,16 +1364,7 @@ export default function BookingRequests() { loadReservations(); }, [loadReservations]); - const openDepositConfirmationDialog = (request) => { - setDepositDialog({ isOpen: true, request }); - }; - - const closeDepositConfirmationDialog = () => { - if (confirmingDepositId != null) return; - setDepositDialog({ isOpen: false, request: null }); - }; - - const handleDepositConfirmation = async (request, commentInput = null) => { + const handleDepositConfirmation = async (request) => { if (!AuthService.isAdmin()) { console.warn('[Admin] Deposit confirmation blocked: current user is not admin', { user: AuthService.getUser(), @@ -1483,9 +1394,9 @@ export default function BookingRequests() { const adminUser = AuthService.getUser(); const parsedAdminId = Number(adminUser?.id); const adminId = Number.isFinite(parsedAdminId) ? parsedAdminId : adminUser?.id; - const normalizedComment = - typeof commentInput === 'string' && commentInput.trim() - ? commentInput.trim() + const comment = + typeof request?.comment === 'string' && request.comment.trim() + ? request.comment.trim() : null; console.log('[Admin] Preparing admin confirm deposit request', { @@ -1498,7 +1409,7 @@ export default function BookingRequests() { payload: { reservationId, adminId, - comment: normalizedComment, + comment, }, }); @@ -1514,13 +1425,13 @@ export default function BookingRequests() { setConfirmingDepositId(request.id); try { - const result = await adminConfirmDeposit(reservationId, adminId, normalizedComment); + const result = await adminConfirmDeposit(reservationId, adminId, comment); console.log('[Admin] Deposit confirmation response', { requestId: request?.id, reservationId, adminId, - comment: normalizedComment, + comment, status: result?.status, ok: result?.ok, message: result?.message, @@ -1539,13 +1450,12 @@ export default function BookingRequests() { status: RESERVATION_STATUS.depositConfirmed, adminApproved: true, securityDepositPaid: true, - notes: normalizedComment || 'تم تأكيد العربون من قبل الإدارة', + notes: comment || 'تم تأكيد العربون من قبل الإدارة', } : req, ), ); - setDepositDialog({ isOpen: false, request: null }); toast.success('تم تأكيد العربون بنجاح'); } catch (err) { console.error('[Admin] Deposit confirmation failed:', err); @@ -1670,7 +1580,7 @@ export default function BookingRequests() { setDetailsDialog({ isOpen: true, request: selectedRequest })} confirmingDepositId={confirmingDepositId} /> @@ -1699,14 +1609,6 @@ export default function BookingRequests() { isOpen={detailsDialog.isOpen} onClose={() => setDetailsDialog({ isOpen: false, request: null })} /> - - handleDepositConfirmation(depositDialog.request, comment)} - /> ); }
- يمكنك إضافة تعليق اختياري، أو ترك الحقل فارغاً ليتم إرسال null. -