Files
pezkuwi-ui/packages/react-qr/src/NetworkSpecs.tsx
T
2022-01-01 09:26:28 +02:00

40 lines
896 B
TypeScript

// Copyright 2017-2022 @polkadot/react-qr authors & contributors
// SPDX-License-Identifier: Apache-2.0
import type { NetworkSpecsStruct } from '@polkadot/ui-settings/types';
import React, { useMemo } from 'react';
import { QrDisplay } from './Display';
import { encodeString } from './util';
interface Props {
className?: string;
networkSpecs: NetworkSpecsStruct;
size?: string | number;
style?: React.CSSProperties;
}
function DisplayNetworkSpecs ({ className, networkSpecs, size, style }: Props): React.ReactElement<Props> | null {
const data = useMemo(
() => encodeString(JSON.stringify(networkSpecs)),
[networkSpecs]
);
if (!data) {
return null;
}
return (
<QrDisplay
className={className}
size={size}
skipEncoding
style={style}
value={data}
/>
);
}
export const QrNetworkSpecs = React.memo(DisplayNetworkSpecs);