From ed41629e298c020746ddc9dc5a6a4d39eb88d2c1 Mon Sep 17 00:00:00 2001 From: HANIF FEBRIANSYAH Date: Sun, 15 Sep 2024 20:59:56 +0700 Subject: [PATCH] DONE ALL --- .../Controllers/AdminDashboardController.php | 10 +- app/Http/Controllers/PengunjungController.php | 25 ++- resources/views/admin/dahsboard.blade.php | 40 ---- resources/views/admin/dashboard.blade.php | 57 ++++++ .../views/admin/dataKursusAdmin.blade.php | 70 ++++--- .../admin/tambahDataKursusAdmin.blade.php | 44 ++-- .../views/admin/ubahDataKursusAdmin.blade.php | 19 +- .../views/components/adminlayout.blade.php | 1 + resources/views/components/navbar.blade.php | 9 +- .../views/components/navbarAdmin.blade.php | 95 +++++++-- resources/views/partials/head.blade.php | 11 +- resources/views/user/detailKursus.blade.php | 45 +++-- resources/views/user/home.blade.php | 101 +++++----- resources/views/user/kursus.blade.php | 56 +++--- resources/views/user/rute.blade.php | 188 +++++++++++------- routes/web.php | 8 +- 16 files changed, 457 insertions(+), 322 deletions(-) delete mode 100644 resources/views/admin/dahsboard.blade.php create mode 100644 resources/views/admin/dashboard.blade.php diff --git a/app/Http/Controllers/AdminDashboardController.php b/app/Http/Controllers/AdminDashboardController.php index 986d93b..4d9ab34 100644 --- a/app/Http/Controllers/AdminDashboardController.php +++ b/app/Http/Controllers/AdminDashboardController.php @@ -12,13 +12,11 @@ public function index() // Ambil semua data kursus $allLandingPages = DataKursus::all(); - // Ambil satu gambar secara acak untuk bagian atas - $randomLandingPage = $allLandingPages->random(); + // Pastikan ada data sebelum mencoba mengambil item acak + $randomLandingPage = $allLandingPages->isEmpty() ? null : $allLandingPages->random(); + $randomLandingPages = $allLandingPages->isEmpty() ? collect() : $allLandingPages->random(min($allLandingPages->count(), 5)); - // Ambil maksimal 6 gambar secara acak untuk bagian bawah - $randomLandingPages = $allLandingPages->random(min(count($allLandingPages), 6)); - - return view('admin.dahsboard', [ + return view('admin.dashboard', [ // Pastikan nama view sesuai dengan yang Anda gunakan 'randomLandingPage' => $randomLandingPage, 'randomLandingPages' => $randomLandingPages, 'allLandingPages' => $allLandingPages diff --git a/app/Http/Controllers/PengunjungController.php b/app/Http/Controllers/PengunjungController.php index 7ec9211..3efc0fc 100644 --- a/app/Http/Controllers/PengunjungController.php +++ b/app/Http/Controllers/PengunjungController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use App\Models\DataKursus; +use Dflydev\DotAccessData\Data; use Illuminate\Http\Request; class PengunjungController extends Controller @@ -21,7 +22,7 @@ public function home() public function kursus() { - $data_kursus = DataKursus::limit(6)->get(); + $data_kursus = DataKursus::all(); foreach ($data_kursus as $item) { $item->deskripsi = \Illuminate\Support\Str::words($item->deskripsi, 26,); } @@ -39,6 +40,11 @@ public function search(Request $request) return response()->json($kursus); } + public function maps() + { + $latilongti = DataKursus::all(); + return view('user.peta', compact('latilongti')); + } public function detail(string $id) @@ -49,15 +55,14 @@ public function detail(string $id) return view('user.detailKursus', compact(['data', 'imageNames'])); } - - - public function maps() + public function rute(string $id) { - $latilongti = DataKursus::all(); - return view('user.peta', compact('latilongti')); - } - public function rute() - { - return view('user.rute'); + // Ambil kursus berdasarkan ID + $ruteTerdekat = DataKursus::find($id); + + // Jika data tidak ditemukan, bisa menampilkan halaman error atau redirect + + + return view('user.rute', compact('ruteTerdekat')); } } diff --git a/resources/views/admin/dahsboard.blade.php b/resources/views/admin/dahsboard.blade.php deleted file mode 100644 index 1892c27..0000000 --- a/resources/views/admin/dahsboard.blade.php +++ /dev/null @@ -1,40 +0,0 @@ - -
-
- -
- @if ($randomLandingPage->img) -
- Gambar -
-

{{ $randomLandingPage->nama_kursus }}

-
-
- @else -
-

Tidak ada gambar yang tersedia.

-
- @endif -
- - -
-
- @foreach ($randomLandingPages as $page) -
- -
-

{{ $page->nama_kursus }}

-
-
- @endforeach -
-
-
-
-
diff --git a/resources/views/admin/dashboard.blade.php b/resources/views/admin/dashboard.blade.php new file mode 100644 index 0000000..7cee502 --- /dev/null +++ b/resources/views/admin/dashboard.blade.php @@ -0,0 +1,57 @@ + +
+
+ +
+ @if ($randomLandingPage) + @if ($randomLandingPage->img) +
+ Gambar +
+

{{ $randomLandingPage->nama_kursus }}

+
+
+ @else +
+

Tidak ada gambar yang tersedia.

+
+ @endif + @else +
+
+

Tidak Tersedia Kursus

+
+
+ @endif +
+ + +
+
+ @if ($randomLandingPages->isNotEmpty()) + @foreach ($randomLandingPages as $page) +
+ +
+

{{ $page->nama_kursus }}

+
+
+ @endforeach + @else +
+
+

Tidak Tersedia Kursus

+
+
+ @endif +
+
+
+
+
diff --git a/resources/views/admin/dataKursusAdmin.blade.php b/resources/views/admin/dataKursusAdmin.blade.php index d79e2bc..4d0cebe 100644 --- a/resources/views/admin/dataKursusAdmin.blade.php +++ b/resources/views/admin/dataKursusAdmin.blade.php @@ -3,14 +3,14 @@
+
- - - +
+ @@ -19,34 +19,40 @@ - + @foreach ($courses as $index => $course) - - + - - - - + @endforeach diff --git a/resources/views/admin/tambahDataKursusAdmin.blade.php b/resources/views/admin/tambahDataKursusAdmin.blade.php index 5a01d05..a8144cd 100644 --- a/resources/views/admin/tambahDataKursusAdmin.blade.php +++ b/resources/views/admin/tambahDataKursusAdmin.blade.php @@ -4,8 +4,7 @@ + @if ($errors->any()) + + @endif diff --git a/resources/views/components/adminlayout.blade.php b/resources/views/components/adminlayout.blade.php index 31d173a..53a1fa8 100644 --- a/resources/views/components/adminlayout.blade.php +++ b/resources/views/components/adminlayout.blade.php @@ -2,6 +2,7 @@ + @include('components.navbarAdmin') @include('partials.head') @include('partials.font') diff --git a/resources/views/components/navbar.blade.php b/resources/views/components/navbar.blade.php index a07424b..939584a 100644 --- a/resources/views/components/navbar.blade.php +++ b/resources/views/components/navbar.blade.php @@ -1,9 +1,10 @@ + + + + + diff --git a/resources/views/partials/head.blade.php b/resources/views/partials/head.blade.php index 8c4ce8f..c6b5921 100644 --- a/resources/views/partials/head.blade.php +++ b/resources/views/partials/head.blade.php @@ -3,5 +3,12 @@ @vite('resources/css/app.css') -@stack('script') - +@stack('script') + + + + + + diff --git a/resources/views/user/detailKursus.blade.php b/resources/views/user/detailKursus.blade.php index 3412338..c4bdcf3 100644 --- a/resources/views/user/detailKursus.blade.php +++ b/resources/views/user/detailKursus.blade.php @@ -8,22 +8,24 @@
diff --git a/resources/views/user/home.blade.php b/resources/views/user/home.blade.php index 1583e68..8f1c381 100644 --- a/resources/views/user/home.blade.php +++ b/resources/views/user/home.blade.php @@ -14,78 +14,67 @@
-

+

Kursus Populer

- + Lihat Semua Kursus
- @foreach ($landingpage as $landingpage) -
- - - -
- -
- {{ $landingpage->nama_kursus }}
-
-

- {{ Str::words($landingpage->deskripsi, 30, '...') }} -

-
- - - - - -
-
- - Lihat - + @if ($landingpage->isNotEmpty()) + @foreach ($landingpage as $landingpage) +
+
+ + +
+ +
+ {{ $landingpage->nama_kursus }}
+
+

+ {{ Str::words($landingpage->deskripsi, 30, '...') }} +

+
+ + +
+ @endforeach + @else +
+
+

Tidak Tersedia Kursus

- @endforeach + @endif + +
-
+

Tentang Kami

@@ -105,5 +94,5 @@ class="inline-flex items-center px-6 font-extrabold py-2 text-sm text-center rin
- + diff --git a/resources/views/user/kursus.blade.php b/resources/views/user/kursus.blade.php index 083c498..b596821 100644 --- a/resources/views/user/kursus.blade.php +++ b/resources/views/user/kursus.blade.php @@ -4,18 +4,19 @@

Halaman ini berisi tentang kursus di Pare!

- +
-
-
+ @@ -26,29 +27,35 @@ class="block pr-12 p-2.5 w-full z-20 text-sm text-gray-900 bg-gray-50 rounded-e-
-
+
@foreach ($data_kursus as $kursus) -
- - {{ $kursus->nama_kursus }} - -
+
+ +@vite('resources/css/app.css') + + +@stack('script') + + + + + + + + +
+
+ + + - -
-
- + // Pindahkan peta ke lokasi pengguna dengan smooth pan + map.panTo(e.latlng); + + // Tambahkan marker untuk lokasi tujuan + var latLng2 = L.latLng({{ $ruteTerdekat->latitude }}, {{ $ruteTerdekat->longitude }}); + L.marker(latLng2, { + interactive: false + }).addTo(map) + .bindPopup("{{ $ruteTerdekat->nama_kursus }}") + .openPopup(); + + // Tambahkan kontrol routing + L.Routing.control({ + waypoints: [e.latlng, latLng2], + routeWhileDragging: false, // Nonaktifkan drag + collapsible: true, // Kontrol tetap bisa diperlihatkan tapi tidak bisa diubah + createMarker: function() { + return null; + } // Tidak membuat marker tambahan + }).addTo(map); + }); + + L.Control.CustomControl = L.Control.extend({ + onAdd: function(map) { + var div = L.DomUtil.create('div', 'custom-control'); + div.innerHTML = '

Kontrol Kustom

'; + return div; + }, + onRemove: function(map) { + // nothing to do here + } + }); + L.control.customControl = function(opts) { + return new L.Control.CustomControl(opts); + } + L.control.customControl({ + position: 'topleft' + }).addTo(map); + // Tangani error jika geolocation tidak tersedia + map.on('locationerror', function(e) { + console.error("Geolocation error: " + e.message); + // Informasikan pengguna jika terjadi kesalahan + L.popup() + .setLatLng([-7.7523414, 112.1700522]) + .setContent("Unable to retrieve your location.") + .openOn(map); + }); + + } else { + // Informasikan pengguna jika geolocation tidak didukung + L.popup() + .setLatLng([-7.7523414, 112.1700522]) + .setContent("Geolocation is not supported by this browser.") + .openOn(map); + } + }); + + +
diff --git a/routes/web.php b/routes/web.php index 13ff686..7126a3a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -7,8 +7,8 @@ use App\Http\Controllers\PengunjungController; - -// ADMIN +Route::middleware('auth')->group(function () { + // ADMIN Route::get('/admin/dashboard', [AdminDashboardController::class, 'index'])->name('admin.home'); // SHOW DASHBOARD Route::get('/admin/data-kursus', [AdminDataKursusController::class, 'dataKursus'])->name('admin.dataKursus'); //SHOW DATA Route::get('/admin/create-data', [AdminDataKursusController::class, 'create'])->name('admin.create'); // SHOW TAMBAH DATA @@ -19,6 +19,8 @@ Route::post('/admin/store', [AdminDataKursusController::class, 'store'])->name('kursus.store'); // TOMBOL TAMBAH DATA Route::delete('/admin/delete/{id}', [AdminDataKursusController::class, 'destroy'])->name('delete'); // TOMBOL DELETE DATA +}); + // LOGIN Route::get('/login', [LoginController::class, 'index'])->name('login'); // SHOW LOGIN @@ -26,5 +28,5 @@ Route::get('/beranda', [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/rute', [PengunjungController::class, 'rute'])->name('user.rute'); //SHOW PETA SELURUH TITIK KURSUS +Route::get('/kursus/{id}/rute', [PengunjungController::class, 'rute'])->name('user.rute'); //SHOW PETA SELURUH TITIK KURSUS Route::get('/kursus/{id}/detail', [PengunjungController::class, 'detail'])->name('kursus.detail'); // DETAIL KHURSUS MASING"
No Nama KursusAksi
- {{ $index + 1 }} +
+

+ {{ $index + 1 }} +

+ {{ $course->nama_kursus }} + {{ $course->deskripsi }} - + + - - Edit - - - + +
+ + + Edit + + + +