summaryrefslogtreecommitdiffstats
path: root/src/components/CommentsList/CommentsList.tsx
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2022-05-24 19:35:12 +0200
committerGitHub <noreply@github.com>2022-05-24 19:35:12 +0200
commitc85ab5ad43ccf52881ee224672c41ec30021cf48 (patch)
tree8058808d9bfca19383f120c46b34d99ff2f89f63 /src/components/CommentsList/CommentsList.tsx
parent52404177c07a2aab7fc894362fb3060dff2431a0 (diff)
parent11b9de44a4b2f305a6a484187805e429b2767118 (diff)
refactor: use storybook and atomic design (#16)
BREAKING CHANGE: rewrite most of the Typescript types, so the content format (the meta in particular) needs to be updated.
Diffstat (limited to 'src/components/CommentsList/CommentsList.tsx')
-rw-r--r--src/components/CommentsList/CommentsList.tsx69
1 files changed, 0 insertions, 69 deletions
diff --git a/src/components/CommentsList/CommentsList.tsx b/src/components/CommentsList/CommentsList.tsx
deleted file mode 100644
index 0eaac17..0000000
--- a/src/components/CommentsList/CommentsList.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import Comment from '@components/Comment/Comment';
-import Spinner from '@components/Spinner/Spinner';
-import { getCommentsByPostId } from '@services/graphql/queries';
-import { Comment as CommentData } from '@ts/types/comments';
-import { useIntl } from 'react-intl';
-import useSWR from 'swr';
-import styles from './CommentsList.module.scss';
-
-const CommentsList = ({
- articleId,
- comments,
-}: {
- articleId: number;
- comments: CommentData[];
-}) => {
- const intl = useIntl();
- const { data, error } = useSWR<CommentData[]>(
- '/api/comments',
- () => getCommentsByPostId(articleId),
- { fallbackData: comments }
- );
-
- const getCommentsList = () => {
- if (error) {
- return intl.formatMessage({
- defaultMessage: 'Failed to load.',
- description: 'CommentsList: failed to load',
- id: 'Zlkww3',
- });
- }
-
- if (!data) return <Spinner />;
-
- return data.map((comment) => {
- return (
- <Comment
- key={comment.databaseId}
- articleId={articleId}
- comment={comment}
- />
- );
- });
- };
-
- return (
- <>
- <h2 className={styles.title}>
- {intl.formatMessage({
- defaultMessage: 'Comments',
- description: 'CommentsList: Comments section title',
- id: 'Ns8CFb',
- })}
- </h2>
- {data && data.length > 0 ? (
- <ol className={styles.list}>{getCommentsList()}</ol>
- ) : (
- <p className={styles['no-comments']}>
- {intl.formatMessage({
- defaultMessage: 'No comments yet.',
- description: 'CommentsList: No comment message',
- id: 'e9L59q',
- })}
- </p>
- )}
- </>
- );
-};
-
-export default CommentsList;