<x-form wire:submit="save" class="w-full space-y-4">

    {{-- Adresse Pro --}}
    <x-checkbox
        label="{!! __('C\'est une adresse professionnelle') !!}"
        wire:model="professionnal"
        wire:change="$refresh"
        class="checkbox-primary checkbox-sm"
    />

    {{-- Civilités --}}
    <x-radio
        :options="$civilities"
        wire:model="civility"
        class="radio-primary radio-sm"
    />

    {{-- Nom & Prénom sur 2 colonnes en Desktop --}}
    <div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
        <x-input
            label="{{ __('Nom') }}"
            type="text"
            wire:model="name"
            icon="o-user"
            hint="{{ $professionnal ? __('Optionnel') : '' }}"
            :required="!$professionnal"
        />
        <x-input
            label="{{ __('Prénom') }}"
            type="text"
            wire:model="firstname"
            icon="o-user"
            hint="{{ $professionnal ? __('Optionnel') : '' }}"
            :required="!$professionnal"
        />
    </div>

    {{-- Raison Sociale --}}
    <x-input
        label="{{ __('Raison sociale') }}"
        type="text"
        wire:model="company"
        icon="o-building-office"
        :disabled="!$professionnal"
        :required="$professionnal"
    />

    <x-input
        label="{{ __('Numéro de TVA') }}"
        type="text"
        wire:model="buyer_tax_no"
        icon="o-identification"
        :disabled="!$professionnal"
        hint="A compléter si vous êtes redevable de la TVA. Example: FR12345678901"
    />

    @php
        $dateObligation = \Carbon\Carbon::parse(config('app.facturation_electronique.obligatoire_a_partir_du'));
        $sirenObligatoire = $professionnal && ($country?->requires_siren ?? false) && $dateObligation->isPast();
        $dateFormatee = $dateObligation->translatedFormat('d/m/Y');
    @endphp

    <x-input
        label="{{ __('Numéro de SIREN/SIRET') }}"
        type="text"
        wire:model="siren"
        icon="o-identification"
        :disabled="!$professionnal || !$country?->requires_siren || !$sirenObligatoire"
        :required="$sirenObligatoire"
        hint="{{ $sirenObligatoire
        ? __('Obligatoire pour la facturation électronique. Exemple: 123456789 (SIREN) ou 12345678901234 (SIRET)')
        : ($professionnal && $country?->requires_siren
            ? __('Ce champ sera obligatoire à partir du :date pour la facturation électronique.', ['date' => $dateFormatee])
            : '') }}"
    />

    {{-- Lignes d'adresse --}}
    <x-input
        label="{{ __('N° et nom de rue') }}"
        type="text"
        wire:model="address"
        icon="o-map-pin"
        required
    />

    <x-input
        label="{{ __('Bâtiment, étage, etc.') }}"
        type="text"
        hint="{{ __('Optionnel') }}"
        wire:model="addressbis"
        icon="o-map-pin"
    />

    <x-input
        label="{{ __('Lieu-dit ou Boîte Postale') }}"
        type="text"
        hint="{{ __('Optionnel') }}"
        wire:model="bp"
        icon="o-map-pin"
    />

    {{-- Code Postal & Ville sur 2 colonnes --}}
    <div class="grid grid-cols-1 sm:grid-cols-3 gap-4">
        <x-input
            label="{{ __('Code postal') }}"
            type="text"
            wire:model="postal"
            icon="o-map-pin"
            required
        />
        <x-input
            label="{{ __('Ville') }}"
            type="text"
            wire:model="city"
            icon="o-map-pin"
            class="sm:col-span-2"
            required
        />
    </div>

    {{-- Pays & Téléphone --}}
    <x-select
        label="{{ __('Pays') }}"
        :options="$countries"
        wire:model.live.debounce="country_id"
        icon="o-globe-alt"
        required
    />

    <x-input
        label="{{ __('Numéro de téléphone') }}"
        type="tel"
        wire:model="phone"
        icon="o-phone"
        required
    />

    <p class="text-xs text-base-content/60 pt-2">
        <span class="text-error">*</span> @lang('Champs obligatoires')
    </p>

    <x-slot:actions>
        <div class="flex flex-col sm:flex-row items-center justify-between gap-3 w-full pt-2">
            <x-button
                label="{{ __('Annuler') }}"
                type="button"
                icon="o-x-mark"
                link="/account/addresses"
                class="btn-ghost btn-sm w-full sm:w-auto order-2 sm:order-1"
            />

            <x-button
                label="{{ __('Enregistrer') }}"
                type="submit"
                icon-right="o-check"
                spinner="save"
                class="btn-primary btn-sm w-full sm:w-auto order-1 sm:order-2"
            />
        </div>
    </x-slot:actions>
</x-form>
