mirror of
https://github.com/zulip/zulip.git
synced 2026-07-06 21:18:58 +08:00
Since, we didn't update `user_settings.color_scheme` for spectators and our recipient bar color calculations were based on it, this resulted in a wrong recipient bar color if the OS default color scheme of the user was different from `spectator-theme-preference` set by the user using the gear menu. To reproduce the bug: * Set preferred color scheme to `dark` in your OS settings / Chrome dev tools. * Login as spectator in Incognito. * Switch to light theme. You will see dark background colors in recipient bars.
31 lines
1010 B
TypeScript
31 lines
1010 B
TypeScript
import $ from "jquery";
|
|
|
|
import {localstorage} from "./localstorage";
|
|
import {page_params} from "./page_params";
|
|
import * as settings_config from "./settings_config";
|
|
import {user_settings} from "./user_settings";
|
|
|
|
export function enable(): void {
|
|
$(":root").removeClass("color-scheme-automatic").addClass("dark-theme");
|
|
|
|
if (page_params.is_spectator) {
|
|
const ls = localstorage();
|
|
ls.set("spectator-theme-preference", "dark");
|
|
user_settings.color_scheme = settings_config.color_scheme_values.night.code;
|
|
}
|
|
}
|
|
|
|
export function disable(): void {
|
|
$(":root").removeClass("color-scheme-automatic").removeClass("dark-theme");
|
|
|
|
if (page_params.is_spectator) {
|
|
const ls = localstorage();
|
|
ls.set("spectator-theme-preference", "light");
|
|
user_settings.color_scheme = settings_config.color_scheme_values.day.code;
|
|
}
|
|
}
|
|
|
|
export function default_preference_checker(): void {
|
|
$(":root").removeClass("dark-theme").addClass("color-scheme-automatic");
|
|
}
|