diff --git a/common/components/banner/Banner.svelte b/common/components/banner/Banner.svelte
index 81b97a8..23e507f 100644
--- a/common/components/banner/Banner.svelte
+++ b/common/components/banner/Banner.svelte
@@ -2,13 +2,32 @@
import FullBanner from './FullBanner.svelte'
import SkeletonBanner from './SkeletonBanner.svelte'
export let data
+
+ /**
+ * Shuffles array in place.
+ * @template T
+ * @param {T[]} array items An array containing the items.
+ * @returns {T[]}
+ */
+ function shuffle (array) {
+ let currentIndex = array.length
+ let randomIndex
+
+ while (currentIndex > 0) {
+ randomIndex = Math.floor(Math.random() * currentIndex--);
+
+ [array[currentIndex], array[randomIndex]] = [array[randomIndex], array[currentIndex]]
+ }
+
+ return array
+ }
- {media.title.userPreferred}
+ {current.title.userPreferred}
- {#if media.format}
- {formatMap[media.format]}
+ {#if current.format}
+ {formatMap[current.format]}
{/if}
- {#if media.episodes && media.episodes !== 1}
+ {#if current.episodes && current.episodes !== 1}
- {#if media.mediaListEntry?.status === 'CURRENT' && media.mediaListEntry?.progress }
- {media.mediaListEntry.progress} / {media.episodes} Episodes
+ {#if current.mediaListEntry?.status === 'CURRENT' && current.mediaListEntry?.progress }
+ {current.mediaListEntry.progress} / {current.episodes} Episodes
{:else}
- {media.episodes} Episodes
+ {current.episodes} Episodes
{/if}
- {:else if media.duration}
+ {:else if current.duration}
- {media.duration + ' Minutes'}
+ {current.duration + ' Minutes'}
{/if}
- {#if media.season || media.seasonYear}
+ {#if current.season || current.seasonYear}
- {[media.season?.toLowerCase(), media.seasonYear].filter(s => s).join(' ')}
+ {[current.season?.toLowerCase(), current.seasonYear].filter(s => s).join(' ')}
{/if}
- {media.description?.replace(/<[^>]*>/g, '')}
+ {current.description?.replace(/<[^>]*>/g, '')}
- {#each media.genres as genre}
+ {#each current.genres as genre}
{genre}
@@ -63,19 +86,42 @@
-
+
+ {#each mediaList as media}
+ {@const active = current === media}
+
+ {/each}
+