src/AppBundle/Controller/BFF/HomeController.php line 28

  1. <?php
  2. namespace AppBundle\Controller\BFF;
  3. use AppBundle\Controller\Controller;
  4. use AppBundle\Services\BFF\HomeService;
  5. use MobileDetectBundle\DeviceDetector\MobileDetectorInterface;
  6. use Symfony\Component\HttpFoundation\JsonResponse;
  7. use Symfony\Component\HttpFoundation\RedirectResponse;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\HttpFoundation\Session\Session;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. class HomeController extends Controller
  13. {
  14.     public function __construct(
  15.         private HomeService $homeService,
  16.         private MobileDetectorInterface $mobileDetector,
  17.         
  18.         )
  19.     {
  20.         //$this->mobileDetector = $mobileDetector;
  21.     }
  22.     #[Route('/'name'homepage')]
  23.     public function index()
  24.     {
  25.         return $this->render('frontend/index.html.twig');
  26.     }
  27.     #[Route('/terminos-condiciones/politica-devoluciones'name'politica-devoluciones')]
  28.     public function politicaDevoluciones()
  29.     {
  30.         if ($this->mobileDetector->isMobile()) {
  31.             $template 'mobile/misc/politica-devoluciones.html.twig';
  32.         } else {
  33.             $template 'frontend/misc/politica-devoluciones.html.twig';
  34.         }
  35.         return $this->render($template);
  36.     }
  37.     /** UI- KIT PIN
  38.      *  Muestra informaciĆ³n sobre el UI kit y las recomendaciones de diseƱo de la PIN 
  39.      */
  40.     #[Route('/kit-ui'name'kit-ui')]
  41.     public function kitUIAction()
  42.     {
  43.         return $this->render('frontend/misc/kit-ui.html.twig');
  44.     }
  45.     #[Route('/sucursales'name'sucursales')]
  46.     public function sucursalesAction()
  47.     {
  48.         return $this->render('frontend/index.html.twig');
  49.     }
  50.     #[Route('/ayuda'name'faq-alta-usuario')]
  51.     public function faqAltaUsuarioAction()
  52.     {
  53.         return $this->render('frontend/index.html.twig');
  54.     }
  55.     #[Route('/ayuda/mi-perfil'name'perfil')]
  56.     public function perfilAction()
  57.     {
  58.         return $this->render('frontend/index.html.twig');
  59.     }
  60.     #[Route('/ayuda/catalogo'name'catalogo')]
  61.     public function catalogoAction()
  62.     {
  63.         return $this->render('frontend/index.html.twig');
  64.     }
  65.     #[Route('/ayuda/compras'name'compras')]
  66.     public function comprasAction()
  67.     {
  68.         return $this->render('frontend/index.html.twig');
  69.     }
  70.     #[Route('/ayuda/pagos'name'pagos')]
  71.     public function pagosAction()
  72.     {
  73.         return $this->render('frontend/index.html.twig',['activo'=>'pagos']);
  74.     }
  75.     #[Route('/ayuda/entregas'name'entregas')]
  76.     public function entregasAction()
  77.     {
  78.         return $this->render('frontend/index.html.twig',['activo'=>'entregas']);
  79.     }
  80.     #[Route(['/nosotros''/nosotros/{slug}'])]
  81.     public function nosotros()
  82.     {
  83.         return $this->render('frontend/index.html.twig');
  84.     }
  85.     #[Route(['/informacion-tecnica''/informacion-tecnica/{slug}'])]
  86.     public function informacionTenica()
  87.     {
  88.         return $this->render('frontend/index.html.twig');
  89.     }
  90.     #[Route('/terminos-condiciones'name'terminos-condiciones')]
  91.     public function terminosCondicionesAction()
  92.     {
  93.         if ($this->mobileDetector->isMobile()) {
  94.             $template 'frontend/mobile/misc/terminos-condiciones.html.twig';
  95.         } else {
  96.             $template 'frontend/misc/terminos-condiciones.html.twig';
  97.         }
  98.         return $this->render($template);
  99.     }
  100.     #[Route('/arq'name'landing-wix')]
  101.     public function landingWixAction()
  102.     {
  103.         return new RedirectResponse('https://contenidos.famiq.com.ar/arquitectura');
  104.     }
  105.     #[Route('/ayuda/preguntas/{seccion}')]
  106.     public function obtenerPreguntas(String $seccion)
  107.     {
  108.         return new JsonResponse($this->homeService->getPreguntasPorSeccion($seccion));
  109.     }
  110.     #[Route('/ayuda/destacados/{busqueda?null}'name'faq-destacados')]
  111.     public function obtenerDestacados(String $busqueda "")
  112.     {
  113.         return new JsonResponse($this->homeService->obtenerDestacados($busqueda));
  114.     }
  115.     #[Route('/tipo-cambio'name'tipo-cambio')]
  116.     public function getCotizacionDiaria()
  117.     {
  118.         return new JsonResponse($this->homeService->getCotizacionDiaria());
  119.     }
  120.     #[Route('/informacion-tecnica/glosario/definiciones'methods: ['GET'], name'glosario-definiciones')]
  121.     public function getDefiniciones()
  122.     {
  123.         return new JsonResponse($this->homeService->getDefiniciones()); 
  124.     }
  125.     #[Route('/info-de-carrito'methods: ['GET'], name'info-de-carrito')]
  126.     public function infoDeCarrito()
  127.     {
  128.         return new JsonResponse($this->homeService->infoDeCarrito());
  129.     }
  130.     #[Route('/cotizacion-moneda-del-dia'methods: ['GET'], name'cotizacion-del-dia')]
  131.     public function getCotizacionDelDiaAsync()
  132.     {   
  133.         $data $this->homeService->getCotizacionDelDiaAsync();
  134.         return new JsonResponse($data['cotizacionDelDia']);
  135.     }
  136.     #[Route('/componente/{id}'methods: ['GET'], name'datos-componente')]
  137.     public function obtenerDatosDeComponente($id)
  138.     {
  139.         return new JsonResponse($this->homeService->obtenerDatosDeComponente($id));
  140.     }
  141.     #[Route('/burguer-data'name'burguer-data')]
  142.     public function burguerData()
  143.     {
  144.         return new JsonResponse($this->homeService->burguerData());
  145.     }
  146.     #[Route('/estructura'methods'GET')]
  147.     public function indexAction(): JsonResponse
  148.     {
  149.         return new JsonResponse($this->homeService->indexAction());
  150.     }
  151.     #[Route('/lineas-de-productos'name'lineas-de-productos')]
  152.     public function lineaProducto()
  153.     {   
  154.         $data $this->homeService->lineaProducto();
  155.         $template $data['template'];
  156.         $categorias $data['categorias'];
  157.         return $this->render($template, array('categorias' => $categorias));
  158.     }
  159.     #[Route('/faq/legajo-impositivo'name'faq-legajos-impositivos')]
  160.     public function faqLegajosImpositivosAction()
  161.     {   
  162.         return $this->render('frontend/index.html.twig');    
  163.     }
  164.     #[Route('/faq/legajo-impositivo/archivos'name'faq-legajos-impositivos-archivos')]
  165.     public function faqLegajosImpositivosArchivos()
  166.     {
  167.         $data $this->homeService->faqLegajosImpositivosAction();
  168.         return new JsonResponse(["data"=>$data]);
  169.     }
  170.     #[Route('/novedad/{id}'name'novedad')]
  171.     public function novedad()
  172.     {
  173.         return $this->render('frontend/index.html.twig');
  174.     }
  175. }