@@ -5,11 +5,13 @@ import type { MonitorConfigInput } from '@/types/slashing';
55
66interface MonitorDetailsProps {
77 configInput : MonitorConfigInput ;
8+ network : 'mainnet' | 'testnet' ;
89 onResetRpc : ( ) => void ;
10+ onToggleNetwork : ( ) => void ;
911 onUpdateRpc : ( url : string ) => void ;
1012}
1113
12- export function MonitorDetails ( { configInput, onResetRpc, onUpdateRpc } : MonitorDetailsProps ) {
14+ export function MonitorDetails ( { configInput, network , onResetRpc, onToggleNetwork , onUpdateRpc } : MonitorDetailsProps ) {
1315 const [ rpcUrl , setRpcUrl ] = useState ( '' ) ;
1416 const [ notice , setNotice ] = useState < string | null > ( null ) ;
1517 const {
@@ -25,6 +27,7 @@ export function MonitorDetails({ configInput, onResetRpc, onUpdateRpc }: Monitor
2527 } = useSlashingStore ( ) ;
2628 const override = getRpcOverride ( configInput . chainId ) ;
2729 const unavailable = 'Not initialized' ;
30+ const isMainnet = network === 'mainnet' ;
2831
2932 const updateRpc = ( ) => {
3033 try {
@@ -60,9 +63,20 @@ export function MonitorDetails({ configInput, onResetRpc, onUpdateRpc }: Monitor
6063
6164 < div className = "space-y-6 border-t-5 border-orchid p-5" >
6265 < section aria-labelledby = "monitor-rpc-heading" >
63- < h2 id = "monitor-rpc-heading" className = "mb-3 text-xl font-black uppercase text-orchid" >
64- Monitor RPC
65- </ h2 >
66+ < div className = "mb-4 flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between" >
67+ < h2 id = "monitor-rpc-heading" className = "text-xl font-black uppercase text-orchid" >
68+ Monitor RPC
69+ </ h2 >
70+ < button
71+ type = "button"
72+ onClick = { onToggleNetwork }
73+ className = { `brutal-button brutal-button--lg w-full sm:w-auto ${ isMainnet ? 'brutal-button--danger' : 'brutal-button--aqua' } ` }
74+ aria-label = { `Switch client scanner to ${ isMainnet ? 'Testnet' : 'Mainnet' } ` }
75+ >
76+ < span className = { `h-3 w-3 rounded-full ${ isMainnet ? 'bg-vermillion' : 'bg-aqua' } ` } aria-hidden = "true" />
77+ { network }
78+ </ button >
79+ </ div >
6680 < p className = "mb-4 break-all font-mono text-xs text-whisper-white" >
6781 { formatRpcUrls ( configInput . l1RpcUrl ) }
6882 { override && (
0 commit comments