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;
}