2022-03-08 22:50:35 +01:00
import React from 'react' ;
2022-03-23 21:17:53 +01:00
import {
2022-09-14 16:55:31 +02:00
BUILT _IN _NETWORKS ,
NETWORK _TYPES ,
2022-03-23 21:17:53 +01:00
} from '../../../../shared/constants/network' ;
import { SIZES } from '../../../helpers/constants/design-system' ;
2022-03-08 22:50:35 +01:00
import NetworkDisplay from '.' ;
export default {
title : 'Components/App/NetworkDisplay' ,
2023-01-20 20:27:46 +01:00
2022-03-08 22:50:35 +01:00
argTypes : {
indicatorSize : {
2022-03-23 21:17:53 +01:00
control : 'select' ,
options : Object . values ( SIZES ) ,
2022-03-08 22:50:35 +01:00
} ,
labelProps : {
control : 'object' ,
} ,
2022-03-23 21:17:53 +01:00
targetNetwork : {
control : 'select' ,
2022-09-14 16:55:31 +02:00
options : [ ... Object . keys ( BUILT _IN _NETWORKS ) , NETWORK _TYPES . RPC ] ,
2022-03-08 22:50:35 +01:00
} ,
disabled : {
control : 'boolean' ,
} ,
onClick : {
action : 'onClick' ,
2022-03-23 21:17:53 +01:00
description :
'The onClick event handler of the NetworkDisplay. If it is not passed it is assumed that the NetworkDisplay SHOULD NOT be interactive and removes the caret and changes the border color of the NetworkDisplay to border-muted' ,
2022-03-08 22:50:35 +01:00
} ,
} ,
2022-03-23 21:17:53 +01:00
args : {
2022-09-29 05:26:01 +02:00
targetNetwork : 'goerli' ,
2022-03-23 21:17:53 +01:00
} ,
2022-03-08 22:50:35 +01:00
} ;
2022-03-23 21:17:53 +01:00
export const DefaultStory = ( args ) => (
< NetworkDisplay
{ ... args }
targetNetwork = { {
type : args . targetNetwork ,
nickname : args . targetNetwork ,
} }
/ >
) ;
2022-03-08 22:50:35 +01:00
DefaultStory . storyName = 'Default' ;
2022-03-23 21:17:53 +01:00
export const TargetNetwork = ( args ) => {
const targetNetworkArr = [
2022-09-14 16:55:31 +02:00
... Object . keys ( BUILT _IN _NETWORKS ) ,
NETWORK _TYPES . RPC ,
2022-03-23 21:17:53 +01:00
] ;
return (
< >
{ Object . values ( targetNetworkArr ) . map ( ( variant ) => (
< NetworkDisplay
{ ... args }
key = { variant }
targetNetwork = { {
type : variant ,
nickname : variant ,
} }
/ >
) ) }
< / >
) ;
} ;
export const DisplayOnly = ( args ) => {
const targetNetworkArr = [
2022-09-14 16:55:31 +02:00
... Object . keys ( BUILT _IN _NETWORKS ) ,
NETWORK _TYPES . RPC ,
2022-03-23 21:17:53 +01:00
] ;
return (
< >
{ Object . values ( targetNetworkArr ) . map ( ( variant ) => (
< NetworkDisplay
{ ... args }
key = { variant }
targetNetwork = { {
type : variant ,
nickname : variant ,
} }
onClick = { undefined }
/ >
) ) }
< / >
) ;
} ;