{#if !loaded}
{:else} {#if loadError}
{/if} {#if showForm}
t.type !== 'broadcast' && t.id !== editing).map(t => ({ value: t.id, label: t.name, icon: t.icon || TYPE_ICONS[t.type] || 'mdiTarget', desc: t.type }))} {editing} {submitting} {error} bind:showTelegramSettings onsave={save} ontoggleTelegramSettings={() => showTelegramSettings = !showTelegramSettings} onnameinput={() => nameManuallyEdited = true} /> {/if} {#if !showForm && allTargets.length > 0}
{/if} {#if allTargets.length === 0 && !showForm}
{:else if targets.length === 0 && !showForm}
{:else}
{#each groupedTargets as group (group.key)}
{#each group.targets as target (target.id)} {@const expanded = isExpanded(target.id)} {@const childCount = target.type === 'broadcast' ? (target.child_targets?.length || 0) : (target.receivers || []).length} {@const childLabel = target.type === 'broadcast' ? t('targets.childTargets') : t('targets.receivers')}
toggleExpanded(target.id)} >
{target.name}
{#if childCount > 0}
{childCount}
{childLabel}
{:else}
{t('targets.noReceivers')}
{/if}
edit(target)} />
test(target.id)} />
confirmDelete = target} variant="danger" />
{#if expanded}
addingReceiverForTarget = null} ontoggleReceiver={toggleReceiver} onremoveReceiver={(targetId, recv) => confirmDeleteReceiver = { targetId, receiver: recv }} ontestReceiver={testReceiver} onloadBotChats={loadReceiverBotChats} onchangeReceiverForm={(f) => receiverForm = f} ontoggleBroadcastChild={toggleBroadcastChild} onopenEditReceiver={openEditReceiver} oncancelEditReceiver={cancelEditReceiver} onsaveEditReceiver={saveEditReceiver} />
{/if}
{/each}
{/each}
{/if} {/if}
{ if (confirmDelete) { remove(confirmDelete.id); confirmDelete = null; } }} oncancel={() => confirmDelete = null} />
{ if (confirmDeleteReceiver) { removeReceiver(confirmDeleteReceiver.targetId, confirmDeleteReceiver.receiver.id); confirmDeleteReceiver = null; } }} oncancel={() => confirmDeleteReceiver = null} />
blockedBy = null} />