mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 09:26:54 -06:00
DEV: APIs to disable PWA badging and unsubscribe from user notifications (#14595)
This commit is contained in:
parent
bc68da24cd
commit
e1d3175668
@ -1,12 +1,19 @@
|
||||
// Updates the PWA badging if available
|
||||
|
||||
let defaultBadgingDisabled = false;
|
||||
export function disableDefaultBadging() {
|
||||
defaultBadgingDisabled = true;
|
||||
}
|
||||
|
||||
export default {
|
||||
name: "badging",
|
||||
after: "message-bus",
|
||||
|
||||
initialize(container) {
|
||||
if (!navigator.setAppBadge) {
|
||||
// must have the Badging API
|
||||
if (defaultBadgingDisabled || !navigator.setAppBadge) {
|
||||
return;
|
||||
} // must have the Badging API
|
||||
}
|
||||
|
||||
const user = container.lookup("current-user:main");
|
||||
if (!user) {
|
||||
|
@ -13,11 +13,20 @@ import {
|
||||
} from "discourse/lib/push-notifications";
|
||||
import { isTesting } from "discourse-common/config/environment";
|
||||
|
||||
let subscribeToNotifications = true;
|
||||
export function unsubscribeFromNotifications() {
|
||||
subscribeToNotifications = false;
|
||||
}
|
||||
|
||||
export default {
|
||||
name: "subscribe-user-notifications",
|
||||
after: "message-bus",
|
||||
|
||||
initialize(container) {
|
||||
if (!subscribeToNotifications) {
|
||||
return;
|
||||
}
|
||||
|
||||
const user = container.lookup("current-user:main");
|
||||
const bus = container.lookup("message-bus:main");
|
||||
const appEvents = container.lookup("service:app-events");
|
||||
|
@ -90,6 +90,8 @@ import {
|
||||
addSearchSuggestion,
|
||||
} from "discourse/widgets/search-menu-results";
|
||||
import { CUSTOM_USER_SEARCH_OPTIONS } from "select-kit/components/user-chooser";
|
||||
import { unsubscribeFromNotifications } from "discourse/initializers/subscribe-user-notifications";
|
||||
import { disableDefaultBadging } from "discourse/initializers/badging";
|
||||
|
||||
// If you add any methods to the API ensure you bump up this number
|
||||
const PLUGIN_API_VERSION = "0.12.6";
|
||||
@ -1495,6 +1497,14 @@ class PluginApi {
|
||||
{ ignoreMissing: true }
|
||||
);
|
||||
}
|
||||
// Stops the subscribe-user-notifications initializer from listening to notifications
|
||||
unsubscribeFromNotifications() {
|
||||
unsubscribeFromNotifications();
|
||||
}
|
||||
// Stops the badging initializer from updating the PWA badge with the user's notification count
|
||||
disableDefaultBadging() {
|
||||
disableDefaultBadging();
|
||||
}
|
||||
|
||||
/**
|
||||
* Support for customizing the composer text. By providing a callback. Callbacks should
|
||||
|
Loading…
Reference in New Issue
Block a user