| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- import type { HasObjectId } from '@growi/core';
- import { SupportedAction } from '~/interfaces/activity';
- import type { IInAppNotification } from '~/interfaces/in-app-notification';
- export type ActionMsgAndIconType = {
- actionMsg: string
- actionIcon: string
- }
- export const useActionMsgAndIconForModelNotification = (notification: IInAppNotification & HasObjectId): ActionMsgAndIconType => {
- const actionType: string = notification.action;
- let actionMsg: string;
- let actionIcon: string;
- switch (actionType) {
- case SupportedAction.ACTION_PAGE_LIKE:
- actionMsg = 'liked';
- actionIcon = 'favorite';
- break;
- case SupportedAction.ACTION_PAGE_BOOKMARK:
- actionMsg = 'bookmarked on';
- actionIcon = 'bookmark_add';
- break;
- case SupportedAction.ACTION_PAGE_UPDATE:
- actionMsg = 'updated on';
- actionIcon = 'update';
- break;
- case SupportedAction.ACTION_PAGE_RENAME:
- actionMsg = 'renamed';
- actionIcon = 'redo';
- break;
- case SupportedAction.ACTION_PAGE_DUPLICATE:
- actionMsg = 'duplicated';
- actionIcon = 'file_copy';
- break;
- case SupportedAction.ACTION_PAGE_DELETE:
- actionMsg = 'deleted';
- actionIcon = 'delete';
- break;
- case SupportedAction.ACTION_PAGE_DELETE_COMPLETELY:
- actionMsg = 'completely deleted';
- actionIcon = 'delete_forever';
- break;
- case SupportedAction.ACTION_PAGE_REVERT:
- actionMsg = 'reverted';
- actionIcon = 'undo';
- break;
- case SupportedAction.ACTION_PAGE_RECURSIVELY_RENAME:
- actionMsg = 'renamed under';
- actionIcon = 'redo';
- break;
- case SupportedAction.ACTION_PAGE_RECURSIVELY_DELETE:
- actionMsg = 'deleted under';
- actionIcon = 'delete_forever';
- break;
- case SupportedAction.ACTION_PAGE_RECURSIVELY_DELETE_COMPLETELY:
- actionMsg = 'deleted completely under';
- actionIcon = 'delete_forever';
- break;
- case SupportedAction.ACTION_PAGE_RECURSIVELY_REVERT:
- actionMsg = 'reverted under';
- actionIcon = 'undo';
- break;
- case SupportedAction.ACTION_COMMENT_CREATE:
- actionMsg = 'commented on';
- actionIcon = 'comment';
- break;
- case SupportedAction.ACTION_USER_REGISTRATION_APPROVAL_REQUEST:
- actionMsg = 'requested registration approval';
- actionIcon = 'add_comment';
- break;
- case SupportedAction.ACTION_PAGE_BULK_EXPORT_COMPLETED:
- actionMsg = 'export completed for';
- actionIcon = 'download';
- break;
- case SupportedAction.ACTION_PAGE_BULK_EXPORT_FAILED:
- case SupportedAction.ACTION_PAGE_BULK_EXPORT_JOB_EXPIRED:
- actionMsg = 'export failed for';
- actionIcon = 'error';
- break;
- default:
- actionMsg = '';
- actionIcon = '';
- }
- return {
- actionMsg,
- actionIcon,
- };
- };
|