From 7aa1c13d17929baeec6cbff13a8798558772f583 Mon Sep 17 00:00:00 2001 From: MathMan05 Date: Sat, 18 Jul 2026 17:38:49 -0500 Subject: [PATCH] fix firefox bug and make a setting out of it --- src/webpage/localuser.ts | 23 ++++++++++++++++++++ src/webpage/style.css | 11 +++++++--- src/webpage/utils/storage/userPreferences.ts | 1 + translations/en.json | 1 + 4 files changed, 33 insertions(+), 3 deletions(-) diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 544fd3e..23a3d84 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -457,6 +457,13 @@ class Localuser { } this.pingEndpoint(); + const prefs = await getPreferences(); + const ml = document.getElementById("memberlisttoggle")!; + if (prefs.checkMemberList) { + ml.classList = ""; + } else { + ml.classList = "svgicon svg-friends"; + } } readonly inrelation = new Set(); outoffocus(): void { @@ -3119,6 +3126,22 @@ class Localuser { {initState: cur}, ); } + visuals.addCheckboxInput( + I18n.checkBoxMemberList(), + (c) => { + prefs.checkMemberList = c; + const ml = document.getElementById("memberlisttoggle")!; + if (c) { + ml.classList = ""; + } else { + ml.classList = "svgicon svg-friends"; + } + setPreferences(prefs); + }, + { + initState: !!prefs.checkMemberList, + }, + ); } { const animations = settings.addButton(I18n.accessibility.animations(), {contained: true}); diff --git a/src/webpage/style.css b/src/webpage/style.css index 0e2a47a..bc5705d 100644 --- a/src/webpage/style.css +++ b/src/webpage/style.css @@ -3353,6 +3353,11 @@ img.bigembedimg { opacity: 0.5; } #memberlisttoggle { + width: 24px; + height: 24px; + cursor: pointer; +} +#memberlisttoggle.svgicon { /* display: none; */ &::before { content: ""; @@ -3361,13 +3366,13 @@ img.bigembedimg { display: block; } } -#memberlisttoggle { - cursor: pointer; +#memberlisttoggle.svgicon { + -moz-appearance: initial; &::before { background: var(--primary-text-soft); } } -#memberlisttoggle:checked { +#memberlisttoggle.svgicon:checked { &::before { background: var(--primary-text-prominent); } diff --git a/src/webpage/utils/storage/userPreferences.ts b/src/webpage/utils/storage/userPreferences.ts index d017300..ff1cfe0 100644 --- a/src/webpage/utils/storage/userPreferences.ts +++ b/src/webpage/utils/storage/userPreferences.ts @@ -34,6 +34,7 @@ export class UserPreferences { theme: ThemeOption = ThemeOption.Dark; accentColor: string = "#5865F2"; emojiFont?: string; + checkMemberList = false; constructor(init?: Partial) { Object.assign(this, init); diff --git a/translations/en.json b/translations/en.json index 94343eb..63ee1a9 100644 --- a/translations/en.json +++ b/translations/en.json @@ -822,6 +822,7 @@ }, "remove": "Remove", "renderJoinAvatars": " Display avatars in member welcome messages: ", + "checkBoxMemberList":"Use a checkbox for the member list: ", "reply": "Reply", "replyingTo": "Replying to $1", "retrying": "Retrying...",