fix: moves tmdb search under tmdb namespace
This commit is contained in:
@@ -37,3 +37,11 @@ controllersTorrentio:
|
|||||||
type: attribute
|
type: attribute
|
||||||
defaults:
|
defaults:
|
||||||
schemes: ['https']
|
schemes: ['https']
|
||||||
|
|
||||||
|
controllersTmdb:
|
||||||
|
resource:
|
||||||
|
path: ../src/Tmdb/Framework/Controller
|
||||||
|
namespace: App\Tmdb\Framework\Controller
|
||||||
|
type: attribute
|
||||||
|
defaults:
|
||||||
|
schemes: ['https']
|
||||||
|
|||||||
@@ -30,29 +30,4 @@ final class IndexController extends AbstractController
|
|||||||
'popular_tvshows' => $this->tmdb->popularTvShows(1, 6),
|
'popular_tvshows' => $this->tmdb->popularTvShows(1, 6),
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[Route('/test', name: 'app_test')]
|
|
||||||
public function test(Tmdb $tmdb, Request $request): Response
|
|
||||||
{
|
|
||||||
$results = [];
|
|
||||||
|
|
||||||
$term = $request->query->get('query') ?? null;
|
|
||||||
|
|
||||||
if (null !== $term) {
|
|
||||||
$tmdbResults = $tmdb->search($term);
|
|
||||||
|
|
||||||
foreach ($tmdbResults as $tmdbResult) {
|
|
||||||
/** @var TmdbResult $tmdbResult */
|
|
||||||
$results[] = [
|
|
||||||
'data' => $tmdbResult,
|
|
||||||
'text' => $tmdbResult->title,
|
|
||||||
'value' => "$tmdbResult->mediaType|$tmdbResult->imdbId",
|
|
||||||
];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $this->json([
|
|
||||||
'results' => $results,
|
|
||||||
]);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
38
src/Tmdb/Framework/Controller/ApiController.php
Normal file
38
src/Tmdb/Framework/Controller/ApiController.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Tmdb\Framework\Controller;
|
||||||
|
|
||||||
|
use App\Tmdb\Tmdb;
|
||||||
|
use App\Tmdb\TmdbResult;
|
||||||
|
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Component\Routing\Attribute\Route;
|
||||||
|
|
||||||
|
class ApiController extends AbstractController
|
||||||
|
{
|
||||||
|
#[Route('/api/tmdb/ajax-search', name: 'api_tmdb_ajax_search', methods: ['GET'])]
|
||||||
|
public function test(Tmdb $tmdb, Request $request): Response
|
||||||
|
{
|
||||||
|
$results = [];
|
||||||
|
|
||||||
|
$term = $request->query->get('query') ?? null;
|
||||||
|
|
||||||
|
if (null !== $term) {
|
||||||
|
$tmdbResults = $tmdb->search($term);
|
||||||
|
|
||||||
|
foreach ($tmdbResults as $tmdbResult) {
|
||||||
|
/** @var TmdbResult $tmdbResult */
|
||||||
|
$results[] = [
|
||||||
|
'data' => $tmdbResult,
|
||||||
|
'text' => $tmdbResult->title,
|
||||||
|
'value' => "$tmdbResult->mediaType|$tmdbResult->imdbId",
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->json([
|
||||||
|
'results' => $results,
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="relative">
|
<div class="relative">
|
||||||
<form id="search" action="{{ path('app_search') }}">
|
<form id="search" action="{{ path('app_search') }}">
|
||||||
<select
|
<select
|
||||||
{{ stimulus_controller('search_bar')|stimulus_controller('symfony/ux-autocomplete/autocomplete', {url: path('app_test'), create: false, highlight: false}) }}
|
{{ stimulus_controller('search_bar')|stimulus_controller('symfony/ux-autocomplete/autocomplete', {url: path('api_tmdb_ajax_search'), create: false, highlight: false}) }}
|
||||||
name="term"
|
name="term"
|
||||||
class="w-full bg-orange-500 rounded-md bg-clip-padding backdrop-filter
|
class="w-full bg-orange-500 rounded-md bg-clip-padding backdrop-filter
|
||||||
backdrop-blur-md bg-opacity-40 placeholder:text-slate-200 text-gray-50
|
backdrop-blur-md bg-opacity-40 placeholder:text-slate-200 text-gray-50
|
||||||
|
|||||||
Reference in New Issue
Block a user