From afe34294c466b845bb7922212add7ec7ca09b482 Mon Sep 17 00:00:00 2001 From: Kamal Raj Sekar Date: Wed, 20 Dec 2023 12:47:41 +0000 Subject: [PATCH] low data mode preferences added, images loaded based as per the low data mode settings --- .../app/src/Element/Event/RevealMedia.tsx | 26 +++++++++++++++++-- packages/app/src/Login/Preferences.ts | 6 +++++ .../app/src/Pages/settings/Preferences.tsx | 17 ++++++++++++ packages/app/src/Pages/settings/messages.ts | 5 ++++ 4 files changed, 52 insertions(+), 2 deletions(-) diff --git a/packages/app/src/Element/Event/RevealMedia.tsx b/packages/app/src/Element/Event/RevealMedia.tsx index f4636ea1..4eee3717 100644 --- a/packages/app/src/Element/Event/RevealMedia.tsx +++ b/packages/app/src/Element/Event/RevealMedia.tsx @@ -25,7 +25,7 @@ export default function RevealMedia(props: RevealMediaProps) { const isMine = props.creator === publicKey; const hideMedia = preferences.autoLoadMedia === "none" || (!isMine && hideNonFollows); const hostname = new URL(props.link).hostname; - + const lowDataMode = preferences.lowDataMode; const url = new URL(props.link); const extension = FileExtensionRegex.test(url.pathname.toLowerCase()) && RegExp.$1; const type = (() => { @@ -76,7 +76,29 @@ export default function RevealMedia(props: RevealMediaProps) { /> ); - } else { + } else if(lowDataMode) { + return ( + {i}, + a: a => {a}, + }} + /> + }> + + + ); + } + else{ return ( { /> +
+
+

+ +

+ + + +
+
+ updatePreferences(id, { ...perf, lowDataMode: e.target.checked })} + /> +
+
); }; diff --git a/packages/app/src/Pages/settings/messages.ts b/packages/app/src/Pages/settings/messages.ts index 81e98bea..a44fa461 100644 --- a/packages/app/src/Pages/settings/messages.ts +++ b/packages/app/src/Pages/settings/messages.ts @@ -76,4 +76,9 @@ export default defineMessages({ ServiceWorkerNotRunning: { defaultMessage: "Service Worker Not Running", id: "RDha9y" }, SubscribedToPush: { defaultMessage: "Subscribed to Push", id: "G3A56c" }, NotSubscribedToPush: { defaultMessage: "Not Subscribed to Push", id: "d2ebEu" }, + LowDataMode: { defaultMessage: "Low Data Mode", id: '87tg/I' }, + LowDataModeHelp: { + defaultMessage: "Reactions will not be shown on timeline and images would not load automatically", + id: 'Qie1Ef', + }, });