Fix: Corregir uso de UModal según API de Nuxt UI v4
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 1m7s

- Usar v-model:open en lugar de v-model
- Usar slot #content para contenido personalizado
- Usar slots #body/#footer para estructura predefinida
- Corregir modal de imagen fullscreen
- Corregir modal de selector de emojis
This commit is contained in:
2025-12-03 09:57:30 -06:00
parent b335405ac9
commit fec189d5a5
2 changed files with 19 additions and 25 deletions

View File

@@ -23,29 +23,24 @@
</div>
<!-- Full emoji picker modal -->
<UModal v-model="showFullPicker">
<template #default>
<div class="p-4 bg-[var(--wa-surface)]">
<h3 class="text-lg font-semibold mb-4 text-[var(--wa-text)]">Elegir reaccion</h3>
<div class="grid grid-cols-8 gap-2 max-h-64 overflow-y-auto">
<button
v-for="emoji in allEmojis"
:key="emoji"
class="w-10 h-10 flex items-center justify-center text-2xl hover:bg-[var(--wa-bg-light)] rounded transition-transform hover:scale-110"
@click="selectReaction(emoji); showFullPicker = false"
>
{{ emoji }}
</button>
</div>
<div class="mt-4 flex justify-end">
<UButton variant="ghost" @click="showFullPicker = false">
Cancelar
</UButton>
</div>
<UModal v-model:open="showFullPicker" title="Elegir reacción" :ui="{ footer: 'justify-end' }">
<template #body>
<div class="grid grid-cols-8 gap-2 max-h-64 overflow-y-auto">
<button
v-for="emoji in allEmojis"
:key="emoji"
class="w-10 h-10 flex items-center justify-center text-2xl hover:bg-[var(--wa-bg-light)] rounded transition-transform hover:scale-110"
@click="selectReaction(emoji); showFullPicker = false"
>
{{ emoji }}
</button>
</div>
</template>
<template #footer>
<UButton variant="ghost" color="neutral" @click="showFullPicker = false">
Cancelar
</UButton>
</template>
</UModal>
</template>

View File

@@ -88,11 +88,10 @@
</div>
<!-- Fullscreen modal -->
<UModal v-model="showFullscreen" :ui="{ width: 'max-w-[95vw]' }">
<template #default>
<div class="relative bg-black flex items-center justify-center min-h-[50vh]">
<UModal v-model:open="showFullscreen" :close="false" :ui="{ content: 'max-w-[95vw] bg-black' }">
<template #content>
<div class="relative flex items-center justify-center min-h-[50vh]">
<img
v-if="showFullscreen"
:src="imageUrl"
:alt="'Imagen'"
class="max-w-full max-h-[90vh] object-contain"