Merge pull request #3090 from quay/styling-digest

Add confirmation modal to desktop notifications toggle & change styling for button
This commit is contained in:
Sam Chow 2018-05-23 11:36:02 -04:00 committed by GitHub
commit dff05f38c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 33 additions and 19 deletions

View file

@ -209,9 +209,16 @@
}
if (CookieService.get('quay.enabledDesktopNotifications') === 'on') {
CookieService.putPermanent('quay.enabledDesktopNotifications', 'off');
CookieService.clear('quay.notifications.mostRecentTimestamp');
$scope.notificationsPermissionsEnabled = false;
bootbox.confirm('Are you sure you want to turn off browser notifications?', confirmed => {
if (confirmed) {
CookieService.putPermanent('quay.enabledDesktopNotifications', 'off');
CookieService.clear('quay.notifications.mostRecentTimestamp');
$scope.$apply(() => {
$scope.notificationsPermissionsEnabled = false;
});
}
});
} else {
if (Notification.permission === 'default') {
Notification.requestPermission()
@ -219,15 +226,23 @@
if (newPermission === 'granted') {
CookieService.putPermanent('quay.enabledDesktopNotifications', 'on');
CookieService.putPermanent('quay.notifications.mostRecentTimestamp', new Date().getTime().toString());
$scope.notificationsPermissionsEnabled = true;
} else {
$scope.notificationsPermissionsEnabled = false;
}
$scope.$apply(() => {
$scope.notificationsPermissionsEnabled = (newPermission === 'granted');
});
});
} else if (Notification.permission === 'granted') {
CookieService.putPermanent('quay.enabledDesktopNotifications', 'on');
CookieService.putPermanent('quay.notifications.mostRecentTimestamp', new Date().getTime().toString());
$scope.notificationsPermissionsEnabled = true;
bootbox.confirm('Are you sure you want to turn on browser notifications?', confirmed => {
if (confirmed) {
CookieService.putPermanent('quay.enabledDesktopNotifications', 'on');
CookieService.putPermanent('quay.notifications.mostRecentTimestamp', new Date().getTime().toString());
$scope.$apply(() => {
$scope.notificationsPermissionsEnabled = true;
});
}
});
}
}
};

View file

@ -173,17 +173,16 @@
<tr>
<td>Desktop Notifications:</td>
<td>
<span>Enable Desktop Notifications:
<button class="btn btn-default"
ng-disabled="desktopNotificationsPermissionIsDisabled()"
ng-click="toggleDesktopNotifications()"
ng-model="notificationsPermissionsEnabled"
>{{ notificationsPermissionsEnabled ? 'enabled' : 'disabled' }}
</button>
</span>
<a class="co-modify-link"
ng-if="!desktopNotificationsPermissionIsDisabled()"
ng-disabled="desktopNotificationsPermissionIsDisabled()"
ng-click="toggleDesktopNotifications()"
ng-model="notificationsPermissionsEnabled"
>{{ notificationsPermissionsEnabled ? 'Enabled' : 'Disabled' }}
</a>
<span class="help-text"
ng-if="desktopNotificationsPermissionIsDisabled()"
>Note: Desktop notifications have been disabled, or are unavailable, in your browser.
ng-if="desktopNotificationsPermissionIsDisabled()">
Desktop notifications have been disabled, or are unavailable, in your browser.
</span>
</td>
</tr>