MIF_E31230892/sim-pkpps/storage/framework/views/0b444879160a4358a991decaae9...

185 lines
8.4 KiB
PHP

<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $__env->yieldContent('title', 'SIM Santri'); ?></title>
<!-- Link ke Font Awesome untuk ikon -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
<!-- Google Font Cinzel untuk splash screen -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@700&display=swap" rel="stylesheet">
<!-- Link ke file CSS utama -->
<link rel="stylesheet" href="<?php echo e(asset('css/app.css')); ?>">
<!-- Tambahkan CSS untuk memastikan smooth transition -->
<style>
.main-content {
transition: opacity 0.3s ease-in;
opacity: 1; /* Pastikan opacity default 1 saat dimuat */
}
</style>
</head>
<body>
<!-- 1. SPLASH SCREEN -->
<div id="splash-screen" class="splash-screen">
<div class="splash-content">
<img src="<?php echo e(asset('images/logo.png')); ?>" alt="Logo PKPPS Riyadlul Jannah" class="splash-logo">
<p class="splash-title">PKPPS RIYADLUL JANNAH</p>
<div class="spinner"></div>
</div>
</div>
<!-- END SPLASH SCREEN -->
<div id="app-wrapper" class="app-wrapper" style="opacity: 0;">
<!-- SIDEBAR -->
<aside id="sidebar" class="sidebar">
<div class="sidebar-header">
<h3>SIM Santri</h3>
<button id="sidebar-toggle-btn-mobile" class="sidebar-toggle-btn-mobile">
<i class="fas fa-times"></i>
</button>
</div>
<ul class="sidebar-menu">
<!-- Logika penentuan sidebar berdasarkan status login dan role -->
<?php if(auth()->guard()->check()): ?>
<?php if(Auth::user()->role === 'admin'): ?>
<?php echo $__env->make('layouts.admin-sidebar', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<?php else: ?>
<?php echo $__env->make('layouts.santri-wali-sidebar', \Illuminate\Support\Arr::except(get_defined_vars(), ['__data', '__path']))->render(); ?>
<?php endif; ?>
<?php else: ?>
<!-- Jika belum login, tampilkan menu minimal atau kosong -->
<?php endif; ?>
</ul>
</aside>
<!-- END SIDEBAR -->
<!-- MAIN CONTENT AREA -->
<div class="main-content-wrapper">
<!-- HEADER/NAVBAR -->
<header class="main-header">
<button id="sidebar-toggle-btn" class="sidebar-toggle-btn">
<i class="fas fa-bars"></i>
</button>
<div class="user-info">
<?php if(auth()->guard()->check()): ?>
<li class="logout-item">
<form method="POST" action="<?php echo e(Auth::user()->role === 'admin' ? route('admin.logout') : route('santri.logout')); ?>" style="display: inline;">
<?php echo csrf_field(); ?>
<button type="submit"
style="border: none; background: none; color: #6FBA9D; cursor: pointer; padding: 8px 12px; font-size: 16px; display: flex; align-items: center; gap: 8px; text-decoration: none; font-weight: 500;"
title="Logout">
<i class="fas fa-sign-out-alt"></i>
<span>Logout</span>
</button>
</form>
</li>
<?php else: ?>
<span>Selamat Datang!</span>
<?php endif; ?>
</div>
</header>
<!-- END HEADER/NAVBAR -->
<!-- CONTENT -->
<main id="main-content" class="main-content">
<?php echo $__env->yieldContent('content'); ?>
</main>
<!-- END CONTENT -->
</div>
<!-- END MAIN CONTENT AREA -->
</div>
<!-- SCRIPT JS UNTUK SPLASH & INTERAKSI DASAR -->
<script>
document.addEventListener('DOMContentLoaded', function () {
const splashScreen = document.getElementById('splash-screen');
const appWrapper = document.getElementById('app-wrapper');
const sidebar = document.getElementById('sidebar');
const sidebarToggleBtn = document.getElementById('sidebar-toggle-btn');
const sidebarToggleBtnMobile = document.getElementById('sidebar-toggle-btn-mobile');
const mainContent = document.getElementById('main-content');
// Fungsi untuk splash screen (hanya muncul sekali per session)
if (!sessionStorage.getItem('splash_shown')) {
setTimeout(() => {
splashScreen.style.opacity = '0';
setTimeout(() => {
splashScreen.style.display = 'none';
appWrapper.style.opacity = '1';
}, 500);
sessionStorage.setItem('splash_shown', 'true');
}, 2000);
} else {
splashScreen.style.display = 'none';
appWrapper.style.opacity = '1';
}
// Smooth Scroll
document.documentElement.style.scrollBehavior = 'smooth';
// Sidebar Toggle (Desktop/Tablet)
sidebarToggleBtn.addEventListener('click', function() {
if (window.innerWidth > 768) {
sidebar.classList.toggle('collapsed');
appWrapper.classList.toggle('sidebar-collapsed');
} else {
// Mobile: Toggle aktifkan sidebar
sidebar.classList.toggle('mobile-active');
}
});
// Sidebar Toggle (Mobile) - Tombol Close di dalam Sidebar
sidebarToggleBtnMobile.addEventListener('click', function() {
sidebar.classList.remove('mobile-active');
});
// Close sidebar saat klik di luar (Mobile)
appWrapper.addEventListener('click', function(e) {
if (window.innerWidth <= 768 && sidebar.classList.contains('mobile-active') && !sidebar.contains(e.target) && !sidebarToggleBtn.contains(e.target)) {
sidebar.classList.remove('mobile-active');
}
});
// Smooth Transition Saat Klik Link Sidebar
document.querySelectorAll('.sidebar-menu a').forEach(link => {
if (link.getAttribute('href') && !link.getAttribute('href').startsWith('javascript:')) {
link.addEventListener('click', function(e) {
// Cek apakah bukan tombol logout (yang akan menggunakan form POST)
if (!this.closest('form')) {
e.preventDefault();
const targetUrl = this.href;
// Fade out konten utama
mainContent.style.opacity = '0';
// Tunggu sebentar lalu redirect
setTimeout(() => {
window.location.href = targetUrl;
}, 300); // Durasi fade-out
}
});
}
});
// Submenu Toggle
document.querySelectorAll('.menu-toggle > .menu-parent').forEach(parent => {
parent.addEventListener('click', function() {
this.closest('.menu-toggle').classList.toggle('active');
});
});
// Inisiasi state sidebar mobile jika page load di mobile
if (window.innerWidth <= 768) {
sidebar.classList.remove('collapsed');
appWrapper.classList.remove('sidebar-collapsed');
}
});
</script>
<?php echo $__env->yieldContent('scripts'); ?>
</body>
</html>
<?php /**PATH C:\xampp\htdocs\TugasAkhir\sim-pkpps\resources\views/layouts/app.blade.php ENDPATH**/ ?>