Private
Public Access
1
0
Files
MineSeeker/src/Controller/GameController.php

81 lines
2.4 KiB
PHP

<?php declare(strict_types=1);
/**
* This file is part of the SplendidBear Websites' projects.
*
* Copyright (c) 2019 @ www.splendidbear.org
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\DependencyInjection\Attribute\Autowire;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
/**
* Class GameController
*
* @package App\Controller
* @author Lang <https://www.splendidbear.org>
* @category Class
* @license https://www.gnu.org/licenses/lgpl-3.0.en.html GNU Lesser General Public License
* @link www.splendidbear.org
* @since 2026. 04. 09.
*/
class GameController extends AbstractController
{
public function __construct(
#[Autowire(env: 'APP_ENV')]
private readonly string $env,
#[Autowire(env: 'MERCURE_PUBLIC_URL')]
private readonly string $mercurePublicUrl,
#[Autowire(env: 'MERCURE_SUBSCRIBER_JWT')]
private readonly string $mercureSubscriberJwt,
) {
}
#[Route('/', name: 'MineSeekerBundle_homepage')]
public function index(): Response
{
return $this->render('Game/index.html.twig');
}
#[Route('/play', name: 'MineSeekerBundle_gamePlay')]
#[Route('/play/{gameAssoc}', name: 'MineSeekerBundle_gamePlayWId')]
public function play(): Response
{
return $this->render('Game/play.html.twig', [
'env' => $this->env,
'mercure_hub_url' => $this->mercurePublicUrl,
'mercure_subscriber_jwt' => $this->mercureSubscriberJwt,
]);
}
#[Route('/privacy-policy', name: 'MineSeekerBundle_privacy')]
public function privacy(): Response
{
return $this->render('Official/privacy.html.twig');
}
#[Route('/terms-of-service', name: 'MineSeekerBundle_terms')]
public function terms(): Response
{
return $this->render('Official/terms.html.twig');
}
#[Route('/contact', name: 'MineSeekerBundle_contact')]
public function contact(): Response
{
return $this->render('Official/contact.html.twig');
}
#[Route('/landing-page', name: 'MineSeekerBundle_landing')]
public function landing(): Response
{
return $this->render('Official/landing.html.twig');
}
}