diff --git a/package.json b/package.json index f59d96ea..1ecacc60 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@sveltejs/adapter-static": "2.0.3", "@sveltejs/kit": "1.25.1", "@sveltejs/vite-plugin-svelte": "2.4.6", + "@splidejs/svelte-splide": "0.2.9", "@types/events": "3.0.1", "@types/mapbox-gl": "2.7.15", "@types/mapbox__mapbox-gl-geocoder": "4.7.5", @@ -37,6 +38,7 @@ "prettier": "3.0.3", "prettier-plugin-svelte": "3.0.3", "svelte": "4.2.1", + "svelte-carousel": "1.0.25", "svelte-check": "3.5.2", "svelte-multiselect": "10.2.0", "svelte-preprocess": "5.0.4", diff --git a/src/app.d.ts b/src/app.d.ts index 71714b12..9e70e9d3 100644 --- a/src/app.d.ts +++ b/src/app.d.ts @@ -29,3 +29,5 @@ declare module '*messages.yml' { } declare module '*package.json' + +declare module 'svelte-carousel' diff --git a/src/lib/Carousel.svelte b/src/lib/Carousel.svelte new file mode 100644 index 00000000..28e9648f --- /dev/null +++ b/src/lib/Carousel.svelte @@ -0,0 +1,57 @@ + + +{#await get_posts() then _} + {#if !error && posts && posts.length > 0} + + {#each posts as post} +
+ +
+ {/each} +
+ {/if} +{/await} + + + diff --git a/src/lib/index.ts b/src/lib/index.ts index 5c1038aa..c2562b9c 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -1,6 +1,7 @@ export { default as BasePage } from './BasePage.svelte' export { default as ChapterList } from './ChapterList.svelte' export { default as ChapterMap } from './ChapterMap.svelte' +export { default as Carousel } from './Carousel.svelte' export { default as CircleSpinner } from './CircleSpinner.svelte' export { default as Collapsible } from './Collapsible.svelte' export { default as Footer } from './Footer.svelte' diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index d073f892..7e7a30fb 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,11 +1,14 @@ @@ -81,6 +84,11 @@ {@html data.page.body} + +
+ +
+