/ src / modules / dashboard / DashboardListTopPanel.tsx
DashboardListTopPanel.tsx
 1  import { Trans } from '@lingui/macro';
 2  import { Box, Checkbox, FormControlLabel } from '@mui/material';
 3  import { FaucetButton } from 'src/components/FaucetButton';
 4  import { useRootStore } from 'src/store/root';
 5  import { ENABLE_TESTNET, STAGING_ENV } from 'src/utils/marketsAndNetworksConfig';
 6  import { DASHBOARD } from 'src/utils/mixPanelEvents';
 7  
 8  import { BridgeButton } from '../../components/BridgeButton';
 9  import { toggleLocalStorageClick } from '../../helpers/toggle-local-storage-click';
10  import { NetworkConfig } from '../../ui-config/networksConfig';
11  
12  interface DashboardListTopPanelProps extends Pick<NetworkConfig, 'bridge'> {
13    value: boolean;
14    onClick: (value: boolean) => void;
15    localStorageName: string;
16  }
17  
18  export const DashboardListTopPanel = ({
19    value,
20    onClick,
21    localStorageName,
22    bridge,
23  }: DashboardListTopPanelProps) => {
24    const trackEvent = useRootStore((store) => store.trackEvent);
25  
26    return (
27      <Box
28        sx={{
29          display: 'flex',
30          alignItems: { xs: 'flex-start', xsm: 'center' },
31          justifyContent: 'space-between',
32          flexDirection: { xs: 'column-reverse', xsm: 'row' },
33          px: { xs: 4, xsm: 6 },
34          py: 2,
35          pl: { xs: '18px', xsm: '27px' },
36        }}
37      >
38        <FormControlLabel
39          sx={{ mt: { xs: bridge ? 2 : 0, xsm: 0 } }}
40          control={<Checkbox sx={{ p: '6px' }} />}
41          checked={value}
42          onChange={() => {
43            trackEvent(DASHBOARD.SHOW_ASSETS_0_BALANCE, {});
44  
45            toggleLocalStorageClick(value, onClick, localStorageName);
46          }}
47          label={<Trans>Show assets with 0 balance</Trans>}
48        />
49  
50        {(STAGING_ENV || ENABLE_TESTNET) && <FaucetButton />}
51        {!ENABLE_TESTNET && <BridgeButton bridge={bridge} />}
52      </Box>
53    );
54  };