diff --git a/frontend/src/routes/account/login/+page.ts b/frontend/src/routes/account/login/+page.server.ts
similarity index 100%
rename from frontend/src/routes/account/login/+page.ts
rename to frontend/src/routes/account/login/+page.server.ts
diff --git a/frontend/src/routes/account/password-reset/+page.ts b/frontend/src/routes/account/password-reset/+page.server.ts
similarity index 100%
rename from frontend/src/routes/account/password-reset/+page.ts
rename to frontend/src/routes/account/password-reset/+page.server.ts
diff --git a/frontend/src/routes/account/register/+page.ts b/frontend/src/routes/account/register/+page.server.ts
similarity index 51%
rename from frontend/src/routes/account/register/+page.ts
rename to frontend/src/routes/account/register/+page.server.ts
index ea5565e..f2cb5ba 100644
--- a/frontend/src/routes/account/register/+page.ts
+++ b/frontend/src/routes/account/register/+page.server.ts
@@ -1,7 +1,8 @@
import { redirect } from '@sveltejs/kit';
-export async function load({ session }) {
- if (session.authenticated) {
+export async function load({ parent }) {
+ const { email } = await parent();
+ if (email) {
throw redirect(302, '/dashboard');
}
return {};
diff --git a/frontend/src/routes/account/reset-password/+page.ts b/frontend/src/routes/account/reset-password/+page.server.ts
similarity index 51%
rename from frontend/src/routes/account/reset-password/+page.ts
rename to frontend/src/routes/account/reset-password/+page.server.ts
index ea5565e..f2cb5ba 100644
--- a/frontend/src/routes/account/reset-password/+page.ts
+++ b/frontend/src/routes/account/reset-password/+page.server.ts
@@ -1,7 +1,8 @@
import { redirect } from '@sveltejs/kit';
-export async function load({ session }) {
- if (session.authenticated) {
+export async function load({ parent }) {
+ const { email } = await parent();
+ if (email) {
throw redirect(302, '/dashboard');
}
return {};
diff --git a/frontend/src/routes/account/settings/+page.ts b/frontend/src/routes/account/settings/+page.server.ts
similarity index 56%
rename from frontend/src/routes/account/settings/+page.ts
rename to frontend/src/routes/account/settings/+page.server.ts
index 2810abf..cf4a0c0 100644
--- a/frontend/src/routes/account/settings/+page.ts
+++ b/frontend/src/routes/account/settings/+page.server.ts
@@ -1,10 +1,11 @@
import { redirect } from '@sveltejs/kit';
-export async function load({ session }) {
- if (!session.authenticated) {
+export async function load({ parent }) {
+ const { email } = await parent();
+ if (!email) {
throw redirect(302, '/account/login?returnTo=/account/settings');
}
return {
- email: session.email
+ email
};
}
diff --git a/frontend/src/routes/admin/+page.ts b/frontend/src/routes/admin/+page.server.ts
similarity index 81%
rename from frontend/src/routes/admin/+page.ts
rename to frontend/src/routes/admin/+page.server.ts
index c75f51f..4dacba1 100644
--- a/frontend/src/routes/admin/+page.ts
+++ b/frontend/src/routes/admin/+page.server.ts
@@ -1,7 +1,8 @@
import { redirect } from '@sveltejs/kit';
-export async function load({ session, url }) {
- if (!session.authenticated) {
+export async function load({ parent, url }) {
+ const { email } = await parent();
+ if (!email) {
throw redirect(302, '/account/login');
}
const token = url.searchParams.get('token');
diff --git a/frontend/src/routes/admin/+page.svelte b/frontend/src/routes/admin/+page.svelte
index 8bd4fda..9367bb7 100644
--- a/frontend/src/routes/admin/+page.svelte
+++ b/frontend/src/routes/admin/+page.svelte
@@ -52,6 +52,8 @@
players = [...players, int_data];
});
socket.on('already_registered_as_admin', () => {
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
errorMessage = $t('admin_page.already_registered_as_admin');
});
@@ -74,6 +76,8 @@
const confirmUnload = () => {
if (warnToLeave) {
event.preventDefault();
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore
event.returnValue = '';
}
};
diff --git a/frontend/src/routes/create/+page.ts b/frontend/src/routes/create/+page.server.ts
similarity index 55%
rename from frontend/src/routes/create/+page.ts
rename to frontend/src/routes/create/+page.server.ts
index 6d6ec35..fff608e 100644
--- a/frontend/src/routes/create/+page.ts
+++ b/frontend/src/routes/create/+page.server.ts
@@ -1,12 +1,10 @@
import { redirect } from '@sveltejs/kit';
import { signedIn } from '$lib/stores';
-export async function load({ session }) {
- if (!session.authenticated) {
+export async function load({ parent }) {
+ const { email } = await parent();
+ if (!email) {
throw redirect(302, '/account/login?returnTo=/create');
}
- if (session.authenticated) {
- signedIn.set(true);
- }
return {};
}
diff --git a/frontend/src/routes/dashboard/+page.ts b/frontend/src/routes/dashboard/+page.server.ts
similarity index 53%
rename from frontend/src/routes/dashboard/+page.ts
rename to frontend/src/routes/dashboard/+page.server.ts
index 0e77039..b598efb 100644
--- a/frontend/src/routes/dashboard/+page.ts
+++ b/frontend/src/routes/dashboard/+page.server.ts
@@ -1,10 +1,12 @@
import { redirect } from '@sveltejs/kit';
-export async function load({ session }) {
- if (!session.authenticated) {
+export const load = async ({ parent }) => {
+ const { email } = await parent();
+
+ if (!email) {
throw redirect(302, '/account/login?returnTo=/dashboard');
}
return {
- email: session.email
+ email
};
-}
+};
diff --git a/frontend/src/routes/edit/+page.ts b/frontend/src/routes/edit/+page.server.ts
similarity index 74%
rename from frontend/src/routes/edit/+page.ts
rename to frontend/src/routes/edit/+page.server.ts
index c5ebc42..fbea91b 100644
--- a/frontend/src/routes/edit/+page.ts
+++ b/frontend/src/routes/edit/+page.server.ts
@@ -1,13 +1,14 @@
import { redirect, error } from '@sveltejs/kit';
import { signedIn } from '$lib/stores';
-export async function load({ url, session }) {
+export async function load({ url, parent }) {
const quiz_id = url.searchParams.get('quiz_id');
- if (!session.authenticated) {
+ const { email } = await parent();
+ if (!email) {
throw redirect(302, `/account/login?returnTo=/edit?quiz_id=${quiz_id}`);
}
- if (session.authenticated) {
+ if (email) {
signedIn.set(true);
}
diff --git a/frontend/src/routes/import/+page.ts b/frontend/src/routes/import/+page.server.ts
similarity index 60%
rename from frontend/src/routes/import/+page.ts
rename to frontend/src/routes/import/+page.server.ts
index a538f0e..37f13f8 100644
--- a/frontend/src/routes/import/+page.ts
+++ b/frontend/src/routes/import/+page.server.ts
@@ -1,14 +1,15 @@
import { redirect } from '@sveltejs/kit';
import { signedIn } from '$lib/stores';
-export async function load({ session }) {
- if (!session.authenticated) {
+export async function load({ parent }) {
+ const { email } = await parent();
+ if (!email) {
throw redirect(302, '/account/login?returnTo=/import');
} else {
- if (session.authenticated) {
+ if (email) {
signedIn.set(true);
}
}
return {
- email: session.email
+ email
};
}
diff --git a/frontend/src/routes/play/+page.ts b/frontend/src/routes/play/+page.server.ts
similarity index 63%
rename from frontend/src/routes/play/+page.ts
rename to frontend/src/routes/play/+page.server.ts
index 28d2192..9ecd194 100644
--- a/frontend/src/routes/play/+page.ts
+++ b/frontend/src/routes/play/+page.server.ts
@@ -1,7 +1,8 @@
import { signedIn } from '$lib/stores';
-export async function load({ url, session }) {
- if (session.authenticated) {
+export async function load({ url, parent }) {
+ const { email } = await parent();
+ if (email) {
signedIn.set(true);
}
const token = url.searchParams.get('pin');
diff --git a/frontend/src/routes/play/+page.svelte b/frontend/src/routes/play/+page.svelte
index bcb7d7e..0db51b1 100644
--- a/frontend/src/routes/play/+page.svelte
+++ b/frontend/src/routes/play/+page.svelte
@@ -1,8 +1,4 @@
-
+
+
+
ClassQuiz - Play
diff --git a/frontend/src/routes/view/[quiz_id]/+page.ts b/frontend/src/routes/view/[quiz_id]/+page.server.ts
similarity index 55%
rename from frontend/src/routes/view/[quiz_id]/+page.ts
rename to frontend/src/routes/view/[quiz_id]/+page.server.ts
index 899c876..b8d296c 100644
--- a/frontend/src/routes/view/[quiz_id]/+page.ts
+++ b/frontend/src/routes/view/[quiz_id]/+page.server.ts
@@ -1,16 +1,16 @@
import { error } from '@sveltejs/kit';
-import type { PageLoad } from '@sveltejs/kit';
-export const load: PageLoad = async ({ params, fetch, session }) => {
+export const load = async ({ params, parent }) => {
const { quiz_id } = params;
- const res = await fetch(`/api/v1/quiz/get/public/${quiz_id}`);
+ const res = await fetch(`${process.env.API_URL}/api/v1/quiz/get/public/${quiz_id}`);
+ const { email } = await parent();
if (res.status === 404 || res.status === 400) {
throw error(404);
} else if (res.status === 200) {
const quiz = await res.json();
return {
quiz: quiz,
- logged_in: session.authenticated
+ logged_in: Boolean(email)
};
} else {
throw error(500);