@replyke/core
Version:
Replyke: Build interactive apps with social features like comments, votes, feeds, user lists, notifications, and more.
1,111 lines • 209 kB
TypeScript
import { PayloadAction } from "@reduxjs/toolkit";
import type { UnifiedAppNotification, NotificationTemplates } from "../../interfaces/models/AppNotification";
import type { ReplykeState } from '../replykeReducers';
export interface AppNotificationsState {
notifications: UnifiedAppNotification[];
unreadCount: number;
loading: boolean;
hasMore: boolean;
page: number;
limit: number;
notificationTemplates?: Partial<NotificationTemplates>;
currentProjectId?: string;
}
export declare const appNotificationsSlice: import("@reduxjs/toolkit").Slice<AppNotificationsState, {
setProjectContext: (state: {
notifications: ({
type: "system";
action: string;
metadata: {
title?: string | undefined;
content?: string | undefined;
buttonData: {
text: string;
url: string;
} | null;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-comment";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reply";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
replyId: string;
replyContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-mention";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-mention";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-upvote";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-upvote";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
reactionType: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
reactionType: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction-milestone-specific";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
reactionType: string;
milestoneCount: number;
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction-milestone-total";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
milestoneCount: number;
reactionCounts: {
[x: string]: number;
};
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction-milestone-specific";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
reactionType: string;
milestoneCount: number;
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction-milestone-total";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
milestoneCount: number;
reactionCounts: {
[x: string]: number;
};
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "new-follow";
action: "open-profile";
metadata: {
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "connection-request";
action: "open-profile";
metadata: {
connectionId: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "connection-accepted";
action: "open-profile";
metadata: {
connectionId: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "space-membership-approved";
action: "open-space";
metadata: {
spaceId: string;
spaceName: string;
spaceShortId: string;
spaceSlug: string | null | undefined;
spaceAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
})[];
unreadCount: number;
loading: boolean;
hasMore: boolean;
page: number;
limit: number;
notificationTemplates?: {
entityComment?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
} | undefined;
commentReply?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
} | undefined;
entityMention?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
} | undefined;
commentMention?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
} | undefined;
entityUpvote?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
} | undefined;
commentUpvote?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
} | undefined;
entityReaction?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
} | undefined;
commentReaction?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
} | undefined;
entityReactionMilestoneSpecific?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
} | undefined;
entityReactionMilestoneTotal?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
} | undefined;
commentReactionMilestoneSpecific?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
} | undefined;
commentReactionMilestoneTotal?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
} | undefined;
newFollow?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
} | undefined;
connectionRequest?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
} | undefined;
connectionAccepted?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
} | undefined;
spaceMembershipApproved?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
} | undefined;
} | undefined;
currentProjectId?: string | undefined;
}, action: PayloadAction<string>) => void;
setLimit: (state: {
notifications: ({
type: "system";
action: string;
metadata: {
title?: string | undefined;
content?: string | undefined;
buttonData: {
text: string;
url: string;
} | null;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-comment";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reply";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
replyId: string;
replyContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-mention";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-mention";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-upvote";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-upvote";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
reactionType: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
reactionType: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction-milestone-specific";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
reactionType: string;
milestoneCount: number;
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction-milestone-total";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
milestoneCount: number;
reactionCounts: {
[x: string]: number;
};
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction-milestone-specific";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
reactionType: string;
milestoneCount: number;
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction-milestone-total";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
milestoneCount: number;
reactionCounts: {
[x: string]: number;
};
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "new-follow";
action: "open-profile";
metadata: {
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "connection-request";
action: "open-profile";
metadata: {
connectionId: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "connection-accepted";
action: "open-profile";
metadata: {
connectionId: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "space-membership-approved";
action: "open-space";
metadata: {
spaceId: string;
spaceName: string;
spaceShortId: string;
spaceSlug: string | null | undefined;
spaceAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
})[];
unreadCount: number;
loading: boolean;
hasMore: boolean;
page: number;
limit: number;
notificationTemplates?: {
entityComment?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
} | undefined;
commentReply?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReplyTemplateVars> | undefined;
} | undefined;
entityMention?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityMentionTemplateVars> | undefined;
} | undefined;
commentMention?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentMentionTemplateVars> | undefined;
} | undefined;
entityUpvote?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityUpvoteTemplateVars> | undefined;
} | undefined;
commentUpvote?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentUpvoteTemplateVars> | undefined;
} | undefined;
entityReaction?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionTemplateVars> | undefined;
} | undefined;
commentReaction?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionTemplateVars> | undefined;
} | undefined;
entityReactionMilestoneSpecific?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneSpecificTemplateVars> | undefined;
} | undefined;
entityReactionMilestoneTotal?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityReactionMilestoneTotalTemplateVars> | undefined;
} | undefined;
commentReactionMilestoneSpecific?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneSpecificTemplateVars> | undefined;
} | undefined;
commentReactionMilestoneTotal?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").CommentReactionMilestoneTotalTemplateVars> | undefined;
} | undefined;
newFollow?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").NewFollowTemplateVars> | undefined;
} | undefined;
connectionRequest?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionRequestTemplateVars> | undefined;
} | undefined;
connectionAccepted?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").ConnectionAcceptedTemplateVars> | undefined;
} | undefined;
spaceMembershipApproved?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
content?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").SpaceMembershipApprovedTemplateVars> | undefined;
} | undefined;
} | undefined;
currentProjectId?: string | undefined;
}, action: PayloadAction<number>) => void;
setNotificationTemplates: (state: {
notifications: ({
type: "system";
action: string;
metadata: {
title?: string | undefined;
content?: string | undefined;
buttonData: {
text: string;
url: string;
} | null;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-comment";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reply";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
replyId: string;
replyContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-mention";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-mention";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-upvote";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-upvote";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
reactionType: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
reactionType: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction-milestone-specific";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
reactionType: string;
milestoneCount: number;
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "entity-reaction-milestone-total";
action: "open-entity";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
milestoneCount: number;
reactionCounts: {
[x: string]: number;
};
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction-milestone-specific";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
reactionType: string;
milestoneCount: number;
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "comment-reaction-milestone-total";
action: "open-comment";
metadata: {
entityId: string;
entityShortId: string;
entityTitle: string | null | undefined;
entityContent: string | null | undefined;
commentId: string;
commentContent: string | null | undefined;
milestoneCount: number;
reactionCounts: {
[x: string]: number;
};
lastThreeUsers: {
id: string;
name: string | null | undefined;
username: string | null | undefined;
avatar: string | null | undefined;
}[];
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "new-follow";
action: "open-profile";
metadata: {
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "connection-request";
action: "open-profile";
metadata: {
connectionId: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "connection-accepted";
action: "open-profile";
metadata: {
connectionId: string;
initiatorId: string;
initiatorName: string | null | undefined;
initiatorUsername: string | null | undefined;
initiatorAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
} | {
type: "space-membership-approved";
action: "open-space";
metadata: {
spaceId: string;
spaceName: string;
spaceShortId: string;
spaceSlug: string | null | undefined;
spaceAvatar: string | null | undefined;
};
id: string;
userId: string;
isRead: boolean;
createdAt: string;
})[];
unreadCount: number;
loading: boolean;
hasMore: boolean;
page: number;
limit: number;
notificationTemplates?: {
entityComment?: {
title?: import("../../interfaces/models/AppNotification").TemplateField<import("../../interfaces/models/AppNotification").EntityCommentTemplateVars> | undefined;
content?: import("