aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/admin
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2023-03-16 23:04:32 -0700
committerAdam Soltys <[email protected]>2023-03-16 23:04:36 -0700
commitcdc3a2677c8728af27084024daba288153c2bd52 (patch)
tree06330e17d9c5efa4bb52a8b8db955d195a25972f /src/routes/(app)/admin
parentbee2cdd4a24787c4bf808de4d03783955610c905 (diff)
downloadcoinos-ui-cdc3a2677c8728af27084024daba288153c2bd52.tar.gz
coinos-ui-cdc3a2677c8728af27084024daba288153c2bd52.zip
admin route
Diffstat (limited to 'src/routes/(app)/admin')
-rw-r--r--src/routes/(app)/admin/+layout.server.js11
-rw-r--r--src/routes/(app)/admin/+layout.svelte10
-rw-r--r--src/routes/(app)/admin/+page.server.js10
-rw-r--r--src/routes/(app)/admin/+page.svelte11
4 files changed, 42 insertions, 0 deletions
diff --git a/src/routes/(app)/admin/+layout.server.js b/src/routes/(app)/admin/+layout.server.js
new file mode 100644
index 00000000..26449467
--- /dev/null
+++ b/src/routes/(app)/admin/+layout.server.js
@@ -0,0 +1,11 @@
+import { auth, get } from '$lib/utils';
+import { redirect } from '@sveltejs/kit';
+
+export async function load({ cookies, parent }) {
+ let token = cookies.get('token');
+ if (!token) throw redirect(307, '/login');
+ let user = await get('/me', auth(cookies));
+ if (!user) throw redirect(307, '/login');
+
+ return { user };
+}
diff --git a/src/routes/(app)/admin/+layout.svelte b/src/routes/(app)/admin/+layout.svelte
new file mode 100644
index 00000000..d7561e32
--- /dev/null
+++ b/src/routes/(app)/admin/+layout.svelte
@@ -0,0 +1,10 @@
+<script>
+ import { LandingHeader } from '$comp';
+ export let data;
+ let { user } = data;
+</script>
+
+<LandingHeader {user} />
+<main class="container px-10 md:px-40 mx-auto min-h-[600px] pb-20">
+ <slot />
+</main>
diff --git a/src/routes/(app)/admin/+page.server.js b/src/routes/(app)/admin/+page.server.js
new file mode 100644
index 00000000..c4079a2f
--- /dev/null
+++ b/src/routes/(app)/admin/+page.server.js
@@ -0,0 +1,10 @@
+import { get } from '$lib/utils';
+import { redirect } from '@sveltejs/kit';
+
+export async function load({ parent }) {
+ let { user } = await parent();
+ if (!user) throw redirect(307, '/login');
+
+ let users = (await get('/users')).sort((a, b) => b.balance - a.balance);
+ return { users };
+}
diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte
new file mode 100644
index 00000000..1a747f1f
--- /dev/null
+++ b/src/routes/(app)/admin/+page.svelte
@@ -0,0 +1,11 @@
+<script>
+ export let data;
+ let { users } = data;
+</script>
+
+{#each users as { balance, username }}
+ <div class="grid grid-cols-2">
+ <div>{username}</div>
+ <div>{balance}</div>
+ </div>
+{/each}