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' import EditAccountModal from './EditAccountModal' 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, openAddKey, openEditKey, closeKeyModal, editingKey, showAddAccount, openAddAccount, closeAddAccount, showEditAccount, editingAccount, editAccount, setEditAccount, openEditAccount, closeEditAccount, newKey, setNewKey, copiedKey, setCopiedKey, newAccount, setNewAccount, loading, testing, testingAll, batchProgress, sessionCounts, deletingSessions, updatingProxy, addKey, deleteKey, addAccount, updateAccount, deleteAccount, testAccount, testAllAccounts, deleteAllSessions, updateAccountProxy, } = 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')}

)} fetchAccounts(page - 1)} onNextPage={() => fetchAccounts(page + 1)} onPageSizeChange={changePageSize} searchQuery={searchQuery} onSearchChange={handleSearchChange} envBacked={Boolean(config?.env_backed)} />
) }