From 7526138ad26aa5dff0b30f4f0d8f24efb70fba36 Mon Sep 17 00:00:00 2001 From: "Christopher C. Wells" Date: Sat, 23 Jan 2021 21:54:58 -0800 Subject: [PATCH] Add search/load support to recipes --- app/Http/Controllers/RecipeController.php | 3 +- app/JsonApi/Adapters/RecipeAdapter.php | 9 ++- .../views/components/search-view.blade.php | 68 ++++++++++++++++++ resources/views/foods/index.blade.php | 72 ++----------------- resources/views/recipes/index.blade.php | 66 ++++++++--------- 5 files changed, 116 insertions(+), 102 deletions(-) create mode 100644 resources/views/components/search-view.blade.php diff --git a/app/Http/Controllers/RecipeController.php b/app/Http/Controllers/RecipeController.php index 5472440..c3633ad 100644 --- a/app/Http/Controllers/RecipeController.php +++ b/app/Http/Controllers/RecipeController.php @@ -26,8 +26,7 @@ class RecipeController extends Controller */ public function index(): View { - return view('recipes.index') - ->with('recipes', Recipe::all()->sortBy('name')); + return view('recipes.index'); } /** diff --git a/app/JsonApi/Adapters/RecipeAdapter.php b/app/JsonApi/Adapters/RecipeAdapter.php index 1c4846b..55eff0d 100644 --- a/app/JsonApi/Adapters/RecipeAdapter.php +++ b/app/JsonApi/Adapters/RecipeAdapter.php @@ -40,7 +40,14 @@ class RecipeAdapter extends AbstractAdapter */ protected function filter($query, Collection $filters) { - $this->filterWithScopes($query, $filters); + if ($term = $filters->get('search')) { + $query->where('recipes.name', 'like', "%{$term}%") + ->orWhere('recipes.description', 'like', "%{$term}%") + ->orWhere('recipes.source', 'like', "%{$term}%"); + } + else { + $this->filterWithScopes($query, $filters); + } } /** diff --git a/resources/views/components/search-view.blade.php b/resources/views/components/search-view.blade.php new file mode 100644 index 0000000..9c42cb2 --- /dev/null +++ b/resources/views/components/search-view.blade.php @@ -0,0 +1,68 @@ +
+ +
+ {{ $results }} +
+ + Load more + +
+ +@once + @push('scripts') + + @endpush +@endonce diff --git a/resources/views/foods/index.blade.php b/resources/views/foods/index.blade.php index 82a48da..135d811 100644 --- a/resources/views/foods/index.blade.php +++ b/resources/views/foods/index.blade.php @@ -9,15 +9,9 @@
-
- -
-