footer.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. </main>
  2. <footer class="py-4 bg-light mt-auto">
  3. <div class="container-fluid px-4">
  4. <div class="d-flex align-items-center justify-content-between small">
  5. <div class="text-muted">
  6. <span>&copy; 2003-<?= date('Y') ?> by Crop Monitor</span>. All Rights Reserved
  7. </div>
  8. <div>
  9. <a href="/privacy-policy.php">Privacy Policy</a>
  10. &middot;
  11. <a href="/terms.php">Terms &amp; Conditions</a>
  12. </div>
  13. </div>
  14. </div>
  15. </footer>
  16. </div><!-- /layoutSidenav_content -->
  17. </div><!-- /layoutSidenav -->
  18. <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
  19. <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/4.5.0/chart.umd.min.js" integrity="sha512-/J9+4OFmZCFMBQMDPDnGjKXhkZWBM2kOsuJnCDj3TUAXwOXgaHPizrHKA9e8tOkWrUYxZOCVlyLJBGiKRWMAA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
  20. <script>
  21. window.addEventListener('DOMContentLoaded', () => {
  22. // Restore sidebar toggle state from previous visit
  23. if (localStorage.getItem('sb|sidebar-toggle') === 'true') {
  24. document.body.classList.add('sb-sidenav-toggled');
  25. }
  26. const sidebarToggle = document.querySelector('#sidebarToggle');
  27. if (sidebarToggle) {
  28. sidebarToggle.addEventListener('click', e => {
  29. e.preventDefault();
  30. document.body.classList.toggle('sb-sidenav-toggled');
  31. localStorage.setItem(
  32. 'sb|sidebar-toggle',
  33. document.body.classList.contains('sb-sidenav-toggled')
  34. );
  35. });
  36. }
  37. });
  38. </script>
  39. </body>
  40. </html>