import { FunctionComponent, useCallback } from 'react' import Menu from '../Menu/Menu' import { useApplication } from '../ApplicationProvider' import MenuSwitchButtonItem from '../Menu/MenuSwitchButtonItem' import Icon from '../Icon/Icon' import { VaultListingInterface } from '@standardnotes/snjs' import { observer } from 'mobx-react-lite' const ManyVaultSelectionMenu: FunctionComponent = () => { const application = useApplication() const vaults = application.vaults.getVaults() const isVaultVisible = useCallback( (vault: VaultListingInterface) => { return !application.vaultDisplayService.isVaultDisabledOrLocked(vault) }, [application], ) const toggleVault = useCallback( (vault: VaultListingInterface) => { if (isVaultVisible(vault)) { application.vaultDisplayService.hideVault(vault) } else { application.vaultDisplayService.unhideVault(vault) } }, [isVaultVisible, application], ) return ( {vaults.map((vault) => ( { toggleVault(vault) }} checked={isVaultVisible(vault)} key={vault.uuid} >
{vault.name} {application.vaultLocks.isVaultLocked(vault) && }
))}
) } export default observer(ManyVaultSelectionMenu)