import React from 'react'; import classNames from 'classnames'; import { LeftPaneSectionHeader } from './LeftPaneSectionHeader'; import { useDispatch, useSelector } from 'react-redux'; import { SectionType, setOverlayMode, showLeftPaneSection, showSettingsSection, } from '../../state/ducks/section'; import { getFocusedSettingsSection } from '../../state/selectors/section'; import { recoveryPhraseModal, updateDeleteAccountModal } from '../../state/ducks/modalDialog'; import { SessionButton, SessionButtonColor, SessionButtonType } from '../basic/SessionButton'; import { SessionIcon } from '../icon'; import { SessionSettingCategory } from '../settings/SessionSettings'; import { resetConversationExternal } from '../../state/ducks/conversations'; const getCategories = () => { return [ { id: SessionSettingCategory.Appearance, title: window.i18n('appearanceSettingsTitle'), }, { id: SessionSettingCategory.Privacy, title: window.i18n('privacySettingsTitle'), }, { id: SessionSettingCategory.Blocked, title: window.i18n('blockedSettingsTitle'), }, { id: SessionSettingCategory.Notifications, title: window.i18n('notificationsSettingsTitle'), }, { id: SessionSettingCategory.MessageRequests, title: window.i18n('openMessageRequestInbox'), }, ]; }; const LeftPaneSettingsCategoryRow = (props: { item: { id: SessionSettingCategory; title: string }; }) => { const { item } = props; const { id, title } = item; const dispatch = useDispatch(); const focusedSettingsSection = useSelector(getFocusedSettingsSection); const isMessageRequestSetting = id === SessionSettingCategory.MessageRequests; return (
{ if (isMessageRequestSetting) { dispatch(showLeftPaneSection(SectionType.Message)); dispatch(setOverlayMode('message-requests')); dispatch(resetConversationExternal()); } else { dispatch(showSettingsSection(id)); } }} >
{title}
{id === focusedSettingsSection && ( )}
); }; const LeftPaneSettingsCategories = () => { const categories = getCategories(); return (
{categories.map(item => { return ; })}
); }; const LeftPaneBottomButtons = () => { const dangerButtonText = window.i18n('clearAllData'); const showRecoveryPhrase = window.i18n('showRecoveryPhrase'); const dispatch = useDispatch(); return (
{ dispatch(updateDeleteAccountModal({})); }} /> { dispatch(recoveryPhraseModal({})); }} />
); }; export const LeftPaneSettingSection = () => { return (
); };