diff --git a/src/lib/components/ConfirmModal.svelte b/src/lib/components/ConfirmModal.svelte new file mode 100644 index 0000000..e807e7d --- /dev/null +++ b/src/lib/components/ConfirmModal.svelte @@ -0,0 +1,43 @@ + + + + + + + diff --git a/src/lib/components/UserCard.svelte b/src/lib/components/UserCard.svelte index 74097f2..b4ef1fd 100644 --- a/src/lib/components/UserCard.svelte +++ b/src/lib/components/UserCard.svelte @@ -4,12 +4,14 @@ export let user: DatabaseUser; -
+

{user.first_name} {user.last_name}

-

{user.username}

+

{user.username} - {user.icon}

Last Login: {user.last_login}

Created: {user.signup_date}

+

{user.role}

+

{user.id}

diff --git a/src/routes/settings/admin/+page.server.ts b/src/routes/settings/admin/+page.server.ts index ca0bda1..001ef8b 100644 --- a/src/routes/settings/admin/+page.server.ts +++ b/src/routes/settings/admin/+page.server.ts @@ -14,7 +14,6 @@ export const load: PageServerLoad = async (event) => { } if (event.locals.user.role === "admin") { users = (await db.select().from(userTable).execute()) as DatabaseUser[]; - console.log(users); } return { users, @@ -28,7 +27,7 @@ export const actions: Actions = { message: "You are not authorized to perform this action", }); } else { - console.log("ALL SESSIONS CLEARED"); + console.log("ALL SESSIONS CLEARED by " + event.locals.user?.username); await db.delete(sessionTable).execute(); return { status: 200, diff --git a/src/routes/settings/admin/+page.svelte b/src/routes/settings/admin/+page.svelte index 189f49b..7a585c4 100644 --- a/src/routes/settings/admin/+page.svelte +++ b/src/routes/settings/admin/+page.svelte @@ -12,6 +12,27 @@ let first_name: string = ""; let last_name: string = ""; let password: string = ""; + import ConfirmModal from "$lib/components/ConfirmModal.svelte"; + + let isModalOpen = false; + + async function clearAllSessions() { + await fetch("?/clearAllSessions", { + method: "POST", + headers: { + "Content-Type": "application/x-www-form-urlencoded", + }, + body: new URLSearchParams(), + }); + window.location.reload(); + } + + function openModal() { + isModalOpen = true; + } + function closeModal() { + isModalOpen = false; + } const addUser: SubmitFunction = async ({ formData, action, cancel }) => { const response = await fetch(action, { @@ -95,22 +116,30 @@
{/if} -

Session Managment

+

Session Managment

-
- -
+

User Managment

-
+
{#each $page.data.users as user}
{/each}
+ +{#if isModalOpen} + +{/if}