diff --git a/src/lib/components/atoms/LogoOption.svelte b/src/lib/components/atoms/LogoOption.svelte index b38fbdc..4a6bdba 100644 --- a/src/lib/components/atoms/LogoOption.svelte +++ b/src/lib/components/atoms/LogoOption.svelte @@ -16,6 +16,9 @@ $: current = variants[i]; let interval = null; onMount(() => { + if (!hasVariants) { + return; + } interval = setInterval(() => { if (i === variants.length - 1) { i = 0; @@ -40,13 +43,17 @@ } function nextVariant() { - if (i >= variants.length) return null; + if (i >= variants.length - 1) { + return; + } console.log('next'); i++; } function prevVariant() { - if (i <= 0) return null; + if (i == 0) { + return; + } console.log('previous'); i--; } @@ -88,7 +95,7 @@
- + {#if !hideDetails}
diff --git a/src/routes/polling/+page.svelte b/src/routes/polling/+page.svelte index 737cb5b..14bade4 100644 --- a/src/routes/polling/+page.svelte +++ b/src/routes/polling/+page.svelte @@ -114,12 +114,26 @@ transitionDirection = -5; } +function preloadImage(url: string) { + var img=new Image(); + img.src=url; +} + function nextPage() { if (currentPage >= logoPages || submit) return null; currentPage++; min = currentPage * logoAmount; max = min + logoAmount; + + if (currentPage < logoPages) { + const nextPage = currentPage + 1; + const nextMin = nextPage * logoAmount; + const nextMax = nextMin + logoAmount; + logos.slice(nextMin, nextMax).forEach(({ variants }) => { + variants.forEach(variant => preloadImage(variant.gdrive_direct_url)); + }); + } transitionDirection = 5; }