/** * @fileoverview Contacts Management Page DOM Layout Builder * @module ui/contacts-layout * @description بناء الهيكل البصري لقسم جهات الاتصال، فلاتر البحث، محدد النطاق الرقمي، ونوافذ الاستيراد والتصدير. */ (global => { 'use strict'; /** * كائن بناء الهيكل البصري لجهات الاتصال */ const ContactsLayoutBuilder = { /** * بناء وحقن واجهة قسم جهات الاتصال في الـ DOM * @returns {boolean} نجاح أو فشل البناء */ buildLayout: function() { if (typeof document === 'undefined') return false; const sidebar = document.getElementById('bmh59axx92'); const contentArea = document.getElementById('s7ihkirolg'); if (!contentArea) return false; // إضافة رابط التنقل في القائمة الجانبية إن لم يكن موجوداً if (sidebar && !sidebar.querySelector('[data-target="ny517knjde"]')) { const navItem = document.createElement('div'); navItem.className = 'f2rj8bz2yt'; navItem.setAttribute('data-target', 'ny517knjde'); navItem.setAttribute('id', 'k5qw55xfhm'); navItem.innerHTML = ' جهات الاتصال'; sidebar.appendChild(navItem); navItem.addEventListener('click', () => { window.location.hash = 'ny517knjde'; }); } const host = document.getElementById('fritree-dynamic-panes-host') || contentArea; let pane = document.getElementById('ny517knjde'); if (pane) { if (pane.parentElement !== host) { host.appendChild(pane); } return true; } pane = document.createElement('section'); pane.className = 'rjiai07g77'; pane.id = 'ny517knjde'; pane.innerHTML = `

إدارة جهات الاتصال وسجل العملاء

جهات الاتصال مرقمة تلقائياً بالتسلسل من 1 إلى آخر سجل لتسهيل التحديد بالنطاق الرقمي.

إجمالي العملاء 0
عملاء VIP والصفقات 0
الوسوم والتصنيفات 0
القائمة السوداء 0
الفلترة والبحث المتقدم: المحدد حالياً: 0
تحديد نطاق بالأرقام:
من:
إلى:
حدد البداية والنهاية للتحديد السريع
إجراءات المحدد:
إضافة عميل جديد
استيراد جهات الاتصال
اسحب وأفلت الملف هنا، أو اضغط لاختياره من جهازك يدعم ملفات: Google Contacts CSV, vCard (.vcf), وملفات CSV / TXT العادية.
تصدير جهات الاتصال
`; host.appendChild(pane); return true; } }; /** * تصدير وحدة بناء واجهة جهات الاتصال */ global.FritreeContactsLayout = ContactsLayoutBuilder; })(typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : this);