<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<meta name="csrf-token" content="{{ csrf_token() }}">

<head>
    @include('includes.head')
    @include('includes.scripts')
</head>

<body>
    <div class="wrapper">
        @php
        $noSidebar = ['register', 'login']; // Routy, kde nechceme sidebar
        $hide = '';
        $move = '';
        @endphp
        @if (in_array(Route::currentRouteName(), $noSidebar))
        @php
        $hide = 'd-none';
        $move = 'style="margin-left: 0px"';
        @endphp
        @endif

        <!-- Sidebar  -->
        <nav id="sidebar" class="{{ $hide }}">
            <div class="sidebar-header">
                <h3>Menu</h3>
            </div>
            @if (!Auth::guest())
            @include('layouts.sidebar')
            @endif
        </nav>


        <!-- Page Content  -->
        <div id="content" class="w-100" {!! $move !!}>

            <nav class="navbar sticky-top navbar-expand-xl navbar-dark bg-blue justify-content-center mb-4" {!! $move
                !!}>

                <a class="navbar-brand mr-auto" href="{{ url('/') }}"><img class="logo"
                        src="{{ asset('images/logo.png') }}">
                    @if (!Auth::guest())
                    @if(isset(App\Firma::first()->nazev))
                    <span class="logo_naz">{{App\Firma::first()->nazev}}</span>
                    @endif
                    @endif
                </a>



                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse"
                    aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>


                <div class="collapse navbar-collapse w-100 h-100" id="navbarCollapse">
                    <ul class="nav navbar-nav ml-auto justify-content-end">

                        @if (Auth::guest())
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('login') }}">Přihlášení</a>
                        </li>
                        <!-- Zatím vypnuto zapneme až po zpracování obsluhy v G5-->
                        @php($regActiveStyle = "display:none")
                        @if(config('app.RegActive'))
                        @php($regActiveStyle = "display:")
                        @endif
                        <li class="nav-item" style="{{$regActiveStyle}}">
                            <a class="nav-link" href="{{ route('register') }}">Nový účet</a>
                        </li>
                        @else

                        @if (!Auth::guest() && Auth::user()->typ_pristupu_udrzba != "")
                        {{-- jen samotné PortalPRO bez ohledu na nastavení práv--}}

                        {{--@if (App\Config::getConfParam('G5i_PortalPro') == 'A')--}}
                        {{--
                        @if (trim(App\Config::where('parametr','G5i_PortalPro')->first()->hodnota_param) == "A")
                        <li class="nav-item">
                            <a class="nav-link" href="{{action('PozadavekController@index', 'portalpro=1')}}"> Poptat
                                řemeslníka</a>
                        </li>
                        @endif
                        --}}

                        @if (config('app.localTest')=='1')
                        <li class="nav-item">
                            <a class="nav-link" href="{{action('InfodeskaController@indexAdminNastenka')}}">
                                AdminInfoNastenka</a>
                        </li>
                        @endif


                            {{-- Sphere--}}
                            @php($sphereregActive = trim(App\Config::where('parametr','G5i_Sphere')->first()->hodnota_param) == 'A')
                            @if($sphereregActive)
                                <li class="nav-item">
                                    <a class="nav-link" href="{{action('SphereController@showForm')}}"> Sphere</a>
                                </li>  
                            @endif        

                        {{-- Požadavky na opravy--}}
                        @if (Auth::user()->typ_pristupu_udrzba != "F" && Auth::user()->Access->Z1)
                        <li class="nav-item">
                            <a class="nav-link" href="{{action('PozadavekController@index')}}"> Požadavky</a>
                        </li>
                        @endif



                        @if(Auth::user()->Access->Z2)
                        <li class="nav-item">
                            <a class="nav-link" href="{{action('ZakazkaController@index')}}"> Zakázky</a>
                        </li>
                        @endif
                        {{--
                        @if(Auth::user()->Access->Z3)
                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/nabidka') }}"> Nabídky</a>
                        </li>
                        @endif
                        --}}
                        @if(Auth::user()->Access->Z4)
                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/faktura') }}"> Faktury</a>
                        </li>
                        @endif
                        @if(Auth::user()->typ_pristupu_udrzba != "F" && Auth::user()->typ_pristupu_udrzba != "I")
                        @if((Auth::user()->typ_rozsah_domu == "P" || Auth::user()->typ_pristupu_udrzba == "D") &&
                        Auth::user()->Access->ZS)
                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/statement') }}"> Schválení</a>
                        </li>
                        @elseif(Auth::user()->typ_pristupu_udrzba == "S" && Auth::user()->Access->ZS)
                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/schvaleni/') }}"> Schválení</a>
                        </li>
                        @endif
                        @endif

                        @if(!empty(trim(Auth::user()->typ_pristupu_udrzba)))
                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/dum') }}"> Domy</a>
                        </li>
                        @endif
                        @if(Auth::user()->typ_pristupu_udrzba == "S")
                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/ext_firma') }}"> Externí firmy</a>
                        </li>
                        @endif

                        @if((strtolower(Auth::user()->username)=="integritst" ||
                        strtolower(Auth::user()->username)=="valuo") && Auth::user()->kod_instalace == "TST")
                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/index-valuo') }}"> Valuo</a>
                        </li>
                        @endif

                        <li class="nav-item">
                            <a class="nav-link" href="{{ url('/messageList') }}"> Zprávy</a>
                        </li>

                        @if(config('app.g5i_mobile'.Auth::user()->kod_instalace))
                        <li class="nav-item">
                            <a href="https://play.google.com/store/apps/details?id=cz.integri.g5imobile">
                                <img src="{{ url('/images/GooglePlay.png') }}" alt="GooglePlay" heiht="50" width="100">
                            </a>
                            <a href="https://apps.apple.com/cz/app/g5i-mobile/id1559879597?l=cs">
                                <img src="{{ url('/images/AppStore.png') }}" alt="Menu" heiht="50" width="100"> </a>
                        </li>
                        @endif
                        @endif
                        <li class="nav-item dropdown">
                            <a class="nav-link notification" href="#" id="notificationDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                {{ csrf_field() }}
                                <input type="hidden" id="notification-root" name="notification-root"
                                    value="{{ url('/') }}">
                                <input type="hidden" id="notification-timestamp" name="notification-timestamp"
                                    value="{{ Carbon::now('Europe/Prague') }}">
                                <input type="hidden" id="notification-count" name="notification-count"
                                    value="{{ count(Auth::user()->unreadNotifications) }}">
                                <i class="fas fa-bell"></i>
                                @auth
                                @if(Auth::user()->unreadNotifications->count() > 0)
                                <span class="badge">
                                    {{ Auth::user()->unreadNotifications->count() }}
                                </span>
                                @endif
                                @endauth
                            </a>
                            @endauth
                            <ul class="dropdown-menu notification-dropdown" aria-labelledby="notificationDropdown">

                                @auth
                                <div class="notification-header">
                                    Vaše Notifikace: ({{ Auth::user()->unreadNotifications->count() }})
                                </div>
                                {{-- NEPŘEČTENÉ NOTIFIKACE --}}


                                @foreach(Auth::user()->unreadNotifications as $notification)
                                <li class="notification-dropdown-item">
                                    <a href="{{ url('/infodeska') }}" class="notification-link unread mark-as-read"
                                        data-id="{{ $notification->id }}">
                                        <span class="notification-dot"></span>
                                        <div class="text-muted small">
                                            {{ $notification->created_at->locale('cs')->diffForHumans() }}
                                        </div>

                                        @if(!empty($notification->data['adresa']))
                                        <div class="notification-address">
                                            <strong>{{ $notification->data['adresa'] }}</strong>
                                        </div>
                                        @endif

                                        <div class="notification-subject">
                                            <i>{{ $notification->data['subject'] ?? '' }}</i>
                                        </div>

                                        <div class="notification-body">
                                            {{ \Illuminate\Support\Str::limit(
                                            preg_replace('/\s+/', ' ', strip_tags($notification->data['line1'] ?? '')),
                                            80
                                            ) }}
                                        </div>
                                    </a>
                                </li>
                                @endforeach


                                {{-- PŘEČTENÉ NOTIFIKACE --}}
                                @if(Auth::user()->readNotifications()->count() > 0)
                                <li class="notification-section-title">Přečtené</li>

                                @foreach(Auth::user()->readNotifications()->latest()->take(3)->get() as $notification)
                                <li class="notification-dropdown-item">
                                    <a href="{{ url('/infodeska') }}" class="notification-link read"
                                        data-id="{{ $notification->id }}">

                                        <div class="text-muted small">
                                            {{ $notification->created_at->locale('cs')->diffForHumans() }}
                                        </div>

                                        @if(!empty($notification->data['adresa']))
                                        <div class="notification-address">
                                            <strong>{{ $notification->data['adresa'] }}</strong>
                                        </div>
                                        @endif

                                        <div class="notification-subject">
                                            <i>{{ $notification->data['subject'] ?? '' }}</i>
                                        </div>

                                        <div class="notification-body">
                                            {{ \Illuminate\Support\Str::limit(
                                            preg_replace('/\s+/', ' ', strip_tags($notification->data['line1'] ?? '')),
                                            80
                                            ) }}
                                        </div>
                                    </a>
                                </li>
                                @endforeach
                                @endif

                                {{-- ŽÁDNÉ NOTIFIKACE --}}
                                @if(
                                Auth::user()->unreadNotifications->count() === 0 &&
                                Auth::user()->readNotifications()->count() === 0
                                )
                                <li class="notification-dropdown-item">
                                    <span class="no-notification">Nemáte žádné notifikace</span>
                                </li>
                                @endif

                                {{-- OZNAČIT VŠE JAKO PŘEČTENÉ --}}
                                @if(Auth::user()->unreadNotifications->count() > 0)
                                <li class="notification-actions">
                                    <button type="button" class="btn btn-sm btn-primary notification-mark-all-read">
                                        Označit vše jako přečtené
                                    </button>
                                </li>
                                @endif
                                @endauth
                            </ul>
                        </li>
                        <li class="nav-item">
                            <a href="{{ url('help/obecny') }}" class="nav-link"><i
                                    class="far fa-question-circle"></i></a>
                        </li>
                        @if(Auth::user()->typ_pristupu_udrzba == 'F' && Auth::user()->id_ext_firmy != 0 )
                        <li class="nav-item">
                            <a class="nav-link"
                                href="{{ action('FirmaExtController@show',Auth::user()->id_ext_firmy)}}">Profil
                                firmy</a>
                        </li>
                        @endif
                        <li class="nav-item">
                            <a class="nav-link"
                                href="{{ action('UserController@userProfil') }}">{{Auth::user()->ceo->jmeno}}
                                @if(session()->get('isSprava')==1)
                                !
                                @endif
                            </a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="{{ route('logout') }}" onclick="event.preventDefault();
                                                    document.getElementById('logout-form').submit();">
                                Odhlásit se
                            </a>
                            <form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
                                {{ csrf_field() }}
                            </form>
                        </li>

                        <!-- Zrušeno -->
                        @if(false)
                        <li class="nav-item dropdown">
                            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
                                data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                {{ Auth::user()->username }}
                            </a>
                            <div class="dropdown-menu" aria-labelledby="navbarDropdown">
                                <a class="dropdown-item text-blue" href="{{ route('logout') }}" onclick="event.preventDefault();
                                                    document.getElementById('logout-form').submit();">
                                    Odhlásit se
                                </a>
                                <form id="logout-form" action="{{ route('logout') }}" method="POST"
                                    style="display: none;">
                                    {{ csrf_field() }}
                                </form>
                            </div>
                        </li>
                        @endif
                        <!-- Zrušeno -->
                    </ul>
                </div>

            </nav>
            <button type="button" id="sidebarCollapse" class="btn btn-blue-custom {{ $hide }}">
                <i class="fas fa-bars"></i> Menu
            </button>
            @if(Session::has('serverError'))
            <p class="alert alert-danger"> {{Session::get('serverError')}}</p>
            @endif
            <div class="content">
                @yield('content')
            </div>
        </div>
    </div>
    @if (!Auth::guest() && !Auth::user()->cookieApproval)
    <!-- START Bootstrap-Cookie-Alert -->
    @include('components.cookiesApproval')
    <!-- END Bootstrap-Cookie-Alert -->
    @endif
</body>

<script>
    $(document).ready(function () {

    // tlačítko pro zobrazení/skrytí sidebaru
    $('#sidebarCollapse').on('click', function () {
        $('#sidebar').toggleClass('active');
    });

    // kliknutí na jednotlivou notifikaci
    $('.notification-dropdown').on('click', 'a.notification-link', function () {
        
        // kliknutý element
        let el = $(this);
        // URL pro přesměrování
        let link = el.attr('href');
        // vždy okamžitý redirect
        window.location.href = link;    

        // Pokud je notifikace nepřečtená, označíme ji jako přečtenou před přesměrováním
        if (el.hasClass('unread')) {

            // ID konkrétní notifikace
            let notificationId = el.data('id'); 
            
            // AJAX request na backend – označení jako přečtené
            $.post("{{ route('userNotif.markOneAsRead', ['id' => ':id']) }}"
            .replace(':id', notificationId), {
            // CSRF token pro zabezpečení   
            _token: $('meta[name="csrf-token"]').attr('content')
        });

        // vizuální aktualizace - odstranění badge s počtem notifikací
        el.removeClass('unread')
          .addClass('read')
          .find('.notification-dot')
          .remove();
    }
    });

    // tlačítko pro označení všech notifikací jako přečtené
    $('.notification-mark-all-read').on('click', function (e) {
        // zabráníme okamžitému přesměrování
        e.preventDefault(); 
        // CSRF token
        let _token = $('meta[name="csrf-token"]').attr('content'); 
        let url = "{{ route('userNotif.markAllAsRead') }}";

        $.post(url, {_token: _token}, function(result){
            if(result.success) {
                // odstraní badge s počtem notifikací
                $('.badge').remove(); 

                location.reload(); 
            } else {
                alert('Nepodařilo se označit notifikace.');
            }
        });
    });    
});
</script>
<script src="{{ asset('js/cookiealert.js') }}"></script>
<script src="{{ asset('js/textEditor.js') }}"></script>
<script src="{{ asset('js/fcm.js') }}"></script>

</html>