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

View File

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