From: Ajay Bura <32841439+ajbura@users.noreply.github.com>
Date: Mon, 25 Aug 2025 13:19:14 +0000 (+0530)
Subject: Add option for monochrome mode (#2464)
X-Git-Tag: v4.10.0~4
X-Git-Url: https://git.wafflesoft.org/?a=commitdiff_plain;h=c1274e851abb4b8a80dca0131038e23223a6eb85;p=rainny.git
Add option for monochrome mode (#2464)
---
diff --git a/src/app/features/settings/general/General.tsx b/src/app/features/settings/general/General.tsx
index ed11ec4..b861a06 100644
--- a/src/app/features/settings/general/General.tsx
+++ b/src/app/features/settings/general/General.tsx
@@ -305,6 +305,7 @@ function PageZoomInput() {
function Appearance() {
const [systemTheme, setSystemTheme] = useSetting(settingsAtom, 'useSystemTheme');
+ const [monochromeMode, setMonochromeMode] = useSetting(settingsAtom, 'monochromeMode');
const [twitterEmoji, setTwitterEmoji] = useSetting(settingsAtom, 'twitterEmoji');
return (
@@ -332,6 +333,13 @@ function Appearance() {
/>
+
+ }
+ />
+
+
{
document.body.className = '';
document.body.classList.add(configClass, varsClass);
document.body.classList.add(...activeTheme.classNames);
- }, [activeTheme]);
+
+ if (monochromeMode) {
+ document.body.style.filter = 'grayscale(1)';
+ } else {
+ document.body.style.filter = '';
+ }
+ }, [activeTheme, monochromeMode]);
return {children};
}
diff --git a/src/app/state/settings.ts b/src/app/state/settings.ts
index 15bf9a1..31ee6cc 100644
--- a/src/app/state/settings.ts
+++ b/src/app/state/settings.ts
@@ -14,6 +14,7 @@ export interface Settings {
useSystemTheme: boolean;
lightThemeId?: string;
darkThemeId?: string;
+ monochromeMode?: boolean;
isMarkdown: boolean;
editorToolbar: boolean;
twitterEmoji: boolean;
@@ -47,6 +48,7 @@ const defaultSettings: Settings = {
useSystemTheme: true,
lightThemeId: undefined,
darkThemeId: undefined,
+ monochromeMode: false,
isMarkdown: true,
editorToolbar: false,
twitterEmoji: false,