diff --git a/web/src/lib/components/app-sidebar.svelte b/web/src/lib/components/app-sidebar.svelte index e2e1bcf..d15771c 100644 --- a/web/src/lib/components/app-sidebar.svelte +++ b/web/src/lib/components/app-sidebar.svelte @@ -1,92 +1,94 @@ - - - - - - {#snippet child({props})} - - Media Manager Logo -
- Media Manager - v{PUBLIC_VERSION} -
-
- {/snippet} -
-
-
-
- - - - - - - - + + + + + + {#snippet child({props})} + + Media Manager Logo +
+ Media Manager + v{PUBLIC_VERSION} +
+
+ {/snippet} +
+
+
+
+ + + + + + + +
diff --git a/web/src/lib/components/nav-projects.svelte b/web/src/lib/components/nav-projects.svelte index 357be70..cdad17d 100644 --- a/web/src/lib/components/nav-projects.svelte +++ b/web/src/lib/components/nav-projects.svelte @@ -66,11 +66,5 @@ {/each} - - - - More - - diff --git a/web/src/lib/components/torrent-table.svelte b/web/src/lib/components/torrent-table.svelte index b8073b8..2e15b97 100644 --- a/web/src/lib/components/torrent-table.svelte +++ b/web/src/lib/components/torrent-table.svelte @@ -1,4 +1,4 @@ - + + + A list of all users. + + + Email + Verified + Active + Admin + + + + {#each sortedUsers as user} + + + {user.email} + + + + + + + + + + + + + + + {/each} + + + + + + + Edit user + + + Edit {selectedUser?.email} + + +
+ +
+ + { if (selectedUser) selectedUser.is_verified = v === 'true'; }} + value={selectedUser?.is_verified ? 'true' : 'false'}> +
+ + +
+
+ + +
+
+
+
+ +
+ + { if (selectedUser) selectedUser.is_active = v === 'true'; }} + value={selectedUser?.is_active ? 'true' : 'false'}> +
+ + +
+
+ + +
+
+
+
+ +
+ + { if (selectedUser) selectedUser.is_superuser = v === 'true'; }} + value={selectedUser?.is_superuser ? 'true' : 'false'}> +
+ + +
+
+ + +
+
+
+ +
+ + +
+
+
+ + +
+
+
\ No newline at end of file diff --git a/web/src/routes/dashboard/settings/+page.svelte b/web/src/routes/dashboard/settings/+page.svelte index e69de29..5091650 100644 --- a/web/src/routes/dashboard/settings/+page.svelte +++ b/web/src/routes/dashboard/settings/+page.svelte @@ -0,0 +1,23 @@ + +
+

+ Settings +

+ + + Users + Edit or delete users + + + + + +
+ diff --git a/web/src/routes/dashboard/settings/+page.ts b/web/src/routes/dashboard/settings/+page.ts new file mode 100644 index 0000000..773876c --- /dev/null +++ b/web/src/routes/dashboard/settings/+page.ts @@ -0,0 +1,33 @@ +import {env} from '$env/dynamic/public'; +import type {PageLoad} from './$types'; + +export const load: PageLoad = async ({params, fetch}) => { + try { + const users = await fetch(env.PUBLIC_API_URL + "/users/all", { + method: 'GET', + headers: { + 'Content-Type': 'application/json' + }, + credentials: 'include' + }); + + if (!users.ok) { + console.error(`Failed to fetch users: ${users.statusText}`); + return { + users: null, + }; + } + + const usersData = await users.json(); + console.log('Fetched users:', usersData); + + return { + users: usersData, + }; + } catch (error) { + console.error('Error fetching users:', error); + return { + users: null, + }; + } +}; \ No newline at end of file diff --git a/web/src/routes/login/+page.svelte b/web/src/routes/login/+page.svelte index b8db001..5a45125 100644 --- a/web/src/routes/login/+page.svelte +++ b/web/src/routes/login/+page.svelte @@ -26,7 +26,7 @@