2022-08-25 21:12:35 +02:00
|
|
|
export type StreamNotificationSettings = {
|
|
|
|
enable_stream_audible_notifications: boolean;
|
|
|
|
enable_stream_desktop_notifications: boolean;
|
|
|
|
enable_stream_email_notifications: boolean;
|
|
|
|
enable_stream_push_notifications: boolean;
|
|
|
|
wildcard_mentions_notify: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
export type PmNotificationSettings = {
|
|
|
|
enable_desktop_notifications: boolean;
|
|
|
|
enable_sounds: boolean;
|
|
|
|
enable_offline_push_notifications: boolean;
|
|
|
|
enable_offline_email_notifications: boolean;
|
|
|
|
};
|
|
|
|
|
|
|
|
export type UserSettings = (StreamNotificationSettings & PmNotificationSettings) & {
|
2021-07-28 16:00:58 +02:00
|
|
|
color_scheme: number;
|
2021-08-02 00:00:40 +02:00
|
|
|
default_language: string;
|
|
|
|
default_view: string;
|
|
|
|
desktop_icon_count_display: number;
|
|
|
|
demote_inactive_streams: number;
|
|
|
|
dense_mode: boolean;
|
|
|
|
email_notifications_batching_period_seconds: number;
|
|
|
|
emojiset: string;
|
|
|
|
enable_digest_emails: boolean;
|
|
|
|
enable_drafts_synchronization: boolean;
|
|
|
|
enable_login_emails: boolean;
|
|
|
|
enable_marketing_emails: boolean;
|
|
|
|
enable_online_push_notifications: boolean;
|
|
|
|
enter_sends: boolean;
|
2021-10-25 19:17:19 +02:00
|
|
|
escape_navigates_to_default_view: boolean;
|
2021-08-02 00:00:40 +02:00
|
|
|
fluid_layout_width: boolean;
|
|
|
|
high_contrast_mode: boolean;
|
|
|
|
left_side_userlist: boolean;
|
|
|
|
message_content_in_email_notifications: boolean;
|
|
|
|
notification_sound: string;
|
|
|
|
pm_content_in_desktop_notifications: boolean;
|
|
|
|
presence_enabled: boolean;
|
|
|
|
realm_name_in_notifications: boolean;
|
2022-08-12 22:41:06 +02:00
|
|
|
user_list_style: number;
|
2021-08-02 00:00:40 +02:00
|
|
|
starred_message_counts: boolean;
|
|
|
|
translate_emoticons: boolean;
|
2022-04-08 16:04:22 +02:00
|
|
|
display_emoji_reaction_users: boolean;
|
2021-07-28 16:00:58 +02:00
|
|
|
twenty_four_hour_time: boolean;
|
2021-10-03 08:36:36 +02:00
|
|
|
send_stream_typing_notifications: boolean;
|
|
|
|
send_private_typing_notifications: boolean;
|
2021-10-03 08:53:35 +02:00
|
|
|
send_read_receipts: boolean;
|
2021-07-28 16:00:58 +02:00
|
|
|
};
|
|
|
|
|
2022-08-25 20:13:33 +02:00
|
|
|
export let user_settings = {} as UserSettings;
|
2021-07-28 16:00:58 +02:00
|
|
|
|
2022-08-25 20:13:33 +02:00
|
|
|
export function initialize_user_settings(params: Record<string, UserSettings>): void {
|
2021-07-28 16:00:58 +02:00
|
|
|
user_settings = params.user_settings;
|
|
|
|
}
|