layout.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title><?= $pageTitle ?? 'Admin Panel' ?></title>
  7. <script defer src="https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.15.0/cdn.js"></script>
  8. <script src="https://cdnjs.cloudflare.com/ajax/libs/tinymce/8.1.2/tinymce.min.js"></script>
  9. <script src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"></script>
  10. </head>
  11. <body class="bg-gray-50 font-sans">
  12. <div x-data="{ sidebarOpen: false, activeTab: '<?= $activeTab ?? 'content' ?>' }" class="flex h-screen">
  13. <?php include __DIR__ . '/sidebar.php'; ?>
  14. <!-- Mobile sidebar overlay -->
  15. <div x-show="sidebarOpen"
  16. @click="sidebarOpen = false"
  17. class="fixed inset-0 z-40 bg-gray-600 bg-opacity-75 lg:hidden"
  18. x-transition:enter="transition-opacity ease-linear duration-300"
  19. x-transition:enter-start="opacity-0"
  20. x-transition:enter-end="opacity-100"
  21. x-transition:leave="transition-opacity ease-linear duration-300"
  22. x-transition:leave-start="opacity-100"
  23. x-transition:leave-end="opacity-0"></div>
  24. <!-- Main content -->
  25. <div class="flex-1 overflow-hidden flex flex-col">
  26. <?php include __DIR__ . '/header.php'; ?>
  27. <!-- Page content -->
  28. <main class="flex-1 overflow-y-auto">
  29. <div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
  30. <?= $content ?>
  31. </div>
  32. </main>
  33. </div>
  34. </div>
  35. <script src='/js/admin/scripts.js'></script>
  36. </body>
  37. </html>