Skip to content
Snippets Groups Projects
Select Git revision
1 result Searching

Archer.java

Blame
  • ImageView.vue 2.25 KiB
    <template>
      <TitleComposant label="Images" class="q-mt-xl" />
      <div class="q-mx-xl q-pb-xl">
        <swiper
          :style="{
          '--swiper-navigation-color': '#fff',
          '--swiper-pagination-color': '#222222',
          '--swiper-pagination-bullet-inactive-opacity': 0.4,
          '--swiper-pagination-bullet-inactive-color': '#222222',
        }"
          style="height: 400px; border-radius: 10px;border: 10px solid #222222"
          :lazy="true"
          :pagination="{
          clickable: true,
        }"
          :navigation="true"
          :modules="modules"
          class="mySwiper non-selectable"
        >
          <swiper-slide v-for="{src,nb} in imageProjet" zoom :key="nb">
            <img
              :src="src"
              loading="lazy"
              style="border-radius: 10px"
            />
            <div
              class="swiper-lazy-preloader swiper-lazy-preloader-white"
            ></div> </swiper-slide
          >
        </swiper>
      </div>
    </template>
    
    <script setup lang="ts">
    import { ref, onMounted } from 'vue';
    import { defineProps } from 'vue';
    import { Swiper, SwiperSlide } from 'swiper/vue';
    import 'swiper/css';
    import { Pagination, Navigation } from 'swiper/modules';
    
    import 'swiper/css/pagination';
    import 'swiper/css/navigation';
    
    import TitleComposant from 'components/TitleComposant.vue';
    import type { PropType } from 'vue';
    import images from './images';
    
    const props = defineProps({
      id: {
        type: String as PropType<'Block' | 'Chasse_au_monstre' | 'Discord' | 'F1_2077' | 'JeuLudoEducatif' | 'PizzaLand' | 'PrototypeSite'>,
        required: true
      },
      folder: String
    });
    
    const imageProjet = ref<{ src: string; nb: number }[]>([]);
    const modules = ref([Pagination, Navigation])
    
    onMounted(() => {
      let i = 0;
      imageProjet.value = images[props.id].map((img: string) => ({
        src: `${process.env.BASE_URL}/public/${props.folder}/${img}`,
        nb: i++
      }));
    });
    
    </script>
    
    <style scoped>
    .swiper {
      width: 100%;
      height: 100%;
    }
    
    .swiper-slide {
      text-align: center;
      font-size: 18px;
      background: #222222;
    }
    
    .swiper-slide img {
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 100%;
      -ms-transform: translate(-50%, -50%);
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      position: absolute;
      left: 50%;
      top: 50%;
    }
    
    </style>