fruits exists now

This commit is contained in:
Djalim Simaila 2024-02-22 08:35:51 +00:00
parent 4a36d03d64
commit f155fac4fd
3 changed files with 62 additions and 4 deletions

View File

@ -11,6 +11,43 @@ use GuzzleHttp\Client;
class SearchController extends AbstractController
{
private static function getEmojiName(string $emoji) : string {
switch ($emoji){
case "🍎":
return "apple";
case "🍐":
return "pear";
case "🍊":
return "orange";
case "🍋":
return "lemon";
case "🍌":
return "banana";
case "🍉":
return "watermelon";
case "🍇":
return "grape";
case "🍓":
return "strawberry";
case "🫐":
return "blueberry";
case "🍈":
return "melon";
case "🍒":
return "cherry";
case "🍑":
return "peach";
case "🍍":
return "pineapple";
case "🥝":
return "kiwi";
case "🥥":
return "coconut";
}
}
private static function makeRequest(string $method, string $endpoint, array $querryParams)
{
@ -48,8 +85,10 @@ class SearchController extends AbstractController
public function index(Request $request): Response
{
$page = $request->query->get('page');
$fruit = $request->query->get('fruit');
$fruit_querry = $request->query->get('q') . " " . SearchController::getEmojiName($fruit);
$result = SearchController::makeRequest("GET", "search", [
"q" => $request->query->get('q'),
"q" => $fruit_querry,
"type" => "release",
"page" => strval($page),
"per_page" => "15",
@ -58,6 +97,8 @@ class SearchController extends AbstractController
return $this->render('search/search.html.twig', [
'controller_name' => 'SearchController',
'query' => $request->query->get('q'),
'fruit_emoji' => $request->query->get('fruit'),
'fruit_name' => SearchController::getEmojiName($fruit),
'page' => $request->query->get('page'),
"next_page" => $page < $result["pagination"]["pages"] ? strval($page + 1) : strval($page),
"previous_page" => $page > 1 ? strval($page - 1) : strval($page),

View File

@ -19,6 +19,23 @@
<a href="{{url('index')}}">Frutti</a>
<form action="{{url('app_search')}}" method="get">
<input type="text" name="q" id="q" placeholder="Search" />
<select name="fruit" id="fruit">
<option value="🍎">🍎</option>
<option value="🍐">🍐</option>
<option value="🍊">🍊</option>
<option value="🍋">🍋</option>
<option value="🍌">🍌</option>
<option value="🍉">🍉</option>
<option value="🍇">🍇</option>
<option value="🍓">🍓</option>
<option value="🫐">🫐</option>
<option value="🍈">🍈</option>
<option value="🍒">🍒</option>
<option value="🍑">🍑</option>
<option value="🍍">🍍</option>
<option value="🥝">🥝</option>
<option value="🥥">🥥</option>
</select>
<label>
<input type="submit" value="search" />
<img src="{{ asset('/styles/search.svg') }}" alt="Search" />

View File

@ -9,7 +9,7 @@
</style>
<div class="example-wrapper">
<h1>results for {{ query }}! ✅</h1>
<h1>results for {{ query }} with {{fruit_emoji}} ✅</h1>
{% for result in results %}
{% set array = result['title']|split('-') %}
<div>
@ -22,8 +22,8 @@
<img src={{result['cover_image']}}></img>
</div>
{% endfor %}
<a href="/search?q={{query}}&page={{previous_page}}">previous page</a>
<a href="/search?q={{query}}&page={{previous_page}}&fruit={{fruit_emoji}}">previous page</a>
<p>{{page}}</p>
<a href="/search?q={{query}}&page={{next_page}}">next page</a>
<a href="/search?q={{query}}&page={{next_page}}&fruit={{fruit_emoji}}">next page</a>
</div>
{% endblock %}