diff --git a/eslint.config.js b/eslint.config.js index 5c68edc..4c9cdec 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -30,5 +30,17 @@ export default ts.config( parser: ts.parser, }, }, + }, + { + rules: { + '@typescript-eslint/no-unused-vars': [ + 'error', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + }, } ); diff --git a/src/lib/components/Navigation/Navbar/Navbar.svelte b/src/lib/components/Navigation/Navbar/Navbar.svelte index c16b463..f3f1bc8 100644 --- a/src/lib/components/Navigation/Navbar/Navbar.svelte +++ b/src/lib/components/Navigation/Navbar/Navbar.svelte @@ -1,11 +1,13 @@ \ 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..dfefb8f --- /dev/null +++ b/src/routes/app/+layout.server.ts @@ -0,0 +1,26 @@ +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 { + user: rest, + }; +} \ No newline at end of file diff --git a/src/routes/app/+layout.svelte b/src/routes/app/+layout.svelte index c14e9a4..8429527 100644 --- a/src/routes/app/+layout.svelte +++ b/src/routes/app/+layout.svelte @@ -1,8 +1,17 @@ - -{@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..0fbba99 100644 --- a/src/routes/app/+page.svelte +++ b/src/routes/app/+page.svelte @@ -0,0 +1,2 @@ +