diff --git a/src/lib/components/Navigation/Navbar/Navbar.svelte b/src/lib/components/Navigation/Navbar/Navbar.svelte
index c16b463..4f0cc03 100644
--- a/src/lib/components/Navigation/Navbar/Navbar.svelte
+++ b/src/lib/components/Navigation/Navbar/Navbar.svelte
@@ -1,12 +1,14 @@
Hestia
{title}
- Welcome!
+ {greeting}
+
\ No newline at end of file
diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts
index 89bd867..7bf8f64 100644
--- a/src/routes/+page.server.ts
+++ b/src/routes/+page.server.ts
@@ -1,5 +1,6 @@
import { prisma } from '$lib/server/prisma';
import { redirect } from '@sveltejs/kit';
+
export async function load(event) {
const sessionId = event.cookies.get('auth_session');
if (!sessionId) {
@@ -11,7 +12,7 @@ export async function load(event) {
},
});
if (!user) {
- redirect(401, '/login');
+ redirect(300, '/login');
}
return {};
-}
+}
\ No newline at end of file
diff --git a/src/routes/app/+layout.server.ts b/src/routes/app/+layout.server.ts
new file mode 100644
index 0000000..ca87351
--- /dev/null
+++ b/src/routes/app/+layout.server.ts
@@ -0,0 +1,24 @@
+import { prisma } from '$lib/server/prisma';
+import { redirect } from '@sveltejs/kit';
+import dayjs from 'dayjs';
+
+export async function load(event) {
+ const sessionId = event.cookies.get('auth_session');
+ if (!sessionId) {
+ redirect(300, '/login');
+ }
+ const session = await prisma.session.findUnique({
+ where: { id: sessionId },
+ include: { user: true },
+ });
+ if (!session) {
+ redirect(300, '/login');
+ }
+ const expiry = session.expiresAt;
+ if (dayjs(expiry).isBefore(dayjs())) {
+ redirect(300, '/login');
+ }
+
+ const { password: _, ...rest } = session.user;
+ return rest;
+}
\ No newline at end of file
diff --git a/src/routes/app/+layout.svelte b/src/routes/app/+layout.svelte
index c14e9a4..56475e5 100644
--- a/src/routes/app/+layout.svelte
+++ b/src/routes/app/+layout.svelte
@@ -1,8 +1,15 @@
-
-{@render children()}
+
+{@render children()}
\ No newline at end of file
diff --git a/src/routes/app/+page.svelte b/src/routes/app/+page.svelte
index e69de29..4d28455 100644
--- a/src/routes/app/+page.svelte
+++ b/src/routes/app/+page.svelte
@@ -0,0 +1,2 @@
+
\ No newline at end of file