Files
pasargad/src/components/pages/project/projectGridView.tsx
T

38 lines
1.0 KiB
TypeScript
Raw Normal View History

'use client';
2025-06-10 17:30:21 +03:30
import { getProjects } from '@/services/projects';
import { IProjectGridViewProps } from './project';
2025-06-10 17:30:21 +03:30
import ProjectsGrid from './ProjectGrid';
import Pagination from '@/components/layout/pagination';
import { useState } from 'react';
export default function ProjectsGridView({
initialProjects,
initialPagination,
}: IProjectGridViewProps) {
const [projects, setProjects] = useState(initialProjects);
const [pagination, setPagination] = useState(initialPagination);
const fetchPage = (page: number) => {
getProjects(page)
.then((res) => {
setProjects(res.data);
setPagination(res.pagination);
2025-06-10 17:30:21 +03:30
document
.getElementById('projectList')
?.scrollIntoView({ behavior: 'smooth', block: 'start' });
})
.catch((error) => {
console.error('Failed to fetch Projects:', error);
});
};
2025-06-10 17:30:21 +03:30
return (
<>
{projects?.length ? <ProjectsGrid projects={projects} /> : <></>}
<Pagination {...pagination} onPageChange={fetchPage} />
2025-06-10 17:30:21 +03:30
</>
);
}