From f9cb8f3a634e5ec7b4d5c0f5b96ca1cfe74d83b1 Mon Sep 17 00:00:00 2001 From: Ro Date: Mon, 21 Aug 2023 12:56:26 -0700 Subject: [PATCH] Turned on Index Search Turned on the new preliminary search on the index page. Still pretty raw but wanted to make sure all the plumbing was there. Next stage is to clean it up a bit and make it sexy --- app/Http/Controllers/FrontIndexController.php | 25 +++++++++++++++++-- resources/views/front/index.blade.php | 13 ++++++++++ routes/web.php | 1 + 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/FrontIndexController.php b/app/Http/Controllers/FrontIndexController.php index 470af0d..6929ecc 100644 --- a/app/Http/Controllers/FrontIndexController.php +++ b/app/Http/Controllers/FrontIndexController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; use App\Models\Location; @@ -13,7 +14,6 @@ class FrontIndexController extends Controller { $locations = Location::where("active", true)->get(); $count = count($locations); - $terms = "no|agenda"; $recent = Location::where("active", true) ->limit(5)->orderByDesc('updated_at')->get(); @@ -26,6 +26,27 @@ class FrontIndexController extends Controller ]); } + public function indexSearch(Request $request) + { + $terms = $request->index_search; + $rawSearch = $terms; + $terms = str_replace(",", "", $terms); + $terms = str_replace(" ", "|", $terms); + $results = DB::select("SELECT * FROM searchlocations('$terms')"); + + $locations = Location::where("active", true)->get(); + $count = count($locations); + $recent = Location::where("active", true) + ->limit(5)->orderByDesc('updated_at')->get(); + + return view('front.index', [ + 'count' => $count, + 'recent' => $recent, + 'title' => "The Bad Space", + 'results' => $results + ]); + } + public function about() { return view('front.about', [ @@ -41,7 +62,7 @@ class FrontIndexController extends Controller $name = $location->name; } return view('front.location', [ - 'title' => $name, + 'title' => str_replace(".", " ", $name), 'location' => $location, 'images' => json_decode($location->images), 'updated' => $location->updated_at->format('Y M d'), diff --git a/resources/views/front/index.blade.php b/resources/views/front/index.blade.php index 5ae28b2..45d407b 100644 --- a/resources/views/front/index.blade.php +++ b/resources/views/front/index.blade.php @@ -8,8 +8,21 @@ + @csrf + @isset($results) +
+
+ + Found {{count($results)}} results: +
+ @foreach($results as $location) + {{$location->name}}
+ @endforeach +
+
+ @endisset
{{$count}} diff --git a/routes/web.php b/routes/web.php index 0b1147c..bf6c1c4 100644 --- a/routes/web.php +++ b/routes/web.php @@ -22,6 +22,7 @@ Route::get("/", [FrontIndexController::class, 'start']); Route::get("/listings/{pageNum}", [FrontIndexController::class, 'listings']); Route::get("/about", [FrontIndexController::class, 'about']); Route::get("/location/{uuid}", [FrontIndexController::class, 'location']); +Route::post("/search", [FrontIndexController::class, 'indexSearch']); //auth Route::get("/login", [AuthController::class, 'showLogin']);