@extends('daylight::layouts.app')

@section('title', __('daylight::general.edit_page', ['page' => $page->translations->first()?->name]))

@section('content')
    <div x-data="{ showConfirmDeleteModal: false }">
        <x-daylight::page-header :title="__('daylight::general.edit_page', ['page' => $page->translations->first()?->name])">
            @can('delete:pages')
                <x-daylight::buttons.danger @click.prevent="showConfirmDeleteModal = true">
                    {{ __('daylight::content.delete_page') }}
                </x-daylight::buttons.danger>
            @endif
        </x-daylight::page-header>

        <x-daylight::session-messages/>

        <form method="post" action="{{ route('daylight.content.pages.update', $page) }}" x-data="{ name: '{{ old('name', $page->translations->first()?->name) }}'}">
            @csrf
            @method('PUT')
            <input type="hidden" name="locale" value="{{ request()->get('locale', app()->getLocale()) }}">

            <x-daylight::locale-selector :route="route('daylight.content.pages.edit', $page)"/>

            <x-daylight::input.group
                :label="__('daylight::general.name')"
                :error="$errors->first('name')"
                for="name"
            >
                <x-daylight::input.text name="name" id="name" value="{{ old('name', $page->name) }}" x-model="name"/>
            </x-daylight::input.group>

            <x-daylight::input.group
                :label="__('daylight::general.slug')"
                :error="$errors->first('slug')"
                :helpText="__('daylight::content.fields.help_slug_unique')"
                for="slug"
            >
                <x-daylight::input.text name="slug" id="slug" value="{{ old('slug', $page->slug) }}" x-slug="name" readonly/>
            </x-daylight::input.group>

            @if($templates->isNotEmpty())
                <x-daylight::input.group
                        :label="__('daylight::content.fields.template')"
                        :error="$errors->first('template')"
                        for="template"
                >
                    <x-daylight::input.select name="template" id="template">
                        @foreach($templates as $template)
                            <option value="{{ $template->getKey() }}" {{ old('template', $page->template) === $template->getKey() ? 'selected' : '' }}>
                                {{ $template->getLabel() }}
                            </option>
                        @endforeach
                    </x-daylight::input.select>
                </x-daylight::input.group>
            @endif

            <x-daylight::seo :page="$page"/>

            <div>
                <h2 class="mt-12">{{ __('daylight::general.components') }}</h2>

                <x-daylight::input.group
                        :label="__('daylight::general.components')"
                        :error="$errors->first('components')"
                        for="components"
                >
                    <div wire:ignore>
                        <div data-vue-app>
                            <page-builder
                                    :components='@json(old('components', $components) ? json_decode(old('components', $components)) : [])'
                                    :available-components='@json($availableComponents)'
                            />
                        </div>
                    </div>
                </x-daylight::input.group>
            </div>

            <div class="mt-6 flex items-center justify-end gap-x-3">
                <x-daylight::buttons.secondary href="{{ route('daylight.content.pages.index') }}" element="a">
                    {{ __('daylight::general.cancel') }}
                </x-daylight::buttons.secondary>

                <x-daylight::buttons.primary type="submit">
                    {{ __('daylight::general.save') }}
                </x-daylight::buttons.primary>
            </div>
        </form>

        <x-daylight::modal.confirm-delete-modal>
            <x-slot name="content">
                <h3 class="text-base font-semibold leading-6 text-gray-900" id="modal-title">{{ __('daylight::general.delete_object', ['object' => __('daylight::store.daylight::store.page')]) }}</h3>
                <div class="mt-2">
                    <p class="text-sm text-gray-500">
                        {{ __('daylight::general.delete_confirm', ['object' => __('daylight::store.daylight::store.page')]) }}
                    </p>
                </div>
            </x-slot>

            <x-slot name="footer">
                <form method="post" action="{{ route('daylight.content.pages.destroy', $page) }}">
                    @csrf
                    @method('DELETE')

                    <button type="button" class="mt-3 inline-flex w-full justify-center rounded-md bg-white px-3 py-2 text-sm font-semibold text-gray-900 shadow-sm ring-1 ring-inset ring-gray-300 hover:bg-gray-100 sm:mt-0 sm:w-auto" @click.prevent="showConfirmDeleteModal = false">
                        {{ __('daylight::general.cancel') }}
                    </button>

                    <button type="submit" class="inline-flex w-full justify-center rounded-md bg-red-600 px-3 py-2 text-sm font-semibold text-white shadow-sm hover:bg-red-500 sm:ml-2 sm:w-auto">
                        {{ __('daylight::general.delete') }}
                    </button>
                </form>
            </x-slot>
        </x-daylight::modal.confirm-delete-modal>
    </div>
@endsection
