diff --git a/public/locales/en/translation.json b/public/locales/en/translation.json index fa71d5c0..96e02afe 100644 --- a/public/locales/en/translation.json +++ b/public/locales/en/translation.json @@ -83,6 +83,7 @@ "Comment successfully deleted": "Comment successfully deleted", "Commentator": "Commentator", "Comments": "Comments", + "CommentsWithCount": "{count, plural, =0 {{count} comments} one {{count} comment} few {{count} comments} other {{count} comments}}", "Communities": "Communities", "Community Discussion Rules": "Community Discussion Rules", "Community Principles": "Community Principles", diff --git a/public/locales/ru/translation.json b/public/locales/ru/translation.json index 5e5b61e9..ef1e6b8c 100644 --- a/public/locales/ru/translation.json +++ b/public/locales/ru/translation.json @@ -88,6 +88,7 @@ "Comment": "Комментировать", "Commentator": "Комментатор", "Comments": "Комментарии", + "CommentsWithCount": "{count, plural, =0 {{count} комментариев} one {{count} комментарий} few {{count} комментария} other {{count} комментариев}}", "Communities": "Сообщества", "Community Discussion Rules": "Правила дискуссий в сообществе", "Community Principles": "Принципы сообщества", diff --git a/src/components/Article/Comment/Comment.tsx b/src/components/Article/Comment/Comment.tsx index cf541ca3..31fc51be 100644 --- a/src/components/Article/Comment/Comment.tsx +++ b/src/components/Article/Comment/Comment.tsx @@ -30,6 +30,7 @@ type Props = { showArticleLink?: boolean clickedReply?: (id: number) => void clickedReplyId?: number + onDelete?: (id: number) => void } export const Comment = (props: Props) => { @@ -64,7 +65,10 @@ export const Comment = (props: Props) => { if (isConfirmed) { await deleteReaction(props.comment.id) - + // TODO: Учесть то что deleteReaction может вернуть error + if (props.onDelete) { + props.onDelete(props.comment.id) + } await showSnackbar({ body: t('Comment successfully deleted') }) } } catch (error) { diff --git a/src/components/Topic/TopicBadge/TopicBadge.tsx b/src/components/Topic/TopicBadge/TopicBadge.tsx index 9f7f712e..f4767986 100644 --- a/src/components/Topic/TopicBadge/TopicBadge.tsx +++ b/src/components/Topic/TopicBadge/TopicBadge.tsx @@ -115,12 +115,15 @@ export const TopicBadge = (props: Props) => {
- {t('shoutsWithCount', { count: props.topic?.stat?.shouts })} - {t('authorsWithCount', { count: props.topic?.stat?.authors })} + {t('shoutsWithCount', {count: props.topic?.stat?.shouts})} + {t('authorsWithCount', {count: props.topic?.stat?.authors})} - {t('followersWithCount', { count: props.topic?.stat?.followers })} + {t('FollowersWithCount', {count: props.topic?.stat?.followers})} + + {t('CommentsWithCount', {count: props.topic?.stat?.comments ?? 0})} +
- + ) } diff --git a/src/components/Views/AllTopics/AllTopics.tsx b/src/components/Views/AllTopics/AllTopics.tsx index 3fe6243d..fdb8b532 100644 --- a/src/components/Views/AllTopics/AllTopics.tsx +++ b/src/components/Views/AllTopics/AllTopics.tsx @@ -12,7 +12,6 @@ import { capitalize } from '../../../utils/capitalize' import { dummyFilter } from '../../../utils/dummyFilter' import { getImageUrl } from '../../../utils/getImageUrl' import { scrollHandler } from '../../../utils/scroll' -import { TopicCard } from '../../Topic/Card' import { Loading } from '../../_shared/Loading' import { SearchField } from '../../_shared/SearchField' diff --git a/src/components/Views/Author/Author.tsx b/src/components/Views/Author/Author.tsx index 0437d119..b57afa4c 100644 --- a/src/components/Views/Author/Author.tsx +++ b/src/components/Views/Author/Author.tsx @@ -127,9 +127,8 @@ export const AuthorView = (props: Props) => { } createEffect(() => { - const a = author() - if (a) { - fetchComments(a) + if (author()) { + fetchComments(author()) } }) @@ -139,6 +138,9 @@ export const AuthorView = (props: Props) => { : getImageUrl('production/image/logo_image.png'), ) const description = createMemo(() => getDescription(author()?.bio)) + const handleDeleteComment = (id: number) => { + setCommented((prev) => prev.filter((comment) => comment.id !== id)) + } return (
@@ -233,7 +235,14 @@ export const AuthorView = (props: Props) => {
diff --git a/src/graphql/client/core.ts b/src/graphql/client/core.ts index e02a6a0e..ad3acc04 100644 --- a/src/graphql/client/core.ts +++ b/src/graphql/client/core.ts @@ -135,6 +135,7 @@ export const apiClient = { user?: string }): Promise => { const response = await publicGraphQLClient.query(authorFollows, params).toPromise() + console.log('!!! response:', response) return response.data.get_author_follows },