@@ -11,6 +11,7 @@ import { config } from '@src/config';
11
11
import { useWalletManager } from '@hooks' ;
12
12
import { useAnalyticsContext } from '@providers' ;
13
13
import { PostHogAction } from '@providers/AnalyticsProvider/analyticsTracker' ;
14
+ import { usePostHogClientContext } from '@providers/PostHogClientProvider' ;
14
15
15
16
const { AVAILABLE_CHAINS } = config ( ) ;
16
17
@@ -40,9 +41,17 @@ const walletProfileEventByNetworkName: Record<Wallet.ChainName, networkEventUser
40
41
Sanchonet : PostHogAction . UserWalletProfileNetworkSanchonetClick
41
42
} ;
42
43
44
+ export const cardanoNetworkMap : { [ key in Wallet . ChainName ] : Wallet . Cardano . NetworkMagics } = {
45
+ Mainnet : Wallet . Cardano . NetworkMagics . Mainnet ,
46
+ Preprod : Wallet . Cardano . NetworkMagics . Preprod ,
47
+ Preview : Wallet . Cardano . NetworkMagics . Preview ,
48
+ Sanchonet : Wallet . Cardano . NetworkMagics . Sanchonet
49
+ } ;
50
+
43
51
export const NetworkChoice = ( { section } : { section ?: 'settings' | 'wallet-profile' } ) : React . ReactElement => {
44
52
const { t } = useTranslation ( ) ;
45
- const { environmentName } = useWalletStore ( ) ;
53
+ const posthog = usePostHogClientContext ( ) ;
54
+ const { environmentName, isSharedWallet } = useWalletStore ( ) ;
46
55
const { switchNetwork } = useWalletManager ( ) ;
47
56
const analytics = useAnalyticsContext ( ) ;
48
57
@@ -81,14 +90,18 @@ export const NetworkChoice = ({ section }: { section?: 'settings' | 'wallet-prof
81
90
return event ;
82
91
} ;
83
92
93
+ const availableChains = isSharedWallet
94
+ ? AVAILABLE_CHAINS . filter ( ( chain ) => posthog ?. featureFlags [ cardanoNetworkMap [ chain ] ] [ 'shared-wallets' ] )
95
+ : AVAILABLE_CHAINS ;
96
+
84
97
return (
85
98
< Radio . Group
86
99
className = { styles . radioGroup }
87
100
onChange = { handleNetworkChange }
88
101
value = { environmentName }
89
102
data-testid = { 'network-choice-radio-group' }
90
103
>
91
- { AVAILABLE_CHAINS . map ( ( network ) => (
104
+ { availableChains . map ( ( network ) => (
92
105
< a className = { styles . radio } key = { network } >
93
106
< Radio
94
107
value = { network }
0 commit comments