Update DONE

This commit is contained in:
HANIF FEBRIANSYAH 2024-11-11 09:27:58 +07:00
parent 728c9f531f
commit 67c7e0aa38
8 changed files with 93 additions and 86 deletions

View File

@ -18,7 +18,7 @@ class AdminDataKursusController extends Controller
public function dataKursus()
{
// Mengambil semua data kursus dari model DataKursus
$courses = DataKursus::all();
$courses = DataKursus::paginate(5);
// Mengambil gambar untuk setiap course, jika ada
foreach ($courses as $course) {
@ -30,6 +30,7 @@ public function dataKursus()
}
public function create()
{
return view('admin.tambahDataKursusAdmin');

View File

@ -31,7 +31,7 @@ public function home()
public function kursus()
{
$data_kursus = DataKursus::all();
$data_kursus = DataKursus::inRandomOrder()->get();
foreach ($data_kursus as $item) {
$item->deskripsi = \Illuminate\Support\Str::words($item->deskripsi, 22,);
}

View File

@ -3,39 +3,50 @@
<div class="container">
<div class="py-10">
<div class="flex justify-end items-center pb-4 ">
<a class="bg-[#4F7F81] py-2 px-4 rounded-xl shadow-md shadow-gray-600 hover:bg-[#3F6A6B] text-white font-bold"
href="{{ route('admin.create') }}">Tambah Data</a>
</div>
<div class="relative overflow-x-auto sm:rounded-lg">
<table class="w-full text-sm text-left rtl:text-right shadow-md shadow-gray-600 text-gray-500">
<thead class="text-xs text-gray-700 uppercase shadow-md shadow-gray-600 bg-gray-50">
<table class="w-full text-sm text-left rtl:text-right shadow-gray-600 text-gray-500">
<thead class="text-xs text-gray-700 uppercase shadow-gray-600 bg-gray-50">
<tr>
<th scope="col" class="px-6 py-3">No</th>
<th scope="col" class="px-6 py-3">Nama Kursus</th>
{{-- <th scope="col" class="px-6 py-3">Deskripsi</th> --}}
<th scope="col" class="px-6 py-3">Deskripsi</th>
<th scope="col" class="px-6 py-3">Detail</th>
<th scope="col" class="px-6 py-3">Popular</th>
<th scope="col" class="px-6 py-3">Gambar</th>
<th scope="col" class="px-6 py-3">Aksi</th>
<th scope="col" class="px-10 py-3">Aksi</th>
</tr>
</thead>
<tbody class="shadow-md shadow-gray-600">
<tbody class=" shadow-gray-600">
@foreach ($courses as $index => $course)
<tr class="odd:bg-white even:bg-gray-50 shadow-md shadow-gray-600">
<tr class="odd:bg-white even:bg-gray-50 shadow-gray-600 border">
<th scope="row"
class="justify-center items-center px6 py-4 font-medium text-gray-900 whitespace-nowrap">
<p class="m-auto space-x-2 flex justify-center">
{{ $index + 1 }}
{{ ($courses->currentPage() - 1) * $courses->perPage() + $loop->iteration }}
</p>
</th>
<td class="px-6 py-4 m-auto">
{{ $course->nama_kursus }}
</td>
{{-- <td class="px-6 py-4 m-auto">
{{ Str::limit($course->deskripsi, 20, '...') }}
<td class="px-6 py-4 m-auto">
{{ Str::limit($course->deskripsi, 200, '...') }}
</td>
<td class="px-6 py-4 m-auto">
<div class="space-y-2">
<div><strong>Paket:</strong> {!! Str::limit($course->paket, 50, '...') !!} </div>
<div><strong>Metode Pembelajaran:</strong> {!! Str::limit($course->metode, 50, '...') !!} </div>
<div><strong>Fasilitas:</strong> {!! Str::limit($course->fasilitas, 50, '...') !!} </div>
<div><strong>Lokasi:</strong> {!! Str::limit($course->lokasi, 50, '...') !!} </div>
</div>
</td>
</td> --}}
<td class="px-6 py-4 m-auto">
{{ $course->popular }}
</td>
@ -43,17 +54,22 @@ class="justify-center items-center px6 py-4 font-medium text-gray-900 whitespac
<img src="{{ asset('storage/' . $course->img) }}"
class="w-72 h-44 shadow-md shadow-gray-500 object-cover" alt="">
</td>
<td class="justify-center items-center px6 py-4">
<div class="m-auto space-x-2 flex justify-center">
<td class="justify-center items-center py-4 px-10">
<div class="grid grid-cols-1 justify-center items-center gap-4">
<div class="flex justify-center items-center">
<button data-modal-target="modal-detail{{ $course->id }}"
data-modal-toggle="modal-detail{{ $course->id }}"
class="font-medium shadow-md shadow-gray-600 hover:bg-[#3F6A6B] text-white py-2 px-4 bg-[#4F7F81] rounded-xl">
Detail
</button>
</div>
<div class="flex justify-center items-center">
<a href="/admin/{{ $course->id }}/edit-kursus"
class="font-medium shadow-md shadow-gray-600 hover:bg-[#3F6A6B] text-white py-2 px-4 bg-[#4F7F81] rounded-xl">
Edit
</a>
</div>
<div class="flex justify-center items-center">
<!-- Tombol DELETE -->
<button data-modal-target="popup-modal-{{ $course->id }}"
data-modal-toggle="popup-modal-{{ $course->id }}"
@ -62,6 +78,8 @@ class="font-medium shadow-md shadow-gray-600 hover:bg-[#3F6A6B] text-white py-2
Hapus
</button>
</div>
</div>
<!-- Modal Konfirmasi -->
<div id="popup-modal-{{ $course->id }}" tabindex="-1"
class="hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
@ -134,6 +152,10 @@ class="py-2.5 px-5 ms-3 text-sm font-medium text-gray-900 focus:outline-none bg-
</tbody>
</table>
</div>
<div class="py-4">
{{ $courses->links() }}
</div>
</div>
</div>
@ -163,23 +185,21 @@ class="fixed top-4 left-1/2 transform -translate-x-1/2 bg-green-50 text-green-80
</script>
<!-- Main modal -->
@foreach ($courses as $course)
<!-- Modal Detail Gambar untuk setiap course -->
<div id="modal-detail{{ $course->id }}" tabindex="-1" aria-hidden="true"
class="hidden overflow-y-auto fixed top-0 right-0 left-0 z-50 flex justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
class="hidden overflow-y-auto fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
<div class="relative p-4 w-full max-w-2xl xl:max-w-5xl max-h-full">
<!-- Modal content -->
<div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
<!-- Modal header -->
<div class="flex items-center justify-between p-4 md:p-5 border-b rounded-t dark:border-gray-600">
<h2 class="text-lg font-semibold">Detail Gambar</h2>
</div>
<div class="relative rounded-lg shadow dark:bg-gray-700 bg-[#4F7F81]">
<!-- Modal body -->
<div class="p-4 md:p-5">
<div class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-4">
<div class="">
@if (!empty($course->imageNames))
@foreach ($course->imageNames as $img_konten)
<div class="border border-slate-300 rounded-md p-2">
<img src="{{ asset('storage/' . $img_konten) }}"
class="w-full h-auto object-contain" alt="Image">
<div class=" my-4 rounded-md">
<img src="{{ asset('storage/' . $img_konten) }}" class="w-full h-auto "
alt="Image">
</div>
@endforeach
@else
@ -187,12 +207,9 @@ class="w-full h-auto object-contain" alt="Image">
@endif
</div>
</div>
<!-- Modal footer -->
<div class="flex items-center p-4 md:p-5 border-t border-gray-200 rounded-b dark:border-gray-600">
<button data-modal-hide="modal-detail{{ $course->id }}" type="button"
class="py-2.5 px-5 ms-3 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded-lg border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700">Oke</button>
</div>
</div>
</div>
</div>
@endforeach
</x-adminlayout>

View File

@ -90,14 +90,8 @@ class="poppins-regular py-2 px-4 bg-[#4F7F81] text-white rounded-xl text-xl shad
<!-- Main modal -->
<div id="default-modal-detail-gambar" tabindex="-1" aria-hidden="true"
class="hidden overflow-y-auto overflow-x-hidden fixed top-0 right-0 left-0 z-50 justify-center items-center w-full md:inset-0 h-[calc(100%-1rem)] max-h-full">
<div class="relative p-4 w-full max-w-2xl xl:max-w-5xl max-h-full">
<!-- Modal content -->
<div class="relative p-4 w-full max-w-2xl xl:max-w-3xl 2xl:max-w-4xl max-h-full">
<div class="relative bg-white rounded-lg shadow dark:bg-gray-700">
<!-- Modal header -->
<div class="flex items-center justify-between p-4 md:p-5 border-b rounded-t dark:border-gray-600">
<img src="" alt="">
</div>
<!-- Modal body -->
<div class="p-4 md:p-5 space-y-4">
<div class="relative overflow-hidden rounded-lg gap-4 space-y-4 ">
@if (!empty($imageNames) && count($imageNames) > 0)
@ -115,11 +109,6 @@ class="w-full h-auto object-contain" alt="Image {{ $index + 1 }}">
@endif
</div>
</div>
<!-- Modal footer -->
<div class="flex items-center p-4 md:p-5 border-t border-gray-200 rounded-b dark:border-gray-600">
<button data-modal-hide="default-modal-detail-gambar" type="button"
class="py-2.5 px-5 ms-3 text-sm font-medium text-gray-900 focus:outline-none bg-white rounded-lg border border-gray-200 hover:bg-gray-100 hover:text-blue-700 focus:z-10 focus:ring-4 focus:ring-gray-100 dark:focus:ring-gray-700 dark:bg-gray-800 dark:text-gray-400 dark:border-gray-600 dark:hover:text-white dark:hover:bg-gray-700">Oke</button>
</div>
</div>
</div>
</div>
@ -129,8 +118,7 @@ class="py-2.5 px-5 ms-3 text-sm font-medium text-gray-900 focus:outline-none bg-
<p class="poppins-regular text-black text-2xl pb-2 max-w-7xl">
{{ $data->deskripsi }}
</p>
<div
class="grid grid-cols-1 lg:grid-cols-3 gap-4 lg:gap-20 py-10">
<div class="grid grid-cols-1 lg:grid-cols-3 gap-4 lg:gap-20 py-10">
<div class="w-auto xl:max-w-max space-y-2">
<p class="poppins-semibold text-2xl text-black underline">
Paket

View File

@ -11,7 +11,7 @@
<div class="flex">
<div class="relative w-full">
<input type="search" id="search-dropdown"
class="block pr-12 p-2.5 w-full z-20 text-sm text-gray-900 bg-gray-50 rounded-s-lg rounded-e-lg focus:ring-blue-500 focus:border-blue-500"
class="block pr-14 pl-4 p-2.5 w-full z-20 text-sm text-gray-900 bg-gray-50 rounded-s-lg rounded-e-lg focus:ring-blue-500 focus:border-blue-500"
placeholder="Pencarian Nama Kursus" />
<div
class="absolute top-0 end-0 px-4 pt-3 pb-2.5 text-sm font-medium h-full text-white bg-[#4F7F81] rounded-e-lg border border-[#4F7F81]">
@ -28,15 +28,15 @@ class="absolute top-0 end-0 px-4 pt-3 pb-2.5 text-sm font-medium h-full text-whi
</div>
<div id="kursus-container"
class="pb-20 grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-8 m-auto justify-center items-center">
class="pb-20 m-auto grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-8 justify-center items-center">
@foreach ($data_kursus as $kursus)
<div
class="kursus-item w-full h-full bg-white border shadow-lg border-gray-200 rounded-lg transition ease-in-out delay-0 hover:-translate-y-1 hover:scale-100 duration-300">
class="kursus-item w-full h-ful shadow-2xl rounded-lg transition ease-in-out delay-0 hover:-translate-y-1 hover:scale-100 duration-300">
<div>
<a href="#">
<img class="rounded-lg m-auto flex justify-center items-center w-full h-72 object-cover"
<div href="#">
<img class=" flex justify-center items-center w-full h-64 object-cover"
src="{{ asset('storage/' . $kursus->img) }}" alt="" />
</a>
</div>
<div class="p-5 h-44">
<a href="#">
<h5
@ -49,10 +49,10 @@ class="nama-kursus mb-2 text-2xl poppins-regular font-extrabold tracking-tight t
</p>
</div>
</div>
<div class="flex items-end justify-end bg-white rounded-b-lg">
<div class="mb-4 mr-4">
<div class="flex items-end justify-end rounded-b-lg">
<div class="my-4 mr-4">
<a href="/kursus/{{ $kursus->id }}/detail"
class="inline-flex items-center px-6 py-2 text-sm font-extrabold text-black ring-2 ring-black rounded-full hover:text-white hover:bg-[#4F7F81] hover:ring-[#4F7F81] focus:ring-4 focus:outline-none focus:ring-blue-300">
class="inline-flex items-center px-6 py-2 text-sm font-extrabold text-slate-700 ring-1 ring-slate-500 rounded-full hover:text-white hover:bg-[#4F7F81] hover:ring-[#4F7F81] focus:ring-4 focus:outline-none focus:ring-blue-300">
Lihat
<svg class="rtl:rotate-180 w-3.5 h-3.5 ms-2" aria-hidden="true"
xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 14 10">

View File

@ -27,7 +27,7 @@ class="w-full h-56 sm:h-64 md:h-96 lg:h-[500px] xl:h-[650px] max-w-4xl rounded-l
<script>
document.addEventListener('DOMContentLoaded', function() {
// Inisialisasi peta dengan koordinat dan tingkat zoom
const map = L.map('map1').setView([-8.1675862,113.68492], 13); // Gunakan 'map1' untuk ID peta yang sesuai
const map = L.map('map1').setView([-7.7517397,112.1780461], 13); // Gunakan 'map1' untuk ID peta yang sesuai
// Tambahkan lapisan ubin dari OpenStreetMap
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {

View File

@ -27,7 +27,7 @@
Route::get('/login', [LoginController::class, 'index'])->name('login'); // SHOW LOGIN
// USER
Route::get('/beranda', [PengunjungController::class, 'home'])->name('user.home'); // SHOW TAMPILAN AWAL
Route::get('/', [PengunjungController::class, 'home'])->name('user.home'); // SHOW TAMPILAN AWAL
Route::get('/kursus', [PengunjungController::class, 'kursus'])->name('user.kursus'); //SHOW TAMPILAN SELURUH KHURSUS
Route::get('/peta', [PengunjungController::class, 'maps'])->name('user.peta'); //SHOW PETA SELURUH TITIK KURSUS
Route::get('/kursus/{id}/rute', [PengunjungController::class, 'rute'])->name('user.rute'); //SHOW PETA SELURUH TITIK KURSUS

View File

@ -4,7 +4,8 @@ export default {
"./resources/**/*.blade.php",
"./resources/**/*.js",
"./resources/**/*.vue",
"./node_modules/flowbite/**/*.js"
"./node_modules/flowbite/**/*.js",
'./vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php',
],
theme: {
container: {