]> git.mxchange.org Git - friendica.git/blobdiff - view/templates/settings/settings.tpl
Merge pull request #8243 from MrPetovan/task/8238-cleanup-yesno
[friendica.git] / view / templates / settings / settings.tpl
index 3811e4f25c4169e1c25f2f3cb45568b9db63256a..511dfdcb3d53399a46434fb5c1d662cfbe1883a4 100644 (file)
 {{include file="field_checkbox.tpl" field=$desktop_notifications}}
 <script>
 (function(){
-    var elm = $("#id_{{$desktop_notifications.0}}_onoff");
-    var ckbox = $("#id_{{$desktop_notifications.0}}");
-
-    if (getNotificationPermission() === 'granted') {
-        ckbox.val(1);
-        elm.find(".off").addClass("hidden");
-        elm.find(".on").removeClass("hidden");
-    }
+       let $notificationField = $("#div_id_{{$desktop_notifications.0}}");
+       let $notificationCheckbox = $("#id_{{$desktop_notifications.0}}");
+
+       if (getNotificationPermission() === 'granted') {
+               $notificationCheckbox.prop('checked', true);
+       }
        if (getNotificationPermission() === null) {
-               elm.parent(".field.yesno").hide();
+               $notificationField.hide();
        }
 
-    $("#id_{{$desktop_notifications.0}}_onoff").on("click", function(e){
-
-        if (Notification.permission === 'granted') {
-            localStorage.setItem('notification-permissions', ckbox.val()==1 ? 'granted' : 'denied');
-        } else if (Notification.permission === 'denied') {
-            localStorage.setItem('notification-permissions', 'denied');
-
-            ckbox.val(0);
-            elm.find(".on").addClass("hidden");
-            elm.find(".off").removeClass("hidden");
-
-        } else if (Notification.permission === 'default') {
-            Notification.requestPermission(function(choice) {
-                if (choice === 'granted') {
-                    localStorage.setItem('notification-permissions', ckbox.val()==1 ? 'granted' : 'denied');
-
-                } else {
-                    localStorage.setItem('notification-permissions', 'denied');
-                    ckbox.val(0);
-                    elm.find(".on").addClass("hidden");
-                    elm.find(".off").removeClass("hidden");
-                }
-            });
-        }
-
-               //console.log(getNotificationPermission());
-
-
-    })
+       $notificationCheckbox.on('change', function(e) {
+               if (Notification.permission === 'granted') {
+                       localStorage.setItem('notification-permissions', $notificationCheckbox.prop('checked') ? 'granted' : 'denied');
+               } else if (Notification.permission === 'denied') {
+                       localStorage.setItem('notification-permissions', 'denied');
+
+                       $notificationCheckbox.prop('checked', false);
+               } else if (Notification.permission === 'default') {
+                       Notification.requestPermission(function(choice) {
+                               if (choice === 'granted') {
+                                       localStorage.setItem('notification-permissions', $notificationCheckbox.prop('checked') ? 'granted' : 'denied');
+                               } else {
+                                       localStorage.setItem('notification-permissions', 'denied');
+                                       $notificationCheckbox.prop('checked', false);
+                               }
+                       });
+               }
+       })
 })();
 </script>