e.stopPropagation()}
style={{ maxWidth: 640, margin: 'auto', maxHeight: '80vh', display: 'flex', flexDirection: 'column' }}>
{queue.name}
Temsilci Yönetimi
{/* Tab switcher + Search */}
{[
{ key: 'members', label: `Atanmış (${(agents || []).length})` },
{ key: 'add', label: `Ekle (${availableAgents.length})` },
].map(t => (
))}
setSearch(e.target.value)}
style={{
width: '100%', padding: '8px 12px', borderRadius: 6,
border: '1px solid var(--border)', background: 'var(--surface2)',
fontSize: 13, color: 'var(--text)', outline: 'none', boxSizing: 'border-box',
}}
/>
{/* Content */}
{agents === null ? (
Yükleniyor...
) : tab === 'members' ? (
<>
{filteredMembers.length === 0 ? (
{search.trim() ? 'Aramayla eşleşen temsilci bulunamadı.' : 'Bu kuyruğa henüz temsilci atanmamış.'}
) : (
| Ad |
Dahili |
Departman |
|
{pagedMembers.map(a => (
| {a.name} |
{a.extension}
|
{a.department || '—'} |
|
))}
)}
>
) : (
<>
{filteredAvailable.length === 0 ? (
{search.trim() ? 'Aramayla eşleşen temsilci bulunamadı.' : 'Tüm temsilciler zaten bu kuyrukta.'}
) : (
| Ad |
Dahili |
Departman |
|
{pagedAvailable.map(a => (
e.currentTarget.style.background = 'rgba(88,166,255,.04)'}
onMouseLeave={e => e.currentTarget.style.background = 'transparent'}
>
| {a.name} |
{a.extension}
|
{a.department || '—'} |
|
))}
)}
>
)}