From e8d796872be24a7de5bfc8c59ed9d12a21a6d374 Mon Sep 17 00:00:00 2001 From: clement franckelemon <clement.franckelemon.etu@univ-lille.fr> Date: Sun, 2 Mar 2025 01:25:23 +0100 Subject: [PATCH] :lipstick: add project image visualizer --- src/components/ImageDialog.vue | 23 +++++++++++++++++++++++ src/components/ImageView.vue | 7 +++++++ 2 files changed, 30 insertions(+) create mode 100644 src/components/ImageDialog.vue diff --git a/src/components/ImageDialog.vue b/src/components/ImageDialog.vue new file mode 100644 index 0000000..2c6541f --- /dev/null +++ b/src/components/ImageDialog.vue @@ -0,0 +1,23 @@ +<template> + <q-dialog> + <div class="column justify-center items-center content-center" > + <q-btn icon="close" size="lg" class="absolute q-mt-md bg-secondary" style="top: 0px; z-index: 20000" text-color="primary" unelevated round v-close-popup /> + <div class="absolute" style="margin: 10%; height: auto"> + <img class="full-height full-width" style="border-radius: 10px" :src="src" /> + </div> + </div> + </q-dialog> +</template> + +<script setup lang="ts"> +defineProps({ + src: { + type: String, + required: true + } +}) +</script> + +<style scoped> + +</style> diff --git a/src/components/ImageView.vue b/src/components/ImageView.vue index 1335eff..1f9b88e 100644 --- a/src/components/ImageView.vue +++ b/src/components/ImageView.vue @@ -19,9 +19,11 @@ > <swiper-slide v-for="{src,nb} in imageProjet" zoom :key="nb"> <img + class="cursor-pointer" :src="src" loading="lazy" style="border-radius: 10px" + @click="showImg = true;imgSelected = src" /> <div class="swiper-lazy-preloader swiper-lazy-preloader-white" @@ -29,6 +31,7 @@ > </swiper> </div> + <image-dialog v-model="showImg" :src="imgSelected" /> </template> <script setup lang="ts"> @@ -44,6 +47,10 @@ import 'swiper/css/navigation'; import TitleComposant from 'components/TitleComposant.vue'; import type { PropType } from 'vue'; import images from './images'; +import ImageDialog from 'components/ImageDialog.vue' + +const imgSelected = ref('') +const showImg = ref(false) const props = defineProps({ id: { -- GitLab