import { useCallback } from 'react' import FeedView from '../components/FeedView.tsx' import { PostsService } from '../posts/postsService.ts' import { useParams } from 'react-router-dom' import SingleColumnLayout from '../../../layouts/SingleColumnLayout.tsx' import NavBar from '../../../components/NavBar.tsx' import { useFeedViewModel } from '../components/FeedView.ts' import NavButton from '../../../components/buttons/NavButton.tsx' import AuthNavButtons from '../../auth/components/AuthNavButtons.tsx' interface AuthorPageParams { postsService: PostsService } export default function AuthorPage({ postsService }: AuthorPageParams) { const { username } = useParams() const fetchPosts = useCallback( async (cursor: string | null, amount: number | null) => { return postsService.loadByAuthor(username!, cursor, amount) }, [postsService, username], ) const { pages, loadNextPage } = useFeedViewModel(fetchPosts) return ( home } > ) }