feat: extract shop from mp/shop — initial libreshop/shop
Some checks failed
Build and publish / build (push) Failing after 19s
Some checks failed
Build and publish / build (push) Failing after 19s
Source moved verbatim from mp/shop/ on 2026-04-29; mp was the first concrete adapter consuming the libreshop toolkit. Builds and publishes git.librete.ch/libreshop/shop on every main / v* push via the standard .gitea/workflows/build.yml shared across libreshop components.
This commit is contained in:
29
components/ProductCarousel.vue
Normal file
29
components/ProductCarousel.vue
Normal file
@@ -0,0 +1,29 @@
|
||||
<template>
|
||||
<Carousel
|
||||
:gap="40"
|
||||
:items-to-show="1"
|
||||
:wrap-around="true"
|
||||
:autoplay="4200"
|
||||
:transition="600"
|
||||
:mouse-drag="false"
|
||||
:touch-drag="true"
|
||||
>
|
||||
<Slide v-for="slide in slides" :key="slide.id">
|
||||
<img :src="slide.formats?.medium?.url || slide.url" alt="Product Image" class="rounded-xl shadow-xl" />
|
||||
</Slide>
|
||||
|
||||
<template #addons>
|
||||
<Pagination />
|
||||
</template>
|
||||
</Carousel>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import "vue3-carousel/dist/carousel.css";
|
||||
import { Carousel, Slide, Pagination } from "vue3-carousel";
|
||||
import type { MediaData } from "~/types";
|
||||
|
||||
defineProps<{
|
||||
slides: MediaData[];
|
||||
}>();
|
||||
</script>
|
||||
Reference in New Issue
Block a user