@php
  $compact = $compact ?? false;
  $wide = $wide ?? false;
@endphp

<div class="asporto-config-campo{{ $wide ? ' is-wide' : '' }}{{ $compact ? ' is-compact' : '' }}">
  <label for="{{ $fieldId }}" class="asporto-config-campo__label" @if($hint !== '' && $hint !== $label) title="{{ $hint }}" @endif>
    {{ $label }}
    @if($hint !== '' && $hint !== $label)
      <i class="bx bx-info-circle text-muted" aria-hidden="true"></i>
    @endif
  </label>

  @if(in_array($tipo, ['boolean', 'bool'], true))
    <select
      class="form-select form-select-sm asporto-config-field"
      id="{{ $fieldId }}"
      name="impostazioni[{{ $impostazione->id }}]"
      data-id="{{ $impostazione->id }}"
      data-chiave="{{ $impostazione->chiave }}"
      data-tipo="boolean"
    >
      @php
        $isTrue = in_array((string) $valore, ['1', 'true', 'on', 'yes'], true) || $valore === true || $valore === 1;
      @endphp
      <option value="1" @selected($isTrue)>Sì</option>
      <option value="0" @selected(!$isTrue)>No</option>
    </select>

  @elseif(in_array($tipo, ['number', 'int', 'integer', 'float'], true))
    <input
      type="number"
      step="{{ $tipo === 'float' ? '0.01' : '1' }}"
      class="form-control form-control-sm asporto-config-field"
      id="{{ $fieldId }}"
      name="impostazioni[{{ $impostazione->id }}]"
      value="{{ $valore }}"
      data-id="{{ $impostazione->id }}"
      data-chiave="{{ $impostazione->chiave }}"
      data-tipo="{{ $tipo === 'float' ? 'float' : 'integer' }}"
    >

  @elseif($tipo === 'time')
    <input
      type="time"
      class="form-control form-control-sm asporto-config-field"
      id="{{ $fieldId }}"
      name="impostazioni[{{ $impostazione->id }}]"
      value="{{ $valore }}"
      data-id="{{ $impostazione->id }}"
      data-chiave="{{ $impostazione->chiave }}"
      data-tipo="time"
    >

  @elseif($tipo === 'array')
    <div class="asporto-config-days" data-id="{{ $impostazione->id }}" data-chiave="{{ $impostazione->chiave }}" data-tipo="array">
      @foreach(($opzioni ?: [1,2,3,4,5,6,7]) as $opzione)
        @php $op = (string) $opzione; @endphp
        <label class="asporto-config-day" for="{{ $fieldId }}-{{ $op }}">
          <input
            class="form-check-input asporto-config-field-day"
            type="checkbox"
            id="{{ $fieldId }}-{{ $op }}"
            value="{{ $op }}"
            @checked(in_array($op, $selezionati, true))
          >
          <span>{{ $giorniLabel->get((int) $opzione, $op) }}</span>
        </label>
      @endforeach
    </div>

  @else
    <input
      type="text"
      class="form-control form-control-sm asporto-config-field"
      id="{{ $fieldId }}"
      name="impostazioni[{{ $impostazione->id }}]"
      value="{{ $valore }}"
      data-id="{{ $impostazione->id }}"
      data-chiave="{{ $impostazione->chiave }}"
      data-tipo="text"
    >
  @endif
</div>
