aboutsummaryrefslogtreecommitdiff
path: root/resources/assets/javascripts/bootstrap
diff options
context:
space:
mode:
authorThomas Hackl <hackl@data-quest.de>2024-10-16 12:54:11 +0000
committerThomas Hackl <hackl@data-quest.de>2024-10-16 12:54:11 +0000
commit00d2a512f915e39ee11bb908f166866d3d01f905 (patch)
treeddb449cd900868489c5391f2071040334ea8f965 /resources/assets/javascripts/bootstrap
parent2ec89581f92a83d10ceb30c2aa5c1f2d93432e3d (diff)
Resolve "Polishing: Töne für Notifications können nicht in allen Browsern abgespielt werden"
Closes #4684 Merge request studip/studip!3485
Diffstat (limited to 'resources/assets/javascripts/bootstrap')
-rw-r--r--resources/assets/javascripts/bootstrap/settings.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/resources/assets/javascripts/bootstrap/settings.js b/resources/assets/javascripts/bootstrap/settings.js
index a8c7ccd..4338763 100644
--- a/resources/assets/javascripts/bootstrap/settings.js
+++ b/resources/assets/javascripts/bootstrap/settings.js
@@ -15,6 +15,21 @@ STUDIP.domReady(() => {
});
$('#edit_userdata .email-change-confirm').hide();
+
+ const audioActive = $('input[name="personal_notifications_audio_activated"]');
+ audioActive.on('change', function() {
+ if (audioActive.is(':checked')) {
+ navigator.permissions.query({name: 'autoplay'})
+ .then(result => {
+ if (result.state !== 'granted') {
+ navigator.mediaDevices.getUserMedia({video: false, audio: true});
+ }
+ })
+ .catch(error => {
+ navigator.mediaDevices.getUserMedia({video: false, audio: true});
+ });
+ }
+ });
});
//