feat: comments

* create comment
* reply to comment thread
* edit comment
* delete comment
* resolve comment
This commit is contained in:
Philipinho
2023-11-09 16:52:34 +00:00
parent dea2cad89c
commit 4cb7a56f65
49 changed files with 1486 additions and 87 deletions

View File

@ -0,0 +1,17 @@
import { atom } from 'jotai';
import { atomFamily } from 'jotai/utils';
import { IComment } from '@/features/comment/types/comment.types';
export const commentsAtom = atomFamily((pageId: string) => atom<IComment[]>([]));
export const showCommentPopupAtom = atom(false);
export const activeCommentIdAtom = atom<string | null>(null);
export const draftCommentIdAtom = atom<string | null>(null);
export const deleteCommentAtom = atomFamily((pageId: string) => atom(
null,
(get, set, idToDelete: string) => {
const currentPageComments = get(commentsAtom(pageId));
const updatedComments = currentPageComments.filter(comment => comment.id !== idToDelete);
set(commentsAtom(pageId), updatedComments);
}
));