import React from 'react'; import classNames from 'classnames'; import { SessionIcon, SessionIconType } from './icon'; import styled from 'styled-components'; import { SessionButton, SessionButtonType } from './SessionButton'; import { useDispatch, useSelector } from 'react-redux'; import { disableRecoveryPhrasePrompt } from '../../state/ducks/userConfig'; import { getShowRecoveryPhrasePrompt } from '../../state/selectors/userConfig'; import { recoveryPhraseModal } from '../../state/ducks/modalDialog'; import { Flex } from '../basic/Flex'; import { getFocusedSection } from '../../state/selectors/section'; import { SectionType } from '../../state/ducks/section'; import { UserUtils } from '../../session/utils'; const Tab = ({ isSelected, label, onSelect, type, }: { isSelected: boolean; label: string; onSelect?: (event: number) => void; type: number; }) => { const handleClick = onSelect ? () => { onSelect(type); } : undefined; return (

{label}

); }; type Props = { label?: string; buttonIcon?: SessionIconType; buttonClicked?: any; }; export const LeftPaneSectionHeader = (props: Props) => { const { label, buttonIcon, buttonClicked } = props; const showRecoveryPhrasePrompt = useSelector(getShowRecoveryPhrasePrompt); return (
{label && } {buttonIcon && ( )}
{showRecoveryPhrasePrompt && }
); }; const BannerInner = () => { const dispatch = useDispatch(); const showRecoveryPhraseModal = () => { dispatch(disableRecoveryPhrasePrompt()); dispatch(recoveryPhraseModal({})); }; return (

{window.i18n('recoveryPhraseRevealMessage')}

); }; export const LeftPaneBanner = () => { const section = useSelector(getFocusedSection); const isSignInWithRecoveryPhrase = UserUtils.isSignWithRecoveryPhrase(); if (section !== SectionType.Message || isSignInWithRecoveryPhrase) { return null; } return ( {window.i18n('recoveryPhraseSecureTitle')} 90% ); }; const StyledProgressBarContainer = styled.div` width: 100%; height: 5px; flex-direction: row; background: var(--color-session-border); `; const StyledProgressBarInner = styled.div` background: var(--color-accent); 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(--color-text-accent); } `; export const StyledLeftPaneBanner = styled.div` background: var(--color-recovery-phrase-banner-background); display: flex; flex-direction: column; border-bottom: var(--session-border); `; const StyledBannerInner = styled.div` p { margin: 0; } .left-pane-banner___phrase { margin-top: var(--margins-md); } .session-button { margin-top: var(--margins-sm); } `;