'use client'; import { useState } from 'react'; import type { PlazaPost } from '@/types/plaza'; import { PostGrid } from '@/components/feed/PostGrid'; import { fetchUserPosts } from '@/lib/api'; type UserPostGridProps = { slug: string; initialPosts: PlazaPost[]; initialCursor: string | null; initialHasMore: boolean; }; export function UserPostGrid({ slug, initialPosts, initialCursor, initialHasMore, }: UserPostGridProps) { const [posts, setPosts] = useState(initialPosts); const [cursor, setCursor] = useState(initialCursor); const [hasMore, setHasMore] = useState(initialHasMore); const [loading, setLoading] = useState(false); const loadMore = async () => { if (!cursor || loading) return; setLoading(true); try { const data = await fetchUserPosts(slug, { cursor }); setPosts((current) => [...current, ...data.posts]); setCursor(data.next_cursor); setHasMore(data.has_more); } finally { setLoading(false); } }; return (