mirror of
https://github.com/zulip/zulip.git
synced 2025-11-10 00:46:03 +00:00
settings_config: Add generalize_stream_notification_setting table.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
(cherry picked from commit 5387e56da7)
This commit is contained in:
committed by
Tim Abbott
parent
827ef3fef4
commit
0015d546f4
@@ -584,6 +584,17 @@ export const stream_notification_settings: (keyof StreamNotificationSettings)[]
|
|||||||
"wildcard_mentions_notify",
|
"wildcard_mentions_notify",
|
||||||
];
|
];
|
||||||
|
|
||||||
|
export const generalize_stream_notification_setting: Record<
|
||||||
|
keyof StreamSpecificNotificationSettings,
|
||||||
|
keyof StreamNotificationSettings
|
||||||
|
> = {
|
||||||
|
desktop_notifications: "enable_stream_desktop_notifications",
|
||||||
|
audible_notifications: "enable_stream_audible_notifications",
|
||||||
|
push_notifications: "enable_stream_push_notifications",
|
||||||
|
email_notifications: "enable_stream_email_notifications",
|
||||||
|
wildcard_mentions_notify: "wildcard_mentions_notify",
|
||||||
|
};
|
||||||
|
|
||||||
export const pm_mention_notification_settings: (keyof PmNotificationSettings)[] = [
|
export const pm_mention_notification_settings: (keyof PmNotificationSettings)[] = [
|
||||||
"enable_desktop_notifications",
|
"enable_desktop_notifications",
|
||||||
"enable_sounds",
|
"enable_sounds",
|
||||||
|
|||||||
@@ -464,10 +464,7 @@ export function receives_notifications(stream_id, notification_name) {
|
|||||||
if (sub[notification_name] !== null) {
|
if (sub[notification_name] !== null) {
|
||||||
return sub[notification_name];
|
return sub[notification_name];
|
||||||
}
|
}
|
||||||
if (notification_name === "wildcard_mentions_notify") {
|
return user_settings[settings_config.generalize_stream_notification_setting[notification_name]];
|
||||||
return user_settings[notification_name];
|
|
||||||
}
|
|
||||||
return user_settings["enable_stream_" + notification_name];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export function all_subscribed_streams_are_in_home_view() {
|
export function all_subscribed_streams_are_in_home_view() {
|
||||||
|
|||||||
@@ -329,11 +329,8 @@ export function stream_setting_changed(e, from_notification_settings) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (is_notification_setting(setting) && sub[setting] === null) {
|
if (is_notification_setting(setting) && sub[setting] === null) {
|
||||||
if (setting === "wildcard_mentions_notify") {
|
sub[setting] =
|
||||||
sub[setting] = user_settings[setting];
|
user_settings[settings_config.generalize_stream_notification_setting[setting]];
|
||||||
} else {
|
|
||||||
sub[setting] = user_settings["enable_stream_" + setting];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
set_stream_property(sub, setting, e.target.checked, status_element);
|
set_stream_property(sub, setting, e.target.checked, status_element);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,9 +60,10 @@ export function get_unmatched_streams_for_notification_settings() {
|
|||||||
const settings_values = {};
|
const settings_values = {};
|
||||||
let make_table_row = false;
|
let make_table_row = false;
|
||||||
for (const notification_name of settings_config.stream_specific_notification_settings) {
|
for (const notification_name of settings_config.stream_specific_notification_settings) {
|
||||||
const prepend =
|
const default_setting =
|
||||||
notification_name === "wildcard_mentions_notify" ? "" : "enable_stream_";
|
user_settings[
|
||||||
const default_setting = user_settings[prepend + notification_name];
|
settings_config.generalize_stream_notification_setting[notification_name]
|
||||||
|
];
|
||||||
const stream_setting = stream_data.receives_notifications(
|
const stream_setting = stream_data.receives_notifications(
|
||||||
row.stream_id,
|
row.stream_id,
|
||||||
notification_name,
|
notification_name,
|
||||||
|
|||||||
Reference in New Issue
Block a user