<?php

namespace App\Controller;

use App\Repository\PostRepository;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Symfony\Component\HttpFoundation\Request;

class PostController extends AbstractController
{
    private const POSTS_PER_PAGE = 10;

    #[Route('/', name: 'app_posts')]
    public function index(PostRepository $repository, Request $request): Response
    {
        $page = $request->query->getInt('page', 1);
        $posts = $repository->findPaginatedPosts($page, self::POSTS_PER_PAGE);
        $maxPage = ceil($posts->count() / self::POSTS_PER_PAGE);
        return $this->render('post/index.html.twig', [
            'posts' => $posts,
            'maxPage' => $maxPage,
            'page' => $page,
        ]);
    }
}


