import { useState } from 'react' import { useAccount, useChainId } from 'wagmi' import MainnetTetherAdmin from '../components/admin/MainnetTetherAdmin' import TransactionMirrorAdmin from '../components/admin/TransactionMirrorAdmin' import TwoWayBridgeAdmin from '../components/admin/TwoWayBridgeAdmin' import ImpersonationMode from '../components/admin/ImpersonationMode' import MultiSigAdmin from '../components/admin/MultiSigAdmin' import TransactionQueue from '../components/admin/TransactionQueue' import AdminDashboard from '../components/admin/AdminDashboard' import EmergencyControls from '../components/admin/EmergencyControls' import AuditLogViewer from '../components/admin/AuditLogViewer' import GasOptimizer from '../components/admin/GasOptimizer' import BatchOperations from '../components/admin/BatchOperations' import TransactionTemplates from '../components/admin/TransactionTemplates' import SessionManager from '../components/admin/SessionManager' import TransactionRetry from '../components/admin/TransactionRetry' import OffChainServices from '../components/admin/OffChainServices' import TransactionPreview from '../components/admin/TransactionPreview' import TransactionStatusPoller from '../components/admin/TransactionStatusPoller' import RoleBasedAccess from '../components/admin/RoleBasedAccess' import TimeLockedActions from '../components/admin/TimeLockedActions' import WalletDeployment from '../components/admin/WalletDeployment' import MultiChainAdmin from '../components/admin/MultiChainAdmin' import ScheduledActions from '../components/admin/ScheduledActions' import WalletBalance from '../components/admin/WalletBalance' import OwnerManagement from '../components/admin/OwnerManagement' import WalletBackup from '../components/admin/WalletBackup' import TransactionQueuePriority from '../components/admin/TransactionQueuePriority' import HardwareWalletSupport from '../components/admin/HardwareWalletSupport' import FunctionPermissions from '../components/admin/FunctionPermissions' import RealtimeMonitor from '../components/admin/RealtimeMonitor' import PaymentChannels from '../components/admin/PaymentChannels' import PaymentChannelAdmin from '../components/admin/PaymentChannelAdmin' import StateChannels from '../components/admin/StateChannels' import { chain138 } from '../config/networks' type TabType = 'dashboard' | 'mainnet-tether' | 'transaction-mirror' | 'two-way-bridge' | 'channels' | 'state-channels' | 'channel-admin' | 'multisig' | 'queue' | 'impersonation' | 'emergency' | 'audit' | 'gas' | 'batch' | 'templates' | 'retry' | 'services' | 'preview' | 'roles' | 'timelock' | 'wallet' | 'multichain' | 'schedule' | 'balance' | 'owners' | 'backup' | 'priority' | 'hardware' | 'permissions' | 'realtime' export default function AdminPanel() { const { address, isConnected } = useAccount() const chainId = useChainId() const [activeTab, setActiveTab] = useState('dashboard') const isSupportedChain = chainId === 1 || chainId === chain138.id const tabs = [ { id: 'dashboard' as TabType, label: 'Dashboard', icon: '📊' }, { id: 'mainnet-tether' as TabType, label: 'Mainnet Tether', icon: '🔗' }, { id: 'transaction-mirror' as TabType, label: 'Transaction Mirror', icon: '📋' }, { id: 'two-way-bridge' as TabType, label: 'Two-Way Bridge', icon: '🌉' }, { id: 'channels' as TabType, label: 'Channels', icon: '💸' }, { id: 'state-channels' as TabType, label: 'State Channels', icon: '📜' }, { id: 'channel-admin' as TabType, label: 'Channel Admin', icon: '⚙️' }, { id: 'multisig' as TabType, label: 'Multi-Sig', icon: '👥' }, { id: 'queue' as TabType, label: 'Queue', icon: '📝' }, { id: 'impersonation' as TabType, label: 'Impersonation', icon: '🎭' }, { id: 'gas' as TabType, label: 'Gas Optimizer', icon: '⛽' }, { id: 'batch' as TabType, label: 'Batch Ops', icon: '📦' }, { id: 'templates' as TabType, label: 'Templates', icon: '📋' }, { id: 'preview' as TabType, label: 'Preview', icon: '👁️' }, { id: 'retry' as TabType, label: 'Retry', icon: '🔄' }, { id: 'services' as TabType, label: 'Services', icon: '🔧' }, { id: 'roles' as TabType, label: 'Roles', icon: '👤' }, { id: 'timelock' as TabType, label: 'Time Lock', icon: '⏰' }, { id: 'wallet' as TabType, label: 'Deploy Wallet', icon: '💼' }, { id: 'owners' as TabType, label: 'Owners', icon: '👥' }, { id: 'balance' as TabType, label: 'Balances', icon: '💰' }, { id: 'backup' as TabType, label: 'Backup', icon: '💾' }, { id: 'priority' as TabType, label: 'Priority Queue', icon: '⚡' }, { id: 'multichain' as TabType, label: 'Multi-Chain', icon: '🌐' }, { id: 'schedule' as TabType, label: 'Schedule', icon: '⏲️' }, { id: 'audit' as TabType, label: 'Audit Logs', icon: '📜' }, { id: 'emergency' as TabType, label: 'Emergency', icon: '🚨' }, { id: 'hardware' as TabType, label: 'Hardware', icon: '🔷' }, { id: 'permissions' as TabType, label: 'Permissions', icon: '🔐' }, { id: 'realtime' as TabType, label: 'Real-Time', icon: '📡' }, ] if (!isConnected) { return (

Admin Panel

Please connect your wallet to access the admin panel.

⚠️ Admin functions require wallet connection and admin privileges

) } if (!isSupportedChain) { return (

Admin Panel

Please switch to Ethereum Mainnet (1) or {chain138.name} to access admin functions.

Current network: Chain ID {chainId}. Use Mainnet (1) or {chain138.name}.

) } return (
{/* Header */}

Admin Panel

Connected as: {address}

{/* Tabs */}
{tabs.map((tab) => ( ))}
{/* Content */}
{activeTab === 'dashboard' && } {activeTab === 'mainnet-tether' && } {activeTab === 'transaction-mirror' && } {activeTab === 'two-way-bridge' && } {activeTab === 'channels' && } {activeTab === 'state-channels' && } {activeTab === 'channel-admin' && } {activeTab === 'multisig' && } {activeTab === 'queue' && } {activeTab === 'impersonation' && } {activeTab === 'gas' && } {activeTab === 'batch' && } {activeTab === 'templates' && } {activeTab === 'preview' && } {activeTab === 'retry' && } {activeTab === 'services' && } {activeTab === 'roles' && } {activeTab === 'timelock' && } {activeTab === 'wallet' && } {activeTab === 'owners' && } {activeTab === 'balance' && } {activeTab === 'backup' && } {activeTab === 'priority' && } {activeTab === 'multichain' && } {activeTab === 'schedule' && } {activeTab === 'audit' && } {activeTab === 'emergency' && } {activeTab === 'hardware' && } {activeTab === 'permissions' && } {activeTab === 'realtime' && }
) }