+
+
\ No newline at end of file
diff --git a/src/lib/components/ListItem.svelte b/src/lib/components/ListItem.svelte
new file mode 100644
index 0000000..40ebf54
--- /dev/null
+++ b/src/lib/components/ListItem.svelte
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/lib/models/score.ts b/src/lib/models/score.ts
new file mode 100644
index 0000000..54c09af
--- /dev/null
+++ b/src/lib/models/score.ts
@@ -0,0 +1,11 @@
+export class Score {
+
+ readonly playerName : string;
+ readonly value: number;
+
+ constructor({playerName = "", value = 0}) {
+ this.playerName = playerName;
+ this.value = value;
+ }
+
+}
\ No newline at end of file
diff --git a/src/lib/stores/scoreStore.ts b/src/lib/stores/scoreStore.ts
new file mode 100644
index 0000000..3031038
--- /dev/null
+++ b/src/lib/stores/scoreStore.ts
@@ -0,0 +1,34 @@
+import {writable} from "svelte/store";
+import {Score} from "../models/score";
+import {browser} from "$app/environment"
+
+let localStorageKey = "scores"
+
+function isBrowser() {
+ return typeof window !== 'undefined' && typeof window.localStorage !== 'undefined';
+}
+
+function createStore(){
+
+ const storedValue = isBrowser() ? localStorage.getItem(localStorageKey) : null;
+
+ const { set, update, subscribe } = writable(!storedValue ? [] : JSON.parse(storedValue));
+
+ if (isBrowser()) subscribe(value => localStorage.setItem(localStorageKey, JSON.stringify(value)));
+
+ return {
+ update,
+ subscribe,
+ set : (value : Score[]) => set(!value ? [] : value),
+ reset : () => set([]),
+ add : (playerName : string, value : number) => {
+ update(scores => {
+ let s = [...scores, new Score({playerName : playerName, value : value})];
+ if(s.length >= 2) s.sort((s1 : Score, s2 : Score) => s1.value - s2.value)
+ return s;
+ });
+ }
+ };
+}
+
+export const scoreStore = createStore();
\ No newline at end of file
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 9c3b3b7..6fd30d7 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -3,7 +3,6 @@
import github_mark from '$lib/assets/github-mark-white.svg';
import twitter_mark from '$lib/assets/twitter-mark-white.svg';
- import NavLink from "$lib/components/NavLink.svelte";
import {onMount} from "svelte";
onMount(async () => {
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index ec5bf7e..857dc2d 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -1,101 +1,9 @@
-
+
-
-
Player 2
1 pts.
-
+
-
-
Player 3
2 pts.
-
-
-
-
Player 4
3 pts.
-
-
-
-
Player 5
4 pts.
-
-
-
-
Player 6
5 pts.
-
-
-
-
Player 7
6 pts.
-
-
-
-
Player 8
7 pts.
-
-
-
-
Player 9
8 pts.
-
-
-
-
Player 10
9 pts.
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte
index 0e74404..1b00494 100644
--- a/src/routes/about/+page.svelte
+++ b/src/routes/about/+page.svelte
@@ -1 +1 @@
-
It was revealed to me in my dream
\ No newline at end of file
+
It was revealed to me in a dream
\ No newline at end of file
diff --git a/src/routes/play/+page.svelte b/src/routes/play/+page.svelte
index e1dbf05..6e3db3a 100644
--- a/src/routes/play/+page.svelte
+++ b/src/routes/play/+page.svelte
@@ -1,7 +1,9 @@