import { FunctionComponent, useCallback, useEffect, useState } from 'react' import Menu from '../Menu/Menu' import { useApplication } from '../ApplicationProvider' import { ContentType, VaultListingInterface } from '@standardnotes/snjs' import MenuRadioButtonItem from '../Menu/MenuRadioButtonItem' import { observer } from 'mobx-react-lite' import Icon from '../Icon/Icon' import VaultSelectMenuItemWithOptions from './MenuItemWithVaultOption' const SingleVaultSelectionMenu: FunctionComponent = () => { const application = useApplication() const [vaults, setVaults] = useState(() => application.vaults.getVaults()) useEffect(() => { return application.items.streamItems(ContentType.TYPES.VaultListing, () => { setVaults(application.vaults.getVaults()) }) }, [application.items, application.vaults]) const isVaultVisible = useCallback( (vault: VaultListingInterface) => { return application.vaultDisplayService.isVaultExclusivelyShown(vault) }, [application], ) const selectVault = useCallback( (vault: VaultListingInterface) => { application.vaultDisplayService.showOnlyVault(vault) }, [application], ) return ( {!vaults.length &&
No vaults found
} {vaults.map((vault) => ( selectVault(vault)} > {vault.name} {application.vaultLocks.isVaultLocked(vault) && } ))}
) } export default observer(SingleVaultSelectionMenu)