@@ -27,6 +27,7 @@ import {
2727 ListItemText ,
2828 Container ,
2929} from "@material-ui/core" ;
30+ import createPersistedState from "use-persisted-state" ;
3031import Brightness3Icon from "@material-ui/icons/Brightness3" ;
3132import WbSunnyIcon from "@material-ui/icons/WbSunny" ;
3233import { JSONRPCError } from "@open-rpc/client-js/build/Error" ;
@@ -40,6 +41,8 @@ import useTransport, { ITransport, IWebTransport, TTransport } from "../hooks/us
4041import JSONRPCLogger , { JSONRPCLog } from "@open-rpc/logs-react" ;
4142import OptionsEditor from "./OptionsEditor" ;
4243
44+ const useCustomTransportList = createPersistedState ( "inspector-custom-transports" ) ;
45+
4346const defaultTransports : ITransport [ ] = [
4447 {
4548 type : "http" ,
@@ -167,7 +170,7 @@ const Inspector: React.FC<IProps> = (props) => {
167170 params : [ ] ,
168171 id : 0 ,
169172 } ) ;
170- const [ transportList , setTransportList ] = useState ( ( ) => {
173+ const [ transportList , setTransportList ] = useCustomTransportList ( ( ) => {
171174 if ( props . customTransport ) {
172175 return [ ...defaultTransports , props . customTransport ] ;
173176 }
@@ -222,8 +225,8 @@ const Inspector: React.FC<IProps> = (props) => {
222225
223226 useEffect ( ( ) => {
224227 if ( props . transport ) {
225- const t = defaultTransports
226- . find ( ( tp : ITransport ) => tp . type === props . transport ) ;
228+ const t = transportList
229+ . find ( ( tp : ITransport ) => tp . name ?. toLowerCase ( ) === props . transport ?. toLowerCase ( ) ) ;
227230 if ( t ) {
228231 setSelectedTransport ( t ) ;
229232 }
0 commit comments