src/Controller/Home/HomeController.php line 32

  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller\Home;
  4. use App\Manager\OAuth\AuthRedirectManager;
  5. use App\Provider\Store\StorePropsProvider;
  6. use App\Verifier\Install\ShopifyInstalledVerifier;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class HomeController extends AbstractController
  12. {
  13.     public function __construct(
  14.         private readonly ShopifyInstalledVerifier $shopifyInstalledVerifier,
  15.         private readonly AuthRedirectManager $authRedirectManager,
  16.         private readonly StorePropsProvider $storePropsProvider
  17.     ) {
  18.     }
  19.     #[Route(
  20.         '/{reactRouting}',
  21.         name: 'app_index',
  22.         requirements: ['reactRouting' => '.+'],
  23.         defaults: ['reactRouting' => null],
  24.         methods: ['GET'],
  25.         priority: -1
  26.     )]
  27.     public function home(Request $request): Response
  28.     {
  29.         $shop = $request->get('shop');
  30.         if ($shop && $this->shopifyInstalledVerifier->verify($request)) {
  31.             return $this->authRedirectManager->redirectAfterExpired($request);
  32.         }
  33.         return $this->render('index.html.twig', ['props' => $this->storePropsProvider->provide($shop)]);
  34.     }
  35. }