From fd38a92717569d0ddc80aca2f5fcb721f658f140 Mon Sep 17 00:00:00 2001 From: Pico2x Date: Fri, 23 Sep 2022 15:02:52 -0400 Subject: [PATCH] Fix James's nits --- functions/src/create-post.ts | 6 ++---- web/components/create-post.tsx | 2 +- web/hooks/use-post.ts | 4 ++++ web/pages/group/[...slugs]/index.tsx | 2 +- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/functions/src/create-post.ts b/functions/src/create-post.ts index 6e326bed..113a34bd 100644 --- a/functions/src/create-post.ts +++ b/functions/src/create-post.ts @@ -68,10 +68,8 @@ export const createpost = newEndpoint({}, async (req, auth) => { const groupData = group.data() if (groupData) { const postIds = groupData.postIds ?? [] - if (postIds) { - postIds.push(postRef.id) - await groupRef.update({ postIds }) - } + postIds.push(postRef.id) + await groupRef.update({ postIds }) } } } diff --git a/web/components/create-post.tsx b/web/components/create-post.tsx index b5a3a345..c176e61d 100644 --- a/web/components/create-post.tsx +++ b/web/components/create-post.tsx @@ -11,7 +11,7 @@ import { MAX_POST_TITLE_LENGTH } from 'common/post' import { postPath } from 'web/lib/firebase/posts' import { Group } from 'common/group' -export default function CreatePost(props: { group?: Group }) { +export function CreatePost(props: { group?: Group }) { const [title, setTitle] = useState('') const [error, setError] = useState('') const [isSubmitting, setIsSubmitting] = useState(false) diff --git a/web/hooks/use-post.ts b/web/hooks/use-post.ts index bf7bc38c..ff7bf6b9 100644 --- a/web/hooks/use-post.ts +++ b/web/hooks/use-post.ts @@ -32,4 +32,8 @@ export const usePosts = (postIds: string[]) => { }, [postIds]) return posts + .filter( + (post, index, self) => index === self.findIndex((t) => t.id === post.id) + ) + .sort((a, b) => b.createdTime - a.createdTime) } diff --git a/web/pages/group/[...slugs]/index.tsx b/web/pages/group/[...slugs]/index.tsx index 1a825be3..d6c8d38c 100644 --- a/web/pages/group/[...slugs]/index.tsx +++ b/web/pages/group/[...slugs]/index.tsx @@ -56,7 +56,7 @@ import { Tabs } from 'web/components/layout/tabs' import { Avatar } from 'web/components/avatar' import { Title } from 'web/components/title' import { fromNow } from 'web/lib/util/time' -import CreatePost from 'web/components/create-post' +import { CreatePost } from 'web/components/create-post' export const getStaticProps = fromPropz(getStaticPropz) export async function getStaticPropz(props: { params: { slugs: string[] } }) {