@extends("app.layout.base")
@section("title")
    Aktiviteter
@endsection

@section("content")
    <style>
        iframe, .ql-video {
            width: 100%;
        }
        div.card {
            margin-top: 1rem;
            margin-bottom: 30px;
            width: auto;
            heigt: auto;
            box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
            border-radius: 10px;
        }
        div.container {
            padding: 8px;
            text-align: justify;
            line-height: 1.5;
        }
        .header > img {
            border-radius: 10px 10px 0px 0px
        }
        /*Alert box*/
        .alert {
            opacity: 0.8;
            padding: 20px;
            background-color: #00788A;
            color: white;
            border-radius: 10px;
            background: linear-gradient(to right, red, purple);
        }
        .closebtn {
            margin-left: 15px;
            color: white;
            font-weight: bold;
            float: right;
            font-size: 22px;
            line-height: 20px;
            cursor: pointer;
            transition: 0.3s;
        }
        .closebtn:hover {
            color: black;
        }
        alertBoxBackground {
            margin-top: 1rem;
            margin-bottom: 30px;
            width: auto;
            heigt: auto;
        }
    </style>

    <main>
        <h1 class="text-center sde-blue mb-2rem">{{ __('msg.aktiviteter') }}</h1>
        <!--Alert box, display when a event is delete: start-->
        @if(count(\App\Notification::query()->where("user_id", "=", auth()->user()->id)->get()) > 0)
            <div class="alertBoxBackground" id="notifications">
                <div class="alert">
                    <span class="closebtn" onclick="deleteNotifications(document.getElementById('notifications'))">&times;</span>
                    <strong>{{__('msg.aktivitetaflyst')}}</strong>
                    @foreach(\App\Notification::query()->where("user_id", "=", auth()->user()->id)->get() as $notification)
                        <p>{{ $notification->message }}{{ __("msg.canceled") }}</p>
                    @endforeach
                </div>
            </div>
        @endif
        <!--Alert box, display when a event is delete: end -->

        <!--If there is a images to the event do this: Start-->
        @if(!$events->isEmpty())
            @foreach($events as $event)
                @if(\Carbon\Carbon::now() < date("Y-m-d H:i", strtotime($event->date)))
                    <div class="card">
                        @if($event->resource_id !== null)
                            <div class="header">
                                <img class="w-100" src="{{ asset(\App\Resource::query()->where("id", "=", $event->resource_id)->first()->filename) }}">
                            </div>
                        @endif
                        <div class="container" class="mt-1">
                            <p class="m-none">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
                            <h4 class="m-none">{{ $event->name }}</h4>
                            <p class="mt-0">{{__('msg.af')}}: {{ $event->accountable }}</p>
                            <div class="row justify-content-space mt-1">
                                @if (count(\App\UserEvent::query()->where('event_id', '=', $event->id)->where('user_id', '=', Auth::user()->id)->get()) > 0)
                                    <a class="sde-blue text-center m-none p-none bold" href="javascript:void(0);" onclick="ajaxCall({{ $event->id }}, this)" >{{__('msg.afmeld')}}</a>
                                @else {{-- ^ If you're already participating in the event, then show a ´cancel´ button - v Else show a ´participate´ button --}}
                                <a class="sde-blue text-center m-none p-none bold" href="javascript:void(0);" onclick="ajaxCall({{ $event->id }}, this)" >{{__('msg.tilmeld')}}</a>
                                @endif
                                <a class="sde-blue text-center m-none p-none bold" href="{{route("events.show", ["event" => $event->id ])}}">{{__('msg.læsmere')}}</a>
                                <a class="sde-blue text-center m-none p-none bold" href="{{route("events.accountsignups", ["event" => $event->id ])}}">{{__('msg.sedeltagere')}}</a>
                            </div>
                        </div>
                    </div>
                @else
                    <p class="text-center mb-auto">{{__('msg.dereringenaktiviteter')}}!</p>
                @endif
            @endforeach
        @else
            <p class="text-center mb-auto">{{__('msg.dereringenaktiviteter')}}!</p>
        @endif
        <a href="{{ route("userevents.index") }}" class="mt-auto btn text-center btn-sde-blue" id="tilmeld">{{__('msg.setilmeldteaktiviteter')}}</a>
        <div id="snackbar"></div>
    </main>
@endsection
@section("scripts")
    <script type="text/javascript">
        function snackbar(data) {
            var x = document.getElementById("snackbar");
            x.innerHTML = data;
            x.className = "show";

            setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000);
        }

        function ajaxCall(event_id, el) {
            if(el.innerHTML === "{{__("msg.tilmeld")}}") {
                axios.post("{{ route("userevents.createajax") }}",
                    {
                        event_id: event_id
                    }
                ).then(function (response) {
                    var data = response.data;

                    snackbar(data);

                    el.innerHTML = "{{__("msg.afmeld")}}";
                }).catch(function (error) {
                    console.log(error);
                });
            } else if(el.innerHTML === "{{__("msg.afmeld")}}"){
                axios.post("{{ route("userevents.createajaxcancel") }}",
                    {
                        event_id: event_id
                    }
                ).then(function (response) {
                    var data = response.data;

                    snackbar(data);

                    el.innerHTML = "{{__("msg.tilmeld")}}";
                }).catch(function (error) {
                    console.log(error);
                });
            }
        }

        function deleteNotifications(el) {
            el.remove();
        }

        window.onload = function () {
            setMain();
            axios({
                method: 'delete',
                url: '{{route("notifications.delete")}}',
                data: {
                    user_id: {{ auth()->user()->id }}
                }
            });
        };
    </script>
@endsection