@php
    $dash = true;
    $publication_list = false;
    if (!isset($header)) {
        $header = true;
    }
@endphp

@isset ($page)

    @if (view()->exists('pages/'.( $page->id === 1 ? 'home' : $page->full_slug)))
        @include ('pages/'.( $page->id === 1 ? 'home' : $page->full_slug), ['index' => 0])
    @endif

    @php
        if (!isset($content)) {
            $content = $page->content_override ?? $page->content;
        }
    @endphp

    @foreach ($content as $index => $content_element)

        @if ($index > 0 && view()->exists('pages/'.( $page->id === 1 ? 'home' : $page->full_slug)))
            @include ('pages/'.( $page->id === 1 ? 'home' : $page->full_slug), ['index' => $index])
        @endif

        @if ($index === 0 && $content_element->type === 'text-block' && $page->type === 'blog')
            @include ('blogs.details')
        @endif 

        <{{ $index > 0 ? 'content-element-transition v-if="pageLoaded"' : 'div' }} class="w-full relative {{ $page->version->randomize ? ($content_element->pivot->randomize ? 'md:contents' : 'col-span-4') : '' }}" dusk="content-element-{{ $content_element->id }}">

            @if ($content_element->pivot->expandable || $content_element->pivot->filter)
                <expander 
                    uuid="{{ $content_element->uuid }}"
                    anchor="{{ $content_element->anchor }}"
                    :preview="{{ request('preview') ? 'true' : 'false' }}"
                    :filter="{{ $content_element->pivot->filter ? 'true' : 'false' }}"
                    :tags='@json($content_element->tags)'
                    :modal="{{ $content_element->pivot->expandable === 'modal' ? 'true' : 'false' }}"
                >
            @endif

                <div data-uuid="{{ $content_element->uuid }}"
                    id="{{ $content_element->anchor }}"
                    class="h-0 opacity-0 block relative top-[-90px] {{ $content_element->pivot->randomize ? 'hidden' : '' }}" 
                ></div>

                <div class="flex flex-col items-center w-full
                    {{ $index === 0 ? 'first-content-element' : '' }} 
                    {{ 'content-element-'.$content_element->type }} 
                    {{ $content_element->pivot->hide_print ? 'print:hidden' : '' }} 
                    {{ $content_element->pivot->no_margin ? '' : ( $index > 0 && $content_element->type !== 'publication-list' ? 'mt-8' : '' ) }}
                    {{ $content_element->pivot->randomize ? 'md:contents' : '' }}
                ">
                    @include ('content-elements.'.$content_element->type, [
                        'content' => $content_element->content, 
                        'load' => $publication_list ? false : true,
                        'next_id' => $content_element->findNextIdByType($content, $page),
                        'dash' => $dash,
                        'header' => $header,
                        'sort_order' => $content_element->pivot->sort_order,
                    ])
                    {{-- $content_element->renderView($page, $content, $dash, $header, $content_element->pivot->sort_order) --}}
                </div>

            @php 
                if ($content_element->content->header) {
                    $header = false;
                }

                if ($content_element->type === 'publication-list') {
                    $publication_list = true;
                }
            @endphp

            @if ($content_element->pivot->expandable)
                </expander>
            @endif

        </{{ $index > 0 ? 'content-element-transition' : 'div'}}>

        @if ($index === 0 && $content_element->type !== 'text-block' && $page->type === 'blog')
            @include ('blogs.details')
        @endif 

        @if (view()->exists('pages/'.( $page->id === 1 ? 'home' : $page->full_slug)) && $page->type === 'page')
            @include ('pages/'.( $page->id === 1 ? 'home' : $page->full_slug), ['index' => $index + 0.5])
        @endif

        @php 
            $last_tags = $content_element->tags;
        @endphp

    @endforeach
@endisset
