|
|
@ -12,7 +12,8 @@ import { TypingBubble } from '../../conversation/TypingBubble';
|
|
|
|
import { SessionSettingButtonItem, SessionToggleWithDescription } from '../SessionSettingListItem';
|
|
|
|
import { SessionSettingButtonItem, SessionToggleWithDescription } from '../SessionSettingListItem';
|
|
|
|
import { displayPasswordModal } from '../SessionSettings';
|
|
|
|
import { displayPasswordModal } from '../SessionSettings';
|
|
|
|
|
|
|
|
|
|
|
|
async function toggleLinkPreviews(isToggleOn: boolean, setIsToggleOn: (value: boolean) => void) {
|
|
|
|
async function toggleLinkPreviews(forceUpdate: () => void) {
|
|
|
|
|
|
|
|
const isToggleOn = Boolean(window.getSettingValue(SettingsKey.settingsLinkPreview));
|
|
|
|
if (!isToggleOn) {
|
|
|
|
if (!isToggleOn) {
|
|
|
|
window.inboxStore?.dispatch(
|
|
|
|
window.inboxStore?.dispatch(
|
|
|
|
updateConfirmModal({
|
|
|
|
updateConfirmModal({
|
|
|
@ -22,13 +23,14 @@ async function toggleLinkPreviews(isToggleOn: boolean, setIsToggleOn: (value: bo
|
|
|
|
onClickOk: async () => {
|
|
|
|
onClickOk: async () => {
|
|
|
|
const newValue = !isToggleOn;
|
|
|
|
const newValue = !isToggleOn;
|
|
|
|
await window.setSettingValue(SettingsKey.settingsLinkPreview, newValue);
|
|
|
|
await window.setSettingValue(SettingsKey.settingsLinkPreview, newValue);
|
|
|
|
setIsToggleOn(newValue);
|
|
|
|
forceUpdate();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
})
|
|
|
|
})
|
|
|
|
);
|
|
|
|
);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
|
|
|
|
await window.setSettingValue(SettingsKey.settingsLinkPreview, false);
|
|
|
|
await Data.createOrUpdateItem({ id: hasLinkPreviewPopupBeenDisplayed, value: false });
|
|
|
|
await Data.createOrUpdateItem({ id: hasLinkPreviewPopupBeenDisplayed, value: false });
|
|
|
|
setIsToggleOn(false);
|
|
|
|
forceUpdate();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -45,9 +47,7 @@ export const SettingsCategoryPrivacy = (props: {
|
|
|
|
hasPassword: boolean | null;
|
|
|
|
hasPassword: boolean | null;
|
|
|
|
onPasswordUpdated: (action: string) => void;
|
|
|
|
onPasswordUpdated: (action: string) => void;
|
|
|
|
}) => {
|
|
|
|
}) => {
|
|
|
|
const [isLinkPreviewsOn, setIsLinkPreviewsOn] = React.useState(
|
|
|
|
const isLinkPreviewsOn = Boolean(window.getSettingValue(SettingsKey.settingsLinkPreview));
|
|
|
|
Boolean(window.getSettingValue(SettingsKey.settingsLinkPreview))
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const forceUpdate = useUpdate();
|
|
|
|
const forceUpdate = useUpdate();
|
|
|
|
|
|
|
|
|
|
|
@ -77,8 +77,7 @@ export const SettingsCategoryPrivacy = (props: {
|
|
|
|
/>
|
|
|
|
/>
|
|
|
|
<SessionToggleWithDescription
|
|
|
|
<SessionToggleWithDescription
|
|
|
|
onClickToggle={async () => {
|
|
|
|
onClickToggle={async () => {
|
|
|
|
await toggleLinkPreviews(isLinkPreviewsOn, setIsLinkPreviewsOn);
|
|
|
|
await toggleLinkPreviews(forceUpdate);
|
|
|
|
forceUpdate();
|
|
|
|
|
|
|
|
}}
|
|
|
|
}}
|
|
|
|
title={window.i18n('linkPreviewsTitle')}
|
|
|
|
title={window.i18n('linkPreviewsTitle')}
|
|
|
|
description={window.i18n('linkPreviewDescription')}
|
|
|
|
description={window.i18n('linkPreviewDescription')}
|
|
|
|