import React from 'react'; import { useDispatch, useSelector } from 'react-redux'; import styled from 'styled-components'; import { recoveryPhraseModal } from '../../state/ducks/modalDialog'; import { SectionType } from '../../state/ducks/section'; import { disableRecoveryPhrasePrompt } from '../../state/ducks/userConfig'; import { getFocusedSection, getIsMessageRequestOverlayShown } from '../../state/selectors/section'; import { getShowRecoveryPhrasePrompt } from '../../state/selectors/userConfig'; import { isSignWithRecoveryPhrase } from '../../util/storage'; import { Flex } from '../basic/Flex'; import { SessionButton } from '../basic/SessionButton'; import { MenuButton } from '../buttons'; const SectionTitle = styled.h1` padding-top: var(--margins-xs); padding-left: var(--margins-sm); flex-grow: 1; color: var(--text-primary-color); `; const StyledProgressBarContainer = styled.div` width: 100%; height: 5px; flex-direction: row; background: var(--border-color); `; const StyledProgressBarInner = styled.div` background: var(--primary-color); width: 90%; transition: width 0.5s ease-in; height: 100%; `; export const StyledBannerTitle = styled.div` line-height: 1.3; font-size: var(--font-size-md); font-weight: bold; margin: var(--margins-sm) var(--margins-sm) 0 var(--margins-sm); span { color: var(--primary-color); } `; export const StyledLeftPaneBanner = styled.div` background: var(--background-primary-color); display: flex; flex-direction: column; border-bottom: 1px solid var(--border-color); `; const StyledBannerInner = styled.div` p { margin: 0; } .left-pane-banner___phrase { margin-top: var(--margins-md); } .session-button { margin-top: var(--margins-md); } `; const BannerInner = () => { const dispatch = useDispatch(); const showRecoveryPhraseModal = () => { dispatch(disableRecoveryPhrasePrompt()); dispatch(recoveryPhraseModal({})); }; return ( {window.i18n('recoveryPhraseRevealMessage')} ); }; export const LeftPaneBanner = () => { const section = useSelector(getFocusedSection); const isSignInWithRecoveryPhrase = isSignWithRecoveryPhrase(); if (section !== SectionType.Message || isSignInWithRecoveryPhrase) { return null; } return ( {window.i18n('recoveryPhraseSecureTitle')} 90% ); }; export const LeftPaneSectionHeader = () => { const showRecoveryPhrasePrompt = useSelector(getShowRecoveryPhrasePrompt); const focusedSection = useSelector(getFocusedSection); const isMessageRequestOverlayShown = useSelector(getIsMessageRequestOverlayShown); let label: string | undefined; const isMessageSection = focusedSection === SectionType.Message; switch (focusedSection) { case SectionType.Settings: label = window.i18n('settingsHeader'); break; case SectionType.Message: label = isMessageRequestOverlayShown ? window.i18n('messageRequests') : window.i18n('messagesHeader'); break; default: } return ( {label} {isMessageSection && } {showRecoveryPhrasePrompt && } ); };
{window.i18n('recoveryPhraseRevealMessage')}