diff --git a/.gitignore b/.gitignore index 6635cf5..ee1f68a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ node_modules !.env.example vite.config.js.timestamp-* vite.config.ts.timestamp-* +.vscode diff --git a/src/lib/assets/share-icon.svg b/src/lib/assets/share-icon.svg new file mode 100644 index 0000000..20dac02 --- /dev/null +++ b/src/lib/assets/share-icon.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/src/lib/components/Carousel.svelte b/src/lib/components/Carousel.svelte index afee8a4..fc0dc98 100644 --- a/src/lib/components/Carousel.svelte +++ b/src/lib/components/Carousel.svelte @@ -8,11 +8,13 @@ let { index, focusPips, - isRolling = false + isRolling = false, + sequence = $bindable() }: { index: number focusPips: number | null isRolling?: boolean + sequence: number[] } = $props() let emblaApi: EmblaCarouselType @@ -26,8 +28,19 @@ // Attach event listener for slide change // settle: Runs when the carousel has settled after scroll has been triggered. + // use event listener to update sequence if focusPips change in Carousel emblaApi.on("settle", () => { - focusPips = emblaApi.selectedScrollSnap() + 1 + // focusPips = emblaApi.selectedScrollSnap() + 1 + const newFocusPips = emblaApi.selectedScrollSnap() + 1 + // only update if pips actually changed + if (focusPips !== newFocusPips) { + focusPips = newFocusPips + + if (sequence) { + sequence[index - 1] = newFocusPips + sequence = [...sequence] + } + } }) } diff --git a/src/lib/components/ShareButton.svelte b/src/lib/components/ShareButton.svelte new file mode 100644 index 0000000..4445292 --- /dev/null +++ b/src/lib/components/ShareButton.svelte @@ -0,0 +1,86 @@ + + + +
+ {#if showDialogue} +
+ +

+ {$locale === "de" + ? "Teile deinen gewürfelten Einakter:" + : "Share your randomised one-act play:"} +

+
+ + +
+
+ {/if} + + + +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5232d33..364da72 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,7 +1,9 @@ @@ -160,6 +178,7 @@ @@ -173,7 +192,7 @@ {/if} +
+ {#if showShareButton} + + + {/if} +