diff options
| author | Henry Jameson <me@hjkos.com> | 2023-11-13 17:26:53 +0200 |
|---|---|---|
| committer | Henry Jameson <me@hjkos.com> | 2023-11-13 17:26:53 +0200 |
| commit | c059f4a7ee16c0128c348c43c9d468e7cfdb5ef7 (patch) | |
| tree | 12e816bd639f1ef6fa531c0df602e115b2a99ca7 /src/services | |
| parent | e0b8ad9f141f418ab3d8ebc7a9e68bcb755c820a (diff) | |
| parent | 18c0cf1845a95db2d0e894d2455cdd4dc545aaf7 (diff) | |
Merge remote-tracking branch 'origin/develop' into notifications-thru-sw
Diffstat (limited to 'src/services')
| -rw-r--r-- | src/services/api/api.service.js | 19 | ||||
| -rw-r--r-- | src/services/notification_utils/notification_utils.js | 14 | ||||
| -rw-r--r-- | src/services/random_seed/random_seed.service.js | 3 |
3 files changed, 36 insertions, 0 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index c6bca10b..f45e3958 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -107,6 +107,7 @@ const PLEROMA_ANNOUNCEMENTS_URL = '/api/v1/pleroma/admin/announcements' const PLEROMA_POST_ANNOUNCEMENT_URL = '/api/v1/pleroma/admin/announcements' const PLEROMA_EDIT_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}` const PLEROMA_DELETE_ANNOUNCEMENT_URL = id => `/api/v1/pleroma/admin/announcements/${id}` +const PLEROMA_SCROBBLES_URL = id => `/api/v1/pleroma/accounts/${id}/scrobbles` const PLEROMA_ADMIN_CONFIG_URL = '/api/pleroma/admin/config' const PLEROMA_ADMIN_DESCRIPTIONS_URL = '/api/pleroma/admin/config/descriptions' @@ -1765,6 +1766,23 @@ const installFrontend = ({ credentials, payload }) => { }) } +const fetchScrobbles = ({ accountId, limit = 1 }) => { + let url = PLEROMA_SCROBBLES_URL(accountId) + const params = [['limit', limit]] + const queryString = map(params, (param) => `${param[0]}=${param[1]}`).join('&') + url += `?${queryString}` + return fetch(url, {}) + .then((response) => { + if (response.ok) { + return response.json() + } else { + return { + error: response + } + } + }) +} + const apiService = { verifyCredentials, fetchTimeline, @@ -1878,6 +1896,7 @@ const apiService = { postAnnouncement, editAnnouncement, deleteAnnouncement, + fetchScrobbles, adminFetchAnnouncements, fetchInstanceDBConfig, fetchInstanceConfigDescriptions, diff --git a/src/services/notification_utils/notification_utils.js b/src/services/notification_utils/notification_utils.js index 4c6c4d8a..fbd5c014 100644 --- a/src/services/notification_utils/notification_utils.js +++ b/src/services/notification_utils/notification_utils.js @@ -133,3 +133,17 @@ export const prepareNotificationObject = (notification, i18n) => { return notifObj } + +export const countExtraNotifications = (store) => { + const mergedConfig = store.getters.mergedConfig + + if (!mergedConfig.showExtraNotifications) { + return 0 + } + + return [ + mergedConfig.showChatsInExtraNotifications ? store.getters.unreadChatCount : 0, + mergedConfig.showAnnouncementsInExtraNotifications ? store.getters.unreadAnnouncementCount : 0, + mergedConfig.showFollowRequestsInExtraNotifications ? store.getters.followRequestCount : 0 + ].reduce((a, c) => a + c, 0) +} diff --git a/src/services/random_seed/random_seed.service.js b/src/services/random_seed/random_seed.service.js new file mode 100644 index 00000000..33f92e81 --- /dev/null +++ b/src/services/random_seed/random_seed.service.js @@ -0,0 +1,3 @@ +const genRandomSeed = () => `${Math.random()}`.replace('.', '-') + +export default genRandomSeed |
