<script setup lang="ts">
const dateFrom = defineModel<string>('dateFrom', { default: '' })
const dateTo = defineModel<string>('dateTo', { default: '' })

defineProps<{
  singleDate?: boolean
}>()

const today = new Date().toISOString().slice(0, 10)

watch(dateFrom, (from) => {
  if (from && dateTo.value && dateTo.value < from) {
    dateTo.value = from
  }
})
</script>

<template>
  <div class="grid grid-cols-2 gap-3">
    <UFormField :label="singleDate ? 'Fecha' : 'Desde'">
      <UInput v-model="dateFrom" type="date" :min="today" :max="dateTo || undefined" required />
    </UFormField>
    <UFormField v-if="!singleDate" label="Hasta">
      <UInput v-model="dateTo" type="date" :min="dateFrom || today" required />
    </UFormField>
  </div>
</template>
