diff --git a/src/app.html b/src/app.html index effe0d0..55bc7a2 100644 --- a/src/app.html +++ b/src/app.html @@ -6,6 +6,15 @@ %sveltekit.head% +
%sveltekit.body%
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 5982b0a..fdc7362 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,2 +1,28 @@ -

Welcome to SvelteKit

-

Visit kit.svelte.dev to read the documentation

+ + +

MemeJoin - A bot for user intros

+ +{#if !!$member} +

{$member.username}

+ +

Current Set Intros

+ {#each $member.intros as intro} +
  • {intro.name} ({intro.filename})
  • + {/each} + +

    Add Intros

    + +{:else} +

    You need to login first

    + +{/if} + diff --git a/src/store.ts b/src/store.ts new file mode 100644 index 0000000..398766c --- /dev/null +++ b/src/store.ts @@ -0,0 +1,44 @@ +import { readable, writable } from 'svelte/store'; + +type IntroIndex = number; + +interface MemberStore { + username: string + intros: IntroIndex[] +} + +interface Intro { + name: string + filename: string + length: number +} + +function createMemberStore(): MemberStore { + const { subscribe, set, update } = writable(null) + + return { + subscribe: subscribe, + _fakeLogin: () => set( + { + username: "TestUser", + intros: [ + { name: "TestSound", filename: "testsound.mp3", length: 30 }, + { name: "Huh?", filename: "tim allen.mp3", length: 2 }, + ] + } + ), + } +} + +export const member: MemberStore = createMemberStore() +export const intros: IntroStore = readable([], (set) => { + // TODO: actually grab intros from the API + set([ + { name: "TestSound", filename: "testsound.mp3", length: 30 }, + { name: "Huh?", filename: "tim allen.mp3", length: 2 }, + { name: "This sound hasn't been selected yet", filename: "totally_real.mp3", length: 9 }, + ]) + + return () => {} + }) +