Skip to content
This repository was archived by the owner on Feb 15, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion src/App.svelte
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<script lang="ts">
import EpisodeListSection from "./sections/EpisodeListSection.svelte";
import IntroSection from "./sections/IntroSection.svelte";
import { getEpisodeById, getEpisodeByNumber, getLatestEpisode } from "./libs/episodes-repo";
import { getEpisodeById, getEpisodeByNumber, getLatestEpisode, getRandomEpisode } from "./libs/episodes-repo";
import EpisodeSection from "./sections/EpisodeSection.svelte";
import MetaSection from "./sections/MetaSection.svelte";
import AboutSection from "./sections/AboutSection.svelte";
Expand Down Expand Up @@ -32,6 +32,7 @@
}

function getEpisodeFromSearchKeys(keys: string[]) {
if (searchParams.has("randomEpisode")) return getRandomEpisode();
const episodeId = keys.find(getEpisodeById);
const episodeNumber = searchParams.get("episode");
return getEpisodeByNumber(episodeNumber) ??
Expand Down
4 changes: 4 additions & 0 deletions src/libs/episodes-repo.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ export function getEpisodeByNumber(episodeNumber: string): EpisodeData {
return episodeMapByNumber.get(episodeNumber);
}

export function getRandomEpisode(): EpisodeData {
return episodeMapByNumber.get(`${Math.floor(Math.random() * (episodeMapByNumber.size)) + 1}`);
}

export function getAllEpisodeData(): EpisodeData[] {
return episodeDatas;
}
Expand Down
3 changes: 3 additions & 0 deletions src/sections/EpisodeListSection.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@
{/if}
</li>
{/each}
<li>
<a href="?randomEpisode">Random episode</a>
</li>
</ol>
</Section>

Expand Down