diff --git a/src/app/(app)/says/page.tsx b/src/app/(app)/says/page.tsx index 5d487c47bf..a0e7d6c385 100644 --- a/src/app/(app)/says/page.tsx +++ b/src/app/(app)/says/page.tsx @@ -6,9 +6,9 @@ import { NothingFound } from '~/components/modules/shared/NothingFound' import { FullPageLoading } from '~/components/ui/loading' export default function Page() { - const { data, isLoading } = useSayListQuery() + const { data, isLoading, status } = useSayListQuery() - if (isLoading) { + if (isLoading || status === 'pending') { return } diff --git a/src/components/modules/say/SayMasonry.tsx b/src/components/modules/say/SayMasonry.tsx index c6d8aea001..287aa1bd62 100644 --- a/src/components/modules/say/SayMasonry.tsx +++ b/src/components/modules/say/SayMasonry.tsx @@ -1,6 +1,7 @@ 'use client' import { memo, useMemo } from 'react' +import Masonry from 'react-responsive-masonry' import { m } from 'framer-motion' import Markdown from 'markdown-to-jsx' import type { SayModel } from '@mx-space/api-client' @@ -8,7 +9,6 @@ import type { MarkdownToJSX } from 'markdown-to-jsx' import { useIsMobile } from '~/atoms/hooks' import { LoadMoreIndicator } from '~/components/modules/shared/LoadMoreIndicator' -import { Masonry } from '~/components/ui/masonry' import { RelativeTime } from '~/components/ui/relative-time' import { BottomToUpSoftScaleTransitionView, @@ -39,15 +39,19 @@ export const SayMasonry = () => { return ( <> - + + {list.map((item, index) => ( + + ))} + {hasNextPage && ( - + + {placeholderData.map((item) => ( + + ))} + )} @@ -63,7 +67,7 @@ const placeholderData = Array.from({ length: 10 }).map((_, index) => ({ })) const SaySkeleton = memo(() => { return ( -
+
@@ -99,7 +103,7 @@ const Item = memo<{