📂 FileMgr
📍
/
home
/
mien4214
/
public_html
/
webcp
/
app
/
Views
/
admin-web
/
layout
✏️ /home/mien4214/public_html/webcp/app/Views/admin-web/layout/template.php
✕ Tutup
<!DOCTYPE html> <html lang="id"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><?= $title ?? 'Admin Panel - Mie Nyinyir' ?></title> <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=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"> <script src="https://cdn.tailwindcss.com"></script> <script> tailwind.config = { theme: { extend: { fontFamily: { sans: ['Inter', 'sans-serif'], } } } } </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'G-XXXXXXX'); </script> <script> const BASE_URL = '<?= base_url() ?>'; </script> <script src="<?= base_url('assets/js/adminjs.js'); ?>" defer></script> <style> /* Mencegah teks menu turun ke bawah saat proses animasi menyempit */ .menu-text, .logo-text, .menu-header { white-space: nowrap; } /* MENYEMBUNYIKAN SCROLLBAR SECARA TOTAL TAPI TETAP BISA DI-SCROLL */ .scrollbar-hide::-webkit-scrollbar { display: none; } .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; } </style> </head> <body class="bg-gray-50 font-sans text-gray-800 antialiased flex overflow-x-hidden"> <?php $uri = uri_string(); ?> <aside id="sidebar" class="w-64 bg-red-800 text-white h-screen fixed z-50 shadow-2xl flex flex-col transition-all duration-300 overflow-hidden"> <div class="p-6 text-center border-b border-red-700/50 flex flex-col items-center justify-center min-h-[140px]"> <div class="w-12 h-12 bg-white text-red-800 rounded-full flex items-center justify-center text-xl font-bold shadow-md shrink-0"> <i class="fa-solid fa-bowl-food"></i> </div> <div class="logo-text mt-3 transition-opacity duration-300"> <h1 class="text-xl font-bold tracking-wide">Admin Panel</h1> <p class="text-xs text-red-200 font-medium tracking-widest uppercase mt-1">Mie Nyinyir</p> </div> </div> <nav class="flex-1 overflow-y-auto overflow-x-hidden mt-4 scrollbar-hide px-3 pb-4"> <ul class="space-y-1"> <li> <a href="<?= base_url('/dashboard-adm') ?>" title="Dashboard" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm' || $uri == '') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-chart-pie w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm' || $uri == '') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Dashboard</span> </a> </li> <li class="pt-5 pb-2"> <span class="menu-header px-3 text-[11px] font-bold text-red-300 uppercase tracking-wider transition-opacity duration-300"> Manajemen Halaman </span> </li> <li> <a href="<?= base_url('/dashboard-adm/home') ?>" title="Home" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/home') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-house-chimney w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/home') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Home</span> </a> </li> <li> <a href="<?= base_url('/dashboard-adm/menu') ?>" title="Menu" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/menu') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-book-open w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/menu') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Menu</span> </a> </li> <li> <a href="<?= base_url('/dashboard-adm/about') ?>" title="About" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/about') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-circle-info w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/about') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">About</span> </a> </li> <li> <a href="<?= base_url('/dashboard-adm/berita') ?>" title="Berita & Pengumuman" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/berita') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-newspaper w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/berita') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Berita & Info</span> </a> </li> <li> <a href="<?= base_url('/dashboard-adm/galeri') ?>" title="Galeri" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/galeri') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-images w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/galeri') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Galeri</span> </a> </li> <li> <a href="<?= base_url('/dashboard-adm/karir') ?>" title="Karir & Pelamar" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/karir') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-briefcase w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/karir') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Karir & Pelamar</span> </a> </li> <li> <a href="<?= base_url('/dashboard-adm/kedai') ?>" title="Outlet / Kedai" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/kedai') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-store w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/kedai') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Outlet / Kedai</span> </a> </li> <li> <a href="<?= base_url('/dashboard-adm/kritik-saran') ?>" title="Kritik & Saran" class="flex items-center gap-3 py-2.5 px-3 rounded-lg transition-all duration-200 <?= ($uri == 'dashboard-adm/kritik-saran') ? 'bg-red-900 shadow-inner border-l-4 border-white' : 'hover:bg-red-900/60 border-l-4 border-transparent' ?>"> <i class="fa-solid fa-comments w-6 text-center shrink-0 text-lg <?= ($uri == 'dashboard-adm/kritik-saran') ? 'text-white' : 'text-red-300' ?>"></i> <span class="menu-text text-sm font-medium transition-opacity duration-300">Kritik & Saran</span> </a> </li> </ul> </nav> <div class="p-4 border-t border-red-700/50 mt-auto"> <a href="<?= base_url('/admin/logout') ?>" title="Logout" class="flex items-center justify-center gap-2 w-full bg-white text-red-800 py-2.5 rounded-lg font-semibold hover:bg-gray-100 hover:shadow-md transition-all shadow-sm overflow-hidden group"> <i class="fa-solid fa-right-from-bracket shrink-0 group-hover:translate-x-1 transition-transform"></i> <span class="menu-text transition-opacity duration-300">Logout</span> </a> </div> </aside> <div id="main-wrapper" class="flex-1 ml-64 flex flex-col min-h-screen transition-all duration-300"> <header class="h-16 bg-white shadow-sm border-b border-gray-200 flex items-center justify-between px-8 sticky top-0 z-40"> <div class="flex items-center gap-5"> <button id="toggle-sidebar" class="text-gray-500 hover:text-red-800 focus:outline-none transition-colors"> <i class="fa-solid fa-bars text-xl"></i> </button> <h2 class="text-lg font-semibold text-gray-700"> <?= $title ?? 'Dashboard' ?> </h2> </div> <div class="flex items-center gap-5"> <button class="text-gray-400 hover:text-red-800 transition"> <i class="fa-regular fa-bell text-xl"></i> </button> <div class="flex items-center gap-3 pl-5 border-l border-gray-200 cursor-pointer"> <img src="https://ui-avatars.com/api/?name=Admin+Mie+Nyinyir&background=991b1b&color=fff" alt="Admin Avatar" class="w-9 h-9 rounded-full shadow-sm"> <div class="hidden md:block text-sm"> <p class="font-semibold text-gray-700 leading-tight">Admin System</p> <p class="text-xs text-gray-500">Superadmin</p> </div> <i class="fa-solid fa-chevron-down text-gray-400 text-xs ml-2"></i> </div> </div> </header> <main id="main-content" class="flex-1 p-0"> <?= $this->renderSection('content') ?> </main> </div> <script> document.addEventListener('DOMContentLoaded', function () { const toggleBtn = document.getElementById('toggle-sidebar'); const sidebar = document.getElementById('sidebar'); const mainWrapper = document.getElementById('main-wrapper'); const textsToHide = document.querySelectorAll('.menu-text, .logo-text, .menu-header'); const savedSidebarState = localStorage.getItem('sidebarState'); function setSidebarState(isCollapsed) { if (isCollapsed) { sidebar.classList.remove('w-64'); sidebar.classList.add('w-20'); mainWrapper.classList.remove('ml-64'); mainWrapper.classList.add('ml-20'); textsToHide.forEach(text => { text.classList.add('opacity-0', 'invisible', 'w-0', 'h-0'); }); } else { sidebar.classList.remove('w-20'); sidebar.classList.add('w-64'); mainWrapper.classList.remove('ml-20'); mainWrapper.classList.add('ml-64'); textsToHide.forEach(text => { text.classList.remove('opacity-0', 'invisible', 'w-0', 'h-0'); }); } } if (savedSidebarState === 'collapsed') { setSidebarState(true); } toggleBtn.addEventListener('click', function () { const isCurrentlyCollapsed = sidebar.classList.contains('w-20'); if (isCurrentlyCollapsed) { setSidebarState(false); localStorage.setItem('sidebarState', 'expanded'); } else { setSidebarState(true); localStorage.setItem('sidebarState', 'collapsed'); } }); }); </script> </body> </html>
💾 Simpan
Batal
⬅ admin-web
1 item
Nama
Tipe
Ukuran
Diubah
Perm
Aksi
🐘
template.php
php
14 KB
27/04/26 10:19
0644
✏️
⬇
🔤
🔑
🗑
✏️ Rename
Nama Baru
Simpan
Batal
🔑 Ubah Permission
Octal (mis: 0755)
Terapkan
Batal