| import { ref, onMounted, onUnmounted } from 'vue' | |
| import { storeToRefs } from 'pinia' | |
| import { useSlidesStore } from '@/store' | |
| export default () => { | |
| const { slides } = storeToRefs(useSlidesStore()) | |
| const timer = ref<number | null>(null) | |
| const slidesLoadLimit = ref(50) | |
| const loadSlide = () => { | |
| if (slides.value.length > slidesLoadLimit.value) { | |
| timer.value = setTimeout(() => { | |
| slidesLoadLimit.value = slidesLoadLimit.value + 20 | |
| loadSlide() | |
| }, 600) | |
| } | |
| else slidesLoadLimit.value = 9999 | |
| } | |
| onMounted(loadSlide) | |
| onUnmounted(() => { | |
| if (timer.value) clearTimeout(timer.value) | |
| }) | |
| return { | |
| slidesLoadLimit, | |
| } | |
| } |