Edit File: guest.blade.php
@php use App\Models\Page; use App\Models\Banner; use App\Models\Social; $page = Page::latest()->first(); $top_banners = Banner::where("is_top", true)->limit(4)->get(); $socials = Social::orderBy("order")->get(); @endphp <!DOCTYPE html> <html lang="{{ str_replace('_', '-', app()->getLocale()) }}"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="csrf-token" content="{{ csrf_token() }}"> <title>@yield("title")</title> <!-- Fonts --> <link rel="preconnect" href="https://fonts.bunny.net"> <link href="https://fonts.bunny.net/css?family=figtree:400,500,600&display=swap" rel="stylesheet" /> <!-- preload image --> <link rel="preload" href="/storage/page/favicon.webp" as="image"> <link rel="preload" href="/storage/page/main-logo.webp" as="image"> <!-- Seo Configuration --> <link rel="canonical" href="{{url()->current()}}"> <link rel="shortcut icon" href="/storage/page/favicon.webp" type="image/x-icon"> @yield("headerseo") <!-- Scripts --> @vite(['resources/css/app.css', 'resources/js/app.js']) </head> <body class="font-sans text-gray-900 antialiased"> <div class="min-h-screen flex flex-col items-center pt-0 sm:pt-0 bg-gray-800 dark:bg-gray-900"> <livewire:offcanvas-navbar :page="$page" /> <main class="w-full md:w-3/4 p-4 bg-gray-800 shadow-md overflow-hidden sm:rounded-lg text-white"> <div class="w-full flex-wrap flex justify-between lg:mb-8"> @foreach ($top_banners as $top_banner) <a href="{{$top_banner->link}}" target="_blank" class="lg:w-1/2 w-full"> <img src="{{$top_banner->image}}" class="w-full aspect-[800/100]"> </a> @endforeach </div> <div class="w-full flex flex-col gap-8"> {{ $slot }} </div> </main> </div> <footer class="d-flex justify-content-center"> </footer> <div> <!-- Scroll to Top Button --> <button id="scrollToTopBtn" class="fixed bottom-5 right-5 z-50 bg-red-600 text-white px-4 py-2 rounded-full transition-opacity duration-300 opacity-0 pointer-events-none hover:bg-red-700 focus:outline-none" onclick="scrollToTop()"> <span class="flex items-center justify-center"> <svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="w-6 h-6"> <path d="M16 11l-4-4-4 4"></path> </svg> </span> </button> </div> <footer class="bg-gray-800 text-white border-t-2 border-red-600"> <div class="flex gap-4 w-full lg:w-3/4 mx-auto p-8 justify-center flex-wrap"> @foreach ($socials as $social) <a class="flex text-lg font-bold items-center gap-4 hover:bg-gray-700 p-2 duration-150" href="{{$social->link}}" target="_blank"> <img src="{{$social->logo}}" alt="{{$social->name}} {{$page->name}}" class="w-12 rounded-2xl"> <div>{{$social->display_text}}</div> </a> @endforeach </div> </footer> <script> let scrollToTopBtn = document.getElementById("scrollToTopBtn"); window.onscroll = function() { if (document.body.scrollTop > 200 || document.documentElement.scrollTop > 200) { scrollToTopBtn.classList.remove('opacity-0'); scrollToTopBtn.classList.add('opacity-100'); setTimeout(() => { scrollToTopBtn.classList.remove('pointer-events-none'); }, 300); // Delay pointer events until fade-in is complete } else { scrollToTopBtn.classList.remove('opacity-100'); scrollToTopBtn.classList.add('opacity-0'); scrollToTopBtn.classList.add('pointer-events-none'); // Disable interaction immediately on fade-out } }; function scrollToTop() { window.scrollTo({ top: 0, behavior: 'smooth' }); } </script> </body> </html>
Back