import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import RoomE2EENotAllowed from './RoomE2EENotAllowed'; import { e2e } from '../../../lib/e2ee'; import { getStoredItem, STORAGE_KEYS } from '../../../lib/sdk/storage'; import RoomBody from '../body/RoomBody'; import { useRoom } from '../contexts/RoomContext'; import { useE2EERoomState } from '../hooks/useE2EERoomState'; import { useE2EEState } from '../hooks/useE2EEState'; const RoomE2EESetup = () => { const room = useRoom(); const e2eeState = useE2EEState(); const e2eRoomState = useE2EERoomState(room._id); const { t } = useTranslation(); const randomPassword = getStoredItem(STORAGE_KEYS.E2EE_RANDOM_PASSWORD); const onSavePassword = useCallback(() => { if (!randomPassword) { return; } e2e.openSaveE2EEPasswordModal(randomPassword); }, [randomPassword]); const onEnterE2EEPassword = useCallback(() => e2e.decodePrivateKeyFlow(), []); if (e2eeState === 'SAVE_PASSWORD') { return ( ); } if (e2eeState === 'ENTER_PASSWORD') { return ( ); } if (e2eRoomState === 'WAITING_KEYS') { return ( ); } return ; }; export default RoomE2EESetup;