Skip to content

Commit 26e45af

Browse files
committed
feat: keep custom transports in localstorage
1 parent b3673e0 commit 26e45af

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

package-lock.json

Lines changed: 12 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
"@types/jest": "^24.0.13",
2828
"@types/qs": "^6.5.3",
2929
"@types/react-dom": "^16.8.4",
30+
"@types/use-persisted-state": "^0.3.0",
3031
"jest": "24.9.0",
3132
"monaco-editor-webpack-plugin": "^1.7.0",
3233
"react-scripts": "^3.3.0",
@@ -68,6 +69,7 @@
6869
"react-split-pane": "^0.1.87",
6970
"semantic-release": "^15.13.21",
7071
"use-dark-mode": "^2.3.1",
71-
"use-debounce": "^3.3.0"
72+
"use-debounce": "^3.3.0",
73+
"use-persisted-state": "^0.3.3"
7274
}
7375
}

src/containers/Inspector.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import {
2727
ListItemText,
2828
Container,
2929
} from "@material-ui/core";
30+
import createPersistedState from "use-persisted-state";
3031
import Brightness3Icon from "@material-ui/icons/Brightness3";
3132
import WbSunnyIcon from "@material-ui/icons/WbSunny";
3233
import { JSONRPCError } from "@open-rpc/client-js/build/Error";
@@ -40,6 +41,8 @@ import useTransport, { ITransport, IWebTransport, TTransport } from "../hooks/us
4041
import JSONRPCLogger, { JSONRPCLog } from "@open-rpc/logs-react";
4142
import OptionsEditor from "./OptionsEditor";
4243

44+
const useCustomTransportList = createPersistedState("inspector-custom-transports");
45+
4346
const 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

Comments
 (0)