88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			PHP
		
	
	
| @extends('layouts.app')
 | ||
| @section('title',@$title)
 | ||
| @section('content')
 | ||
| <section id="section4" class="container mx-auto p-12 md:py-12">
 | ||
| 	<div class="flex justify-between mb-15">
 | ||
| 		<h4 class="text-lg md:text-2xl font-extrabold text-black">Galeri Sekolah Adiwiyata</h4>
 | ||
| 	</div>
 | ||
| 	<div class="flex flex-row gap-10">
 | ||
| 		<div class="grid grid-rows-1 md:grid-cols-3 lg:grid-cols-4 gap-5">
 | ||
| 			@foreach($kegiatan as $dataKeg)
 | ||
| 			<?php
 | ||
| 				$images = json_decode($dataKeg->image);
 | ||
| 			?>
 | ||
| 			<div class="relative group  w-full h-50 overflow-hidden rounded-lg shadow-[10px_10px_10px_0px_rgba(0,0,0,0.25)]">
 | ||
| 				<img src="{{ asset($images[0]) }}" class="w-full h-full object-cover" alt="Galeri">
 | ||
| 				<div class="absolute inset-0 bg-success bg-opacity-50 opacity-0 group-hover:opacity-100 transition-opacity duration-300 flex flex-col justify-center p-4 gap-3">
 | ||
| 					<h4 class="mb-5 font-bold text-white w-50">{{ substr($dataKeg->judul,0,35) }}...</h4>
 | ||
| 					{{-- <p class="text-white text-sm font-normal">1 Agustus 2025</p> --}}
 | ||
| 					{{-- <button  class="rounded-md bg-gray-950/5 px-2.5 py-1.5 text-sm font-semibold text-gray-900 hover:bg-gray-950/10">Open dialog</button> --}}
 | ||
| 					
 | ||
| 					<a href="#" data-url="{{$dataKeg->image}}" data-judul="{{$dataKeg->judul}}" class="btnmodal p-2 text-black text-sm bg-white opacity-50 rounded-[10px] mx-auto md:mx-0 text-center flex flex-row justify-between gap-3 w-40 ">
 | ||
| 						<span>Lihat Detail</span> <x-lucide-arrow-right width="20" class="text-black text-right"/>
 | ||
| 					</a>
 | ||
| 				</div>
 | ||
| 			</div>
 | ||
| 			@endforeach
 | ||
| 		</div>
 | ||
| 	</div>
 | ||
| </section>
 | ||
| 
 | ||
| <div id="myModal" class="fixed inset-0 z-50 hidden bg-black/50 flex items-center justify-center">
 | ||
| 	<div class="bg-white rounded-lg shadow-lg w-1/2 p-6 relative">
 | ||
| 		<div id="carousel" class="relative w-full flex transition-transform duration-500">
 | ||
| 			<img id="image" src="" alt="" class="w-full rounded">
 | ||
| 			<!-- tombol navigasi -->
 | ||
| 			<button id="prev" class="absolute left-0 top-1/2 transform -translate-y-1/2 bg-gray-800 text-white px-3 py-1 rounded">‹</button>
 | ||
| 			<button id="next" class="absolute right-0 top-1/2 transform -translate-y-1/2 bg-gray-800 text-white px-3 py-1 rounded">›</button>
 | ||
| 		</div>
 | ||
| 		<div class="flex justify-end space-x-2 mt-1">
 | ||
| 			<button onclick="closeModal()" class="bg-gray-300 text-gray-700 px-4 py-2 cursor-pointer rounded">Tutup</button>
 | ||
| 		</div>
 | ||
| 	</div>
 | ||
| </div>
 | ||
| @endsection
 | ||
| @section('js')
 | ||
| <script src="https://code.jquery.com/jquery-3.7.1.js"></script>
 | ||
| <script>
 | ||
| 	let slides = [];
 | ||
| 	let currentIndex = 0;
 | ||
| 
 | ||
| 	$('.btnmodal').on('click', function(e){
 | ||
| 		e.preventDefault();
 | ||
| 		$('#myModal').removeClass('hidden');
 | ||
| 
 | ||
| 		$('#judul').html($(this).data('judul'));
 | ||
| 		// ambil data-images dan parse JSON
 | ||
| 		slides = $(this).data('url');
 | ||
| 		if (!Array.isArray(slides)) {
 | ||
| 			slides = JSON.parse(slides);
 | ||
| 		}
 | ||
| 
 | ||
| 		console.log(slides);
 | ||
| 
 | ||
| 		currentIndex = 0;
 | ||
| 		$('#image').attr('src', "{{ asset('/') }}"+slides[currentIndex]);
 | ||
| 	});
 | ||
| 
 | ||
| 	// tombol navigasi
 | ||
| 	$('#next').on('click', function(){
 | ||
| 		if(slides.length > 0){
 | ||
| 			currentIndex = (currentIndex + 1) % slides.length;
 | ||
| 			$('#image').attr('src', "{{ asset('/') }}"+slides[currentIndex]);
 | ||
| 		}
 | ||
| 	});
 | ||
| 
 | ||
| 	$('#prev').on('click', function(){
 | ||
| 		if(slides.length > 0){
 | ||
| 			currentIndex = (currentIndex - 1 + slides.length) % slides.length;
 | ||
| 			$('#image').attr('src', "{{ asset('/') }}"+slides[currentIndex]);
 | ||
| 		}
 | ||
| 	});
 | ||
| 
 | ||
| 	function closeModal(){
 | ||
| 		$('#myModal').addClass('hidden');
 | ||
| 	}
 | ||
| 
 | ||
| </script>
 | ||
| @endsection
 |