zulip/static/templates/settings/notification_settings.hbs
akshatdalton b573964bfa notifications: Add support for None option in Notification sound.
This commit adds support for a `None` option in the dropdown menu
of `Notification sound`. When this option is selected, no audible
notification is sent to the user.

`None` will appear as the first option in the dropdown menu, since
this is not categorized as a playable audio.

This new option is added so that folks can disable audio notifications
without losing their other notification configuration (like for PMs, mentions).

Necessary test case is added for this new option.

Fixes #16090.
2021-04-27 16:42:16 -07:00

121 lines
5.5 KiB
Handlebars

<div id="notification-settings" class="settings-section" data-name="notifications">
<form class="notification-settings-form">
<div id="general_notifications" class="subsection-parent">
<h3 class="inline-block">{{t "Notification triggers" }}</h3>
<div class="alert-notification" id="general-notify-settings-status"></div>
<p>{{t "Configure how Zulip notifies you about new messages." }}</p>
<table id="notification-table" class="table table-condensed table-bordered wrapped-table">
<thead>
<tr>
<th rowspan="2" width="30%"></th>
<th colspan="2" width="28%">{{t "Desktop"}}</th>
<th rowspan="2" width="14%" class="{{#if show_push_notifications_tooltip.push_notifications}}control-label-disabled{{/if}}">
{{t "Mobile"}}
{{#if (not page_params.realm_push_notifications_enabled) }}
<i class="fa fa-question-circle settings-info-icon tippy-zulip-tooltip" data-tippy-content="{{t 'Mobile push notifications are not configured on this server.' }}"></i>
{{/if}}
</th>
<th rowspan="2" width="14%">{{t "Email"}}</th>
<th rowspan="2" width="14%">@all
<i class="fa fa-question-circle settings-info-icon tippy-zulip-tooltip" data-tippy-content="{{t 'Whether wildcard mentions like @all are treated as mentions for the purpose of notifications.' }}"></i>
</th>
</tr>
<tr>
<th>{{t "Visual"}}</th>
<th>{{t "Audio"}}</th>
</tr>
</thead>
<tbody>
{{#each general_settings}}
<tr>
<td>{{ this.label }}</td>
{{#each this.notification_settings}}
{{> notification_settings_checkboxes
setting_name=this.setting_name
is_checked=this.is_checked
is_disabled=this.is_disabled }}
{{/each}}
</tr>
{{/each}}
</tbody>
<tbody id="stream-specific-notify-table">
{{> ../settings/stream_specific_notification_row }}
</tbody>
</table>
</div>
<div id="other_notifications" class="m-10 inline-block subsection-parent">
<h3 class="inline-block">{{t "Other notification settings" }}</h3>
<div class="alert-notification" id="other-notify-settings-status"></div>
<h5>{{t "Desktop" }}</h5>
<p><a id="send_test_notification">{{t "Send test notification" }}</a></p>
{{#each notification_settings.desktop_notification_settings}}
{{> settings_checkbox
setting_name=this
is_checked=(lookup ../page_params this)
label=(lookup ../settings_label this)}}
{{/each}}
<label for="notification_sound">
{{t "Notification sound" }}
</label>
<div class="input-group {{#unless enable_sound_select}}control-label-disabled{{/unless}}">
<select name="notification_sound" id="notification_sound" data-setting-widget-type="string"
{{#unless enable_sound_select}}
disabled
{{/unless}}>
<option value="none">{{t "None" }}</option>
{{#each page_params.available_notification_sounds}}
<option value="{{ this }}">{{ this }}</option>
{{/each}}
</select>
<span id="play_notification_sound">
<i class="fa fa-play-circle" aria-label="{{t 'Play sound' }}"></i>
</span>
</div>
<div class="input-group">
<label for="desktop_icon_count_display" class="dropdown-title">{{ settings_label.desktop_icon_count_display }}</label>
<select name="desktop_icon_count_display" id="desktop_icon_count_display" class="prop-element"
data-setting-widget-type="number">
{{> dropdown_options_widget option_values=desktop_icon_count_display_values}}
</select>
</div>
<h5>{{t "Mobile" }}</h5>
{{#each notification_settings.mobile_notification_settings}}
{{> settings_checkbox
setting_name=this
is_checked=(lookup ../page_params this)
label=(lookup ../settings_label this)
show_push_notifications_tooltip=(lookup ../show_push_notifications_tooltip this)}}
{{/each}}
<h5>{{t "Email" }}</h5>
{{#each notification_settings.email_notification_settings}}
{{> settings_checkbox
setting_name=this
is_checked=(lookup ../page_params this)
label=(lookup ../settings_label this)}}
{{/each}}
<h5>{{t "Presence" }}</h5>
{{#each notification_settings.presence_notification_settings}}
{{> settings_checkbox
setting_name=this
is_checked=(lookup ../page_params this)
label=(lookup ../settings_label this)}}
{{/each}}
</div>
</form>
</div>