-
- {me.title}
+
+
+ {maybeUpdateDialog ? (
+
+
+ {maybeUpdateDialog}
-
- {me.phoneNumber}
+
+ ) : null}
+
+
setPage(Page.Backups)}
+ onClick={() => setPage(Page.General)}
>
- {i18n('icu:Preferences__button--backups')}
+ {i18n('icu:Preferences__button--general')}
- ) : null}
- {isInternalUser ? (
setPage(Page.Internal)}
+ onClick={() => setPage(Page.Appearance)}
>
- {i18n('icu:Preferences__button--internal')}
+ {i18n('icu:Preferences__button--appearance')}
- ) : null}
+
setPage(Page.Chats)}
+ >
+ {i18n('icu:Preferences__button--chats')}
+
+
setPage(Page.Calls)}
+ >
+ {i18n('icu:Preferences__button--calls')}
+
+
setPage(Page.Notifications)}
+ >
+ {i18n('icu:Preferences__button--notifications')}
+
+
setPage(Page.Privacy)}
+ >
+ {i18n('icu:Preferences__button--privacy')}
+
+
setPage(Page.DataUsage)}
+ >
+ {i18n('icu:Preferences__button--data-usage')}
+
+ {shouldShowBackupsPage ? (
+
setPage(Page.Backups)}
+ >
+ {i18n('icu:Preferences__button--backups')}
+
+ ) : null}
+ {isInternalUser ? (
+
setPage(Page.Internal)}
+ >
+ {i18n('icu:Preferences__button--internal')}
+
+ ) : null}
+
-
+
{content}
- {renderToastManager({
- containerWidthBreakpoint: WidthBreakpoint.Wide,
- })}
);
}
diff --git a/ts/components/PreferencesUtil.tsx b/ts/components/PreferencesUtil.tsx
index a885dc8d28..2d95b36d94 100644
--- a/ts/components/PreferencesUtil.tsx
+++ b/ts/components/PreferencesUtil.tsx
@@ -32,12 +32,14 @@ export function SettingsControl({
left,
onClick,
right,
+ rightStyle,
}: {
/** A className or `true` to leave room for icon */
icon?: string | true;
left: ReactNode;
onClick?: () => unknown;
right: ReactNode;
+ rightStyle?: React.CSSProperties;
}): JSX.Element {
const content = (
<>
@@ -50,7 +52,9 @@ export function SettingsControl({
/>
)}
{left}
-
{right}
+
+ {right}
+
>
);
diff --git a/ts/state/smart/Preferences.tsx b/ts/state/smart/Preferences.tsx
index 3f877698b2..5d582ad944 100644
--- a/ts/state/smart/Preferences.tsx
+++ b/ts/state/smart/Preferences.tsx
@@ -17,6 +17,7 @@ import {
getCustomColors,
getItems,
getNavTabsCollapsed,
+ getPreferredLeftPaneWidth,
} from '../selectors/items';
import { DEFAULT_AUTO_DOWNLOAD_ATTACHMENT } from '../../textsecure/Storage';
import { DEFAULT_CONVERSATION_COLOR } from '../../types/Colors';
@@ -127,6 +128,7 @@ export function SmartPreferences(): JSX.Element | null {
putItem,
removeCustomColor,
resetDefaultChatColor,
+ savePreferredLeftPaneWidth,
setEmojiSkinToneDefault: onEmojiSkinToneDefaultChange,
setGlobalDefaultConversationColor,
toggleNavTabsCollapse,
@@ -144,17 +146,19 @@ export function SmartPreferences(): JSX.Element | null {
const getConversationsWithCustomColor = useSelector(
getConversationsWithCustomColorSelector
);
- const items = useSelector(getItems);
const i18n = useSelector(getIntl);
+ const items = useSelector(getItems);
+ const hasFailedStorySends = useSelector(getHasAnyFailedStorySends);
const hasPendingUpdate = useSelector(getHasPendingUpdate);
const isUpdateDownloaded = useSelector(getIsUpdateDownloaded);
- const navTabsCollapsed = useSelector(getNavTabsCollapsed);
- const hasFailedStorySends = useSelector(getHasAnyFailedStorySends);
- const otherTabsUnreadStats = useSelector(getOtherTabsUnreadStats);
const me = useSelector(getMe);
- const badge = useSelector(getPreferredBadgeSelector)(me.badges);
+ const navTabsCollapsed = useSelector(getNavTabsCollapsed);
+ const otherTabsUnreadStats = useSelector(getOtherTabsUnreadStats);
+ const preferredWidthFromStorage = useSelector(getPreferredLeftPaneWidth);
const theme = useSelector(getTheme);
+ const badge = useSelector(getPreferredBadgeSelector)(me.badges);
+
// The weird ones
const makeSyncRequest = async () => {
@@ -763,6 +767,7 @@ export function SmartPreferences(): JSX.Element | null {
otherTabsUnreadStats={otherTabsUnreadStats}
page={page}
preferredSystemLocales={preferredSystemLocales}
+ preferredWidthFromStorage={preferredWidthFromStorage}
refreshCloudBackupStatus={refreshCloudBackupStatus}
refreshBackupSubscriptionStatus={refreshBackupSubscriptionStatus}
removeCustomColorOnConversations={removeCustomColorOnConversations}
@@ -779,6 +784,7 @@ export function SmartPreferences(): JSX.Element | null {
sentMediaQualitySetting={sentMediaQualitySetting}
setGlobalDefaultConversationColor={setGlobalDefaultConversationColor}
setPage={setPage}
+ savePreferredLeftPaneWidth={savePreferredLeftPaneWidth}
showToast={showToast}
theme={theme}
themeSetting={themeSetting}