HEX
Server: LiteSpeed
System: Linux us-phx-web629.main-hosting.eu 5.14.0-503.23.2.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 12 05:52:18 EST 2025 x86_64
User: u756937133 (756937133)
PHP: 8.2.27
Disabled: passthru,chgrp
Upload Files
File: /home/u756937133/domains/swingersnest.com/public_html/resources/views/layouts/dashboard.blade.php
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}" class="scroll-smooth">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    @php
        $siteSettings = \App\Models\SiteSetting::getSettings();
        $siteTitle = $siteSettings->site_title ?? config('app.name', 'swingers nest');
        $siteDescription = $siteSettings->site_description ?? config('app.meta_description', 'swingers nest');
        $siteKeywords = $siteSettings->site_keywords ?? '';
    @endphp

    <title>@yield('title', $siteTitle)</title>
    <meta name="description" content="@yield('meta_description', $siteDescription)">
    @if($siteKeywords)
        <meta name="keywords" content="{{ $siteKeywords }}">
    @endif
    <meta name="csrf-token" content="{{ csrf_token() }}">
    
    {{-- Resource Hints for Performance --}}
    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>
    <link rel="dns-prefetch" href="https://rsms.me">
    <link rel="dns-prefetch" href="https://ui-avatars.com">
    
    {{-- Favicon & Icon --}}
    <link rel="icon" type="image/svg+xml" href="{{ asset('assets/logonew.png') }}">
    <!-- @if($siteSettings->site_favicon)
        <link rel="icon" type="image/x-icon" href="{{ asset($siteSettings->site_favicon) }}">
    @else
        <link rel="icon" type="image/svg+xml" href="{{ asset('logonew.png') }}">
    @endif -->
    
    @if($siteSettings->site_icon)
        <link rel="apple-touch-icon" href="{{ asset($siteSettings->site_icon) }}">
    @elseif($siteSettings->site_favicon)
        <link rel="apple-touch-icon" href="{{ asset($siteSettings->site_favicon) }}">
    @else
        <link rel="apple-touch-icon" href="{{ asset('favicon.svg') }}">
    @endif

    {{-- Open Graph Meta Tags --}}
    @if($siteSettings->og_title || $siteSettings->og_description)
        <meta property="og:type" content="{{ $siteSettings->og_type ?? 'website' }}">
        <meta property="og:title" content="{{ $siteSettings->og_title ?? $siteTitle }}">
        <meta property="og:description" content="{{ $siteSettings->og_description ?? $siteDescription }}">
        @if($siteSettings->og_image)
            <meta property="og:image" content="{{ url(asset($siteSettings->og_image)) }}">
        @endif
        @if($siteSettings->og_site_name)
            <meta property="og:site_name" content="{{ $siteSettings->og_site_name }}">
        @endif
        @if($siteSettings->og_url)
            <meta property="og:url" content="{{ $siteSettings->og_url }}">
        @endif
    @endif

    {{-- Twitter Card Meta Tags --}}
    @if($siteSettings->twitter_title || $siteSettings->twitter_description)
        <meta name="twitter:card" content="{{ $siteSettings->twitter_card_type ?? 'summary_large_image' }}">
        <meta name="twitter:title" content="{{ $siteSettings->twitter_title ?? $siteTitle }}">
        <meta name="twitter:description" content="{{ $siteSettings->twitter_description ?? $siteDescription }}">
        @if($siteSettings->twitter_image)
            <meta name="twitter:image" content="{{ url(asset($siteSettings->twitter_image)) }}">
        @elseif($siteSettings->og_image)
            <meta name="twitter:image" content="{{ url(asset($siteSettings->og_image)) }}">
        @endif
    @endif

    {{-- Header Scripts (GSC, Analytics, etc.) --}}
    @if($siteSettings->header_scripts)
        {!! $siteSettings->header_scripts !!}
    @endif

    {{-- Custom CSS --}}
    @if($siteSettings->custom_css)
        <style>
            {!! $siteSettings->custom_css !!}
        </style>
    @endif

    <!-- Remix Icons CDN with preload -->
    <link
      rel="preload"
      href="https://cdn.jsdelivr.net/npm/remixicon@4.7.0/fonts/remixicon.css"
      as="style"
      onload="this.onload=null;this.rel='stylesheet'"
    >
    <noscript><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/remixicon@4.7.0/fonts/remixicon.css"></noscript>

    <!-- Google Fonts: Combined and optimized with font-display: swap -->
    <link
      rel="preload"
      href="https://fonts.googleapis.com/css2?family=Arimo:wght@400;500;600;700&family=Leckerli+One&family=Grand+Hotel&display=swap"
      as="style"
      onload="this.onload=null;this.rel='stylesheet'"
    >
    <noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Arimo:wght@400;500;600;700&family=Leckerli+One&family=Grand+Hotel&display=swap"></noscript>

    <!-- <link rel="stylesheet" href="{{ asset('public/style.css') }}"> -->

    @if(request()->routeIs('home') || request()->is('/'))

    <!-- <script src="https://cdn.tailwindcss.com"></script>  -->
    <!-- //Hasseb don't use CDN , run NPM run dev its auto enable all tailwind classes  -->
    @endif

    <style>
        /* Ensure user dropdown hover works */
        .group:hover #user-dropdown-menu,
        #user-dropdown-menu:hover {
            opacity: 1 !important;
            visibility: visible !important;
        }
    </style>

    <script>
        // Initialize theme immediately to prevent flash of wrong theme
        // Default to 'dark' mode for new visitors - dark mode is the default theme
        (function() {
            const storedTheme = localStorage.getItem('theme');
            const theme = storedTheme || 'dark'; // Default to dark mode
            if (theme === 'dark') {
                document.documentElement.classList.add('dark');
            } else {
                document.documentElement.classList.remove('dark');
            }
        })();
        
        // Global auth flag
        window.isAuthenticated = @json(auth()->check());
    </script>

    <!-- Inter font - optimized with preload -->
    <link
      rel="preload"
      href="https://rsms.me/inter/inter.css"
      as="style"
      onload="this.onload=null;this.rel='stylesheet'"
    >
    <noscript><link rel="stylesheet" href="https://rsms.me/inter/inter.css"></noscript>

    @vite(['resources/css/app.css', 'resources/js/app.js'])

    @stack('head')
</head>
<body class="bg-gray-50 dark:bg-black">
    <!-- Header -->
    @include('partials.header')
    
    <div class="flex flex-col md:flex-row gap-4 p-2 sm:p-4 bg-gray-50 dark:bg-black min-h-screen pt-16 sm:pt-20">
        <!-- Sidebar -->
        @include('components.sidebar.profile-sidebar')

        <!-- Main Content -->
        <main class="flex-1 w-full min-w-0">
            @yield('content')
        </main>
    </div>
    @include('partials.footer')

    @stack('scripts')
    
    <!-- Global Settings Toggle Script -->
    <script>
    document.addEventListener('DOMContentLoaded', function() {
        const settingsToggleBtn = document.getElementById('settings-toggle-btn');
        
        if (settingsToggleBtn) {
            // Remove any existing listeners
            const newBtn = settingsToggleBtn.cloneNode(true);
            settingsToggleBtn.parentNode.replaceChild(newBtn, settingsToggleBtn);
            
            newBtn.addEventListener('click', function(e) {
                e.preventDefault();
                e.stopPropagation();
                
                // Check if we're on the profile page (index or edit)
                const isProfilePage = window.location.pathname.includes('/account/profile');
                const isEditPage = window.location.pathname.includes('/account/profile/edit');
                
                if (isProfilePage && !isEditPage) {
                    // If on profile index page, toggle sidebar
                    const sidebar = document.getElementById('settings-sidebar');
                    if (sidebar) {
                        const isOpen = sidebar.style.width !== '0px' && sidebar.style.width !== '0';
                        if (isOpen) {
                            // Close sidebar
                            sidebar.style.width = '0';
                            sidebar.style.minWidth = '0';
                            sidebar.style.overflow = 'hidden';
                        } else {
                            // Open sidebar
                            sidebar.style.width = '320px'; // w-80 = 320px
                            sidebar.style.minWidth = '320px';
                            sidebar.style.overflow = 'auto';
                        }
                    } else {
                        // Fallback: use global function if available
                        if (typeof window.toggleSettingsSidebar === 'function') {
                            window.toggleSettingsSidebar();
                        }
                    }
                    // Don't navigate, just toggle sidebar
                    return;
                } else {
                    // If on edit page or not on profile page, navigate to profile page and open sidebar
                    window.location.href = '{{ route("account.profile") }}?settings=true';
                }
            });
        }
    });
    </script>
</body>
</html>