import { useI18n } from '../../i18n' import { useAccountsData } from './useAccountsData' import { useAccountActions } from './useAccountActions' import QueueCards from './QueueCards' import ApiKeysPanel from './ApiKeysPanel' import AccountsTable from './AccountsTable' import AddKeyModal from './AddKeyModal' import AddAccountModal from './AddAccountModal' export default function AccountManagerContainer({ config, onRefresh, onMessage, authFetch }) { const { t } = useI18n() const apiFetch = authFetch || fetch const { queueStatus, keysExpanded, setKeysExpanded, accounts, page, pageSize, totalPages, totalAccounts, loadingAccounts, fetchAccounts, changePageSize, resolveAccountIdentifier, searchQuery, handleSearchChange, } = useAccountsData({ apiFetch }) const { showAddKey, setShowAddKey, showAddAccount, setShowAddAccount, newKey, setNewKey, copiedKey, setCopiedKey, newAccount, setNewAccount, loading, testing, testingAll, batchProgress, sessionCounts, deletingSessions, addKey, deleteKey, addAccount, deleteAccount, testAccount, testAllAccounts, deleteAllSessions, } = useAccountActions({ apiFetch, t, onMessage, onRefresh, config, fetchAccounts, resolveAccountIdentifier, }) return (
{Boolean(config?.env_source_present) && (

{config?.env_writeback_enabled ? (config?.env_backed ? t('accountManager.envModeWritebackPendingTitle') : t('accountManager.envModeWritebackActiveTitle')) : t('accountManager.envModeRiskTitle')}

{config?.env_writeback_enabled ? t('accountManager.envModeWritebackDesc', { path: config?.config_path || 'config.json' }) : t('accountManager.envModeRiskDesc')}

)} setShowAddAccount(true)} onTestAccount={testAccount} onDeleteAccount={deleteAccount} onDeleteAllSessions={deleteAllSessions} onPrevPage={() => fetchAccounts(page - 1)} onNextPage={() => fetchAccounts(page + 1)} onPageSizeChange={changePageSize} searchQuery={searchQuery} onSearchChange={handleSearchChange} envBacked={Boolean(config?.env_backed)} /> setShowAddKey(false)} onAdd={addKey} /> setShowAddAccount(false)} onAdd={addAccount} />
) }