mirror of
https://github.com/makeplane/plane
synced 2025-08-07 19:59:33 +00:00
[WEB-1803] chore: workspace notification sorting when we refresh the notifications on workspace notifications (#5049)
* chore: workspace notification sorting when we refresh the notifications on workspace notifications * chore: replaced sorting with ISO to EPOCH * chore: converted obj to array
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import isEmpty from "lodash/isEmpty";
|
||||
import orderBy from "lodash/orderBy";
|
||||
import set from "lodash/set";
|
||||
import update from "lodash/update";
|
||||
import { action, makeObservable, observable, runInAction } from "mobx";
|
||||
@@ -18,6 +19,8 @@ import {
|
||||
ENotificationTab,
|
||||
TNotificationTab,
|
||||
} from "@/constants/notification";
|
||||
// helpers
|
||||
import { convertToEpoch } from "@/helpers/date-time.helper";
|
||||
// services
|
||||
import workspaceNotificationService from "@/services/workspace-notification.service";
|
||||
// store
|
||||
@@ -119,7 +122,12 @@ export class WorkspaceNotificationStore implements IWorkspaceNotificationStore {
|
||||
*/
|
||||
notificationIdsByWorkspaceId = computedFn((workspaceId: string) => {
|
||||
if (!workspaceId || isEmpty(this.notifications)) return undefined;
|
||||
const workspaceNotificationIds = Object.values(this.notifications || {})
|
||||
const workspaceNotifications = orderBy(
|
||||
Object.values(this.notifications || []),
|
||||
(n) => convertToEpoch(n.created_at),
|
||||
["desc"]
|
||||
);
|
||||
const workspaceNotificationIds = workspaceNotifications
|
||||
.filter((n) => n.workspace === workspaceId)
|
||||
.filter((n) => {
|
||||
if (!this.filters.archived && !this.filters.snoozed) {
|
||||
|
||||
@@ -279,6 +279,18 @@ export const convertToISODateString = (dateString: string | undefined) => {
|
||||
return date.toISOString();
|
||||
};
|
||||
|
||||
/**
|
||||
* returns the date string in Epoch regardless of the timezone in input date string
|
||||
* @param dateString
|
||||
* @returns
|
||||
*/
|
||||
export const convertToEpoch = (dateString: string | undefined) => {
|
||||
if (!dateString) return dateString;
|
||||
|
||||
const date = new Date(dateString);
|
||||
return date.getTime();
|
||||
};
|
||||
|
||||
/**
|
||||
* get current Date time in UTC ISO format
|
||||
* @returns
|
||||
|
||||
Reference in New Issue
Block a user