src/Controller/PageController.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Controller\Catalog\CatalogRepository;
  4. use Doctrine\DBAL\Connection;
  5. use Symfony\Component\HttpFoundation\Request;
  6. use Symfony\Component\HttpFoundation\Response;
  7. use Symfony\Component\Routing\Annotation\Route;
  8. class PageController extends BaseController
  9. {
  10.     /**
  11.      * @Route("/", name="home", methods={"GET"})
  12.      */
  13.     public function home(Request $requestConnection $dbCatalogRepository $catalog): Response
  14.     {
  15.         $products $catalog->listProducts(15);
  16.         return $this->render('index.html.twig', [
  17.             'user' => $this->publicUser($this->getAuthorizedUser($request$db)),
  18.             'catalog_products' => $products,
  19.             'catalog_payload_json' => $catalog->payloadJson($products),
  20.         ]);
  21.     }
  22.     /**
  23.      * @Route("/profile", name="profile", methods={"GET"})
  24.      */
  25.     public function profile(Request $requestConnection $db): Response
  26.     {
  27.         $user $this->getAuthorizedUser($request$db);
  28.         if (!$user) {
  29.             return $this->redirectToRoute('login_page');
  30.         }
  31.         return $this->render('profile.html.twig', [
  32.             'user' => $this->publicUser($user),
  33.         ]);
  34.     }
  35.     /**
  36.      * @Route("/login", name="login_page", methods={"GET"})
  37.      */
  38.     public function loginPage(): Response
  39.     {
  40.         return $this->render('auth_page.html.twig', ['screen' => 'login']);
  41.     }
  42.     /**
  43.      * @Route("/register", name="register_page", methods={"GET"})
  44.      */
  45.     public function registerPage(): Response
  46.     {
  47.         return $this->render('auth_page.html.twig', ['screen' => 'register']);
  48.     }
  49. }