Add generic slider Alpine component

This commit is contained in:
Luis Eduardo Jeréz Girón
2024-07-24 12:41:48 -06:00
parent 59641130d9
commit 6a462df6e1
2 changed files with 20 additions and 0 deletions
@@ -0,0 +1,18 @@
export const genericSlider = {
name: 'genericSlider',
fn: (slidesQty = 0) => ({
currentSlide: slidesQty > 0 ? 1 : 0,
get hasNextSlide () {
return this.currentSlide < slidesQty
},
get hasPrevSlide () {
return this.currentSlide > 1
},
nextSlide () {
if (this.hasNextSlide) this.currentSlide++
},
prevSlide () {
if (this.hasPrevSlide) this.currentSlide--
}
})
}
@@ -1,11 +1,13 @@
import { changeThemeButton } from './alpine-components/change-theme-button.js'
import { githubStars } from './alpine-components/github-stars.js'
import { dashboardAsideItem } from './alpine-components/dashboard-aside-item.js'
import { genericSlider } from './alpine-components/generic-slider.js'
export function initAlpineComponents () {
document.addEventListener('alpine:init', () => {
Alpine.data(changeThemeButton.name, changeThemeButton.fn)
Alpine.data(githubStars.name, githubStars.fn)
Alpine.data(dashboardAsideItem.name, dashboardAsideItem.fn)
Alpine.data(genericSlider.name, genericSlider.fn)
})
}