Commit c14b164b authored by tom's avatar tom

correct links for network with no sub type

parent 568a2dc3
import { useRouter } from 'next/router';
import NETWORKS from 'lib/networks/availableNetworks';
import findNetwork from 'lib/networks/findNetwork';
export default function useNetwork() {
const router = useRouter();
const selectedNetwork = NETWORKS.find((network) => router.query.network_type === network.type && router.query.network_sub_type === network.subType);
const selectedNetwork = findNetwork({
network_type: typeof router.query.network_type === 'string' ? router.query.network_type : '',
network_sub_type: typeof router.query.network_type === 'string' ? router.query.network_type : undefined,
});
return selectedNetwork;
}
import isBrowser from 'lib/isBrowser';
import findNetwork from 'lib/networks/findNetwork';
import { ROUTES } from './routes';
import type { RouteName } from './routes';
......@@ -11,7 +12,16 @@ export function link(routeName: RouteName, urlParams?: Record<string, string | u
return '';
}
const network = findNetwork({
network_type: urlParams?.network_type || '',
network_sub_type: urlParams?.network_sub_type,
});
const path = route.pattern.replace(PATH_PARAM_REGEXP, (_, paramName: string) => {
if (paramName === 'network_sub_type' && !network?.subType) {
return '';
}
const paramValue = urlParams?.[paramName];
return paramValue ? `/${ paramValue }` : '';
});
......
import availableNetworks from 'lib/networks/availableNetworks';
interface Params {
network_type: string;
network_sub_type?: string;
}
export default function findNetwork(params: Params) {
return availableNetworks.find((network) =>
network.type === params.network_type &&
network.subType ? network.subType === params.network_sub_type : network.type === params.network_type,
);
}
import NETWORKS from './availableNetworks';
export default function getAvailablePaths() {
return NETWORKS.map(({ type, subType }) => ({ params: { network_type: type, network_sub_type: subType } }));
return NETWORKS.map(({ type, subType }) => ({ params: { network_type: type, network_sub_type: subType || 'mainnet' } }));
}
import NETWORKS from './availableNetworks';
import findNetwork from './findNetwork';
export default function getNetworkTitle({ network_type: type, network_sub_type: subType }: {network_type?: string; network_sub_type?: string}) {
const currentNetwork = NETWORKS.find(n => n.type === type && n.subType === subType);
const currentNetwork = findNetwork({ network_type: type || '', network_sub_type: subType });
if (currentNetwork) {
return currentNetwork.name + (currentNetwork.shortName ? ` (${ currentNetwork.shortName })` : '') + ' Explorer';
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment