fix review

This commit is contained in:
Muzakki Parsaoran Siregar 2025-09-04 10:09:32 +07:00
parent 5c59fffc5c
commit 0252dc8326
2 changed files with 94 additions and 202 deletions

View File

@ -41,25 +41,6 @@ class ReviewController extends Controller
return response()->json($review, 200); return response()->json($review, 200);
} }
// Update ulasan
public function update(Request $request, $id)
{
$review = Review::findOrFail($id);
$validated = $request->validate([
'rating' => 'integer|min:1|max:5',
'message' => 'string',
'name' => 'string|max:100',
'city' => 'string|max:100',
]);
$review->update($validated);
return response()->json([
'message' => 'Ulasan berhasil diperbarui',
'data' => $review
], 200);
}
// Hapus ulasan // Hapus ulasan
public function destroy($id) public function destroy($id)

View File

@ -7,9 +7,6 @@
<!-- Header --> <!-- Header -->
<div class="flex justify-between items-center mb-4"> <div class="flex justify-between items-center mb-4">
<h3 class="text-xl font-bold">Manajemen Ulasan</h3> <h3 class="text-xl font-bold">Manajemen Ulasan</h3>
<button class="bg-blue-600 text-white px-3 py-1 rounded" data-bs-toggle="modal" data-bs-target="#modalTambah">
<i class="bi bi-plus-lg mr-1"></i> Tambah Ulasan
</button>
</div> </div>
<!-- Alert sukses --> <!-- Alert sukses -->
@ -41,7 +38,8 @@
<td class="p-2 border border-gray-300 truncate">{{ $review->city }}</td> <td class="p-2 border border-gray-300 truncate">{{ $review->city }}</td>
<td class="p-2 border border-gray-300 text-center"> <td class="p-2 border border-gray-300 text-center">
@for ($s = 1; $s <= 5; $s++) @for ($s = 1; $s <= 5; $s++)
<i class="bi {{ $s <= $review->rating ? 'bi-star-fill text-yellow-500' : 'bi-star text-gray-400' }}"></i> <i
class="bi {{ $s <= $review->rating ? 'bi-star-fill text-yellow-500' : 'bi-star text-gray-400' }}"></i>
@endfor @endfor
</td> </td>
<td class="p-2 border border-gray-300 truncate" title="{{ $review->message }}"> <td class="p-2 border border-gray-300 truncate" title="{{ $review->message }}">
@ -49,10 +47,6 @@
</td> </td>
<td class="p-2 border border-gray-300 text-center"> <td class="p-2 border border-gray-300 text-center">
<div class="flex justify-center space-x-2"> <div class="flex justify-center space-x-2">
<button class="text-blue-600 hover:underline flex items-center pr-2.5"
data-bs-toggle="modal" data-bs-target="#modalEdit{{ $review->id }}">
<i class="bi bi-pencil mr-1"></i> Ubah
</button>
<button class="text-red-600 hover:underline flex items-center btn-delete" <button class="text-red-600 hover:underline flex items-center btn-delete"
data-action="{{ route('admin.reviews.destroy', $review->id) }}" data-action="{{ route('admin.reviews.destroy', $review->id) }}"
data-name="{{ $review->name }}"> data-name="{{ $review->name }}">
@ -73,90 +67,6 @@
</div> </div>
</div> </div>
<!-- Modal Tambah -->
<div class="modal fade" id="modalTambah" tabindex="-1">
<div class="modal-dialog">
<form action="{{ route('admin.reviews.store') }}" method="POST" class="modal-content">
@csrf
<div class="modal-header">
<h5 class="modal-title text-lg font-medium">Tambah Ulasan</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="mb-4">
<label class="block text-sm font-medium">Nama</label>
<input type="text" name="name" class="w-full p-2 border rounded" required>
</div>
<div class="mb-4">
<label class="block text-sm font-medium">Kota</label>
<input type="text" name="city" class="w-full p-2 border rounded" required>
</div>
<div class="mb-4">
<label class="block text-sm font-medium">Rating</label>
<select name="rating" class="w-full p-2 border rounded" required>
<option value="1">1 Bintang</option>
<option value="2">2 Bintang</option>
<option value="3">3 Bintang</option>
<option value="4">4 Bintang</option>
<option value="5">5 Bintang</option>
</select>
</div>
<div class="mb-4">
<label class="block text-sm font-medium">Pesan</label>
<textarea name="message" class="w-full p-2 border rounded" required></textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="bg-gray-300 text-black px-3 py-1 rounded" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="bg-blue-600 text-white px-3 py-1 rounded">Simpan</button>
</div>
</form>
</div>
</div>
<!-- Modal Edit -->
@foreach ($reviews as $review)
<div class="modal fade" id="modalEdit{{ $review->id }}" tabindex="-1">
<div class="modal-dialog">
<form action="{{ route('admin.reviews.update', $review->id) }}" method="POST" class="modal-content">
@csrf
@method('PUT')
<div class="modal-header">
<h5 class="modal-title text-lg font-medium">Edit Ulasan</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<div class="mb-4">
<label class="block text-sm font-medium">Nama</label>
<input type="text" name="name" value="{{ $review->name }}" class="w-full p-2 border rounded" required>
</div>
<div class="mb-4">
<label class="block text-sm font-medium">Kota</label>
<input type="text" name="city" value="{{ $review->city }}" class="w-full p-2 border rounded" required>
</div>
<div class="mb-4">
<label class="block text-sm font-medium">Rating</label>
<select name="rating" class="w-full p-2 border rounded" required>
<option value="1" {{ $review->rating == 1 ? 'selected' : '' }}>1 Bintang</option>
<option value="2" {{ $review->rating == 2 ? 'selected' : '' }}>2 Bintang</option>
<option value="3" {{ $review->rating == 3 ? 'selected' : '' }}>3 Bintang</option>
<option value="4" {{ $review->rating == 4 ? 'selected' : '' }}>4 Bintang</option>
<option value="5" {{ $review->rating == 5 ? 'selected' : '' }}>5 Bintang</option>
</select>
</div>
<div class="mb-4">
<label class="block text-sm font-medium">Pesan</label>
<textarea name="message" class="w-full p-2 border rounded" required>{{ $review->message }}</textarea>
</div>
</div>
<div class="modal-footer">
<button type="button" class="bg-gray-300 text-black px-3 py-1 rounded" data-bs-dismiss="modal">Batal</button>
<button type="submit" class="bg-blue-600 text-white px-3 py-1 rounded">Simpan Perubahan</button>
</div>
</form>
</div>
</div>
@endforeach
<!-- Modal Konfirmasi Hapus --> <!-- Modal Konfirmasi Hapus -->
<div class="modal fade" id="confirmDeleteModal" tabindex="-1"> <div class="modal fade" id="confirmDeleteModal" tabindex="-1">
@ -172,7 +82,8 @@
Apakah Anda yakin ingin menghapus ulasan dari <strong id="deleteName"></strong>? Apakah Anda yakin ingin menghapus ulasan dari <strong id="deleteName"></strong>?
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="bg-gray-300 text-black px-3 py-1 rounded" data-bs-dismiss="modal">Batal</button> <button type="button" class="bg-gray-300 text-black px-3 py-1 rounded"
data-bs-dismiss="modal">Batal</button>
<button type="submit" class="bg-red-600 text-white px-3 py-1 rounded">Ya, Hapus</button> <button type="submit" class="bg-red-600 text-white px-3 py-1 rounded">Ya, Hapus</button>
</div> </div>
</form> </form>