aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/components/Pin.svelte2
-rw-r--r--src/routes/(app)/[username]/generate/+server.js3
-rw-r--r--src/routes/(app)/[username]/reset/+server.js10
-rw-r--r--src/routes/(app)/admin/+page.svelte12
4 files changed, 24 insertions, 3 deletions
diff --git a/src/components/Pin.svelte b/src/components/Pin.svelte
index 40a53b8b..0cff904f 100644
--- a/src/components/Pin.svelte
+++ b/src/components/Pin.svelte
@@ -28,7 +28,7 @@
try {
result = await post('/pin', { pin: p });
} catch (e) {
- console.log('PIN ERR', e);
+ console.log('Pin check failed', e);
}
if (result) {
diff --git a/src/routes/(app)/[username]/generate/+server.js b/src/routes/(app)/[username]/generate/+server.js
index 1335c3e2..e1df08e3 100644
--- a/src/routes/(app)/[username]/generate/+server.js
+++ b/src/routes/(app)/[username]/generate/+server.js
@@ -3,7 +3,8 @@ import { error, json } from '@sveltejs/kit';
export async function POST({ cookies, request }) {
try {
- return json(await post(`/user`, await request.json(), auth(cookies)));
+ let body = await request.json();
+ return json(await post(`/user`, body, auth(cookies)));
} catch (e) {
throw error(500, e.message);
}
diff --git a/src/routes/(app)/[username]/reset/+server.js b/src/routes/(app)/[username]/reset/+server.js
new file mode 100644
index 00000000..73d3d849
--- /dev/null
+++ b/src/routes/(app)/[username]/reset/+server.js
@@ -0,0 +1,10 @@
+import { json } from '@sveltejs/kit';
+import { auth, post } from '$lib/utils';
+
+export async function POST({ cookies, request, params }) {
+ let { username } = params;
+ let r = await request.json();
+ let { password } = r;
+ let result = await post('/reset', { password, username }, auth(cookies));
+ return json(result);
+}
diff --git a/src/routes/(app)/admin/+page.svelte b/src/routes/(app)/admin/+page.svelte
index 011ed6a2..831b0284 100644
--- a/src/routes/(app)/admin/+page.svelte
+++ b/src/routes/(app)/admin/+page.svelte
@@ -1,12 +1,22 @@
<script>
+ import { post } from "$lib/utils";
export let data;
+ let reset = (username) => post(`/${username}/reset`, { password });
let { users } = data;
+ let password;
</script>
{#each users as { balance, username, expected }}
- <div class="grid grid-cols-3">
+ <div class="grid grid-cols-5">
<div>{username}</div>
<div>{balance}</div>
<div>{expected}</div>
+ <div><input bind:value={password} /></div>
+ <div>
+ <button
+ class="text-sm md:text-lg rounded-full border py-2 px-4 hover:opacity-80 min-w-[72px] bg-black text-white"
+ on:click={() => reset(username)}>Reset</button
+ >
+ </div>
</div>
{/each}