diff --git a/app/Http/Controllers/admin/TableController.php b/app/Http/Controllers/admin/TableController.php index 1b2f680..454d8fe 100644 --- a/app/Http/Controllers/admin/TableController.php +++ b/app/Http/Controllers/admin/TableController.php @@ -56,6 +56,7 @@ public function store(Request $request) 'name' => 'required|string|max:255', 'brand' => 'required|string|max:255', 'status' => 'required|in:Available,Booked,Unavailable', + 'price_per_hour' => 'required|numeric|min:0', ]); if ($validator->fails()) { @@ -68,6 +69,7 @@ public function store(Request $request) 'name' => $request->name, 'brand' => $request->brand, 'status' => $request->status, + 'price_per_hour' => $request->price_per_hour, 'venue_id' => auth()->user()->venue_id, ]); @@ -100,6 +102,7 @@ public function update(Request $request, $id) 'name' => 'required|string|max:255', 'brand' => 'required|string|max:255', 'status' => 'required|in:Available,Booked,Unavailable', + 'price_per_hour' => 'required|numeric|min:0', ]); if ($validator->fails()) { @@ -114,6 +117,7 @@ public function update(Request $request, $id) 'name' => $request->name, 'brand' => $request->brand, 'status' => $request->status, + 'price_per_hour' => $request->price_per_hour, ]); return redirect()->route('admin.tables.index') @@ -129,6 +133,9 @@ public function update(Request $request, $id) public function destroy($id) { $table = Table::where('venue_id', auth()->user()->venue_id)->findOrFail($id); + + $table->bookings()->delete(); + $table->delete(); return redirect()->route('admin.tables.index') diff --git a/app/Http/Controllers/pages/HomeController.php b/app/Http/Controllers/pages/HomeController.php index 3ffcf2a..c8bea99 100644 --- a/app/Http/Controllers/pages/HomeController.php +++ b/app/Http/Controllers/pages/HomeController.php @@ -13,8 +13,26 @@ class HomeController extends Controller // $this->middleware('auth'); // } - public function index() { - $venues = Venue::paginate(10); + public function index(Request $request) { + // Start with base query + $query = Venue::query(); + + // Search by venue name + if ($request->filled('name')) { + $query->where('name', 'like', '%' . $request->input('name') . '%'); + } + + // Filter by city/location (assuming this is based on address) + if ($request->filled('location')) { + $query->where('address', 'like', '%' . $request->input('location') . '%'); + } + + // Paginate the results + $venues = $query->paginate(6); + + // Retain the search parameters for pagination links + $venues->appends($request->only(['name', 'location'])); + return view('pages.home', compact('venues')); } } diff --git a/resources/views/admin/tables/create.blade.php b/resources/views/admin/tables/create.blade.php index 0a66e2c..1d3c8ab 100644 --- a/resources/views/admin/tables/create.blade.php +++ b/resources/views/admin/tables/create.blade.php @@ -37,6 +37,16 @@ class="w-full border border-gray-300 rounded-lg px-4 py-2 focus:outline-none foc
{{ $message }}
@enderror +{{ $message }}
+ @enderror +{{ $message }}
@enderror{{ $message }}
+ @enderror +6
-venue tersedia
+{{ $venues->total() }}
+venue tersedia
Urutkan berdasarkan: Harga - terendah
-Genteng
+{{ $venue->address }}
Mulai: Rp30,000 / jam @@ -83,7 +66,11 @@ class="flex flex-col h-full border border-gray-400 rounded-lg overflow-hidden">
Belum ada venue tersedia.
@endforelse