mirror of
https://github.com/muerwre/vault-frontend.git
synced 2025-04-25 12:56:41 +07:00
15 lines
511 B
TypeScript
15 lines
511 B
TypeScript
import { useMemo } from 'react';
|
|
|
|
import { useUser } from '~/hooks/auth/useUser';
|
|
import { INode } from '~/types';
|
|
import { canEditNode, canLikeNode, canStarNode } from '~/utils/node';
|
|
|
|
export const useNodePermissions = (node?: INode) => {
|
|
const { user } = useUser();
|
|
|
|
const edit = useMemo(() => canEditNode(node, user), [node, user]);
|
|
const like = useMemo(() => canLikeNode(node, user), [node, user]);
|
|
const star = useMemo(() => canStarNode(node, user), [node, user]);
|
|
|
|
return [edit, like, star];
|
|
};
|