| import { DeletePost, EditPost } from '@/features/Post'; |
| import { PostCard, useFetchPosts } from '@/entities/Post'; |
| import { classNames } from '@/shared/lib/classNames/classNames'; |
| import cls from './PostList.module.scss'; |
|
|
| interface PostListProps { |
| className?: string; |
| } |
|
|
| export const PostList = (props: PostListProps) => { |
| const { className } = props; |
| const { data, isPending, isError } = useFetchPosts(); |
|
|
| if (isPending) { |
| return <div>...Идет загрузка</div>; |
| } |
| if (isError) { |
| return <div>Произошла непредвиденная ошибка</div>; |
| } |
|
|
| return ( |
| <div className={classNames(cls.PostList, {}, [className])}> |
| {data?.map((post) => ( |
| <PostCard |
| key={post.id} |
| post={post} |
| editButton={<EditPost postId={post.id} />} |
| deleteButton={<DeletePost postId={post.id} />} |
| /> |
| ))} |
| </div> |
| ); |
| }; |
|
|