diff --git a/web-app/src/routes/(anonymous)/login/+page.server.ts b/web-app/src/routes/(anonymous)/login/+page.server.ts
index 2b58918..56df064 100644
--- a/web-app/src/routes/(anonymous)/login/+page.server.ts
+++ b/web-app/src/routes/(anonymous)/login/+page.server.ts
@@ -1,4 +1,6 @@
-export const actions = {
+import type { Actions } from "./$types";
+
+export const actions: Actions = {
default: async ({ request, cookies, fetch }) => {
const data = await request.formData();
diff --git a/web-app/src/routes/(anonymous)/login/+page.svelte b/web-app/src/routes/(anonymous)/login/+page.svelte
index d56885c..3b8aa8e 100644
--- a/web-app/src/routes/(anonymous)/login/+page.svelte
+++ b/web-app/src/routes/(anonymous)/login/+page.svelte
@@ -1,8 +1,9 @@
diff --git a/web-app/src/routes/(anonymous)/register/+page.server.ts b/web-app/src/routes/(anonymous)/register/+page.server.ts
index b666dca..6092b8c 100644
--- a/web-app/src/routes/(anonymous)/register/+page.server.ts
+++ b/web-app/src/routes/(anonymous)/register/+page.server.ts
@@ -1,4 +1,6 @@
-export const actions = {
+import type { Actions } from "./$types";
+
+export const actions: Actions = {
default: async ({ request, fetch }) => {
const data = await request.formData();
diff --git a/web-app/src/routes/(anonymous)/register/+page.svelte b/web-app/src/routes/(anonymous)/register/+page.svelte
index 4a2c8fb..3eb506e 100644
--- a/web-app/src/routes/(anonymous)/register/+page.svelte
+++ b/web-app/src/routes/(anonymous)/register/+page.svelte
@@ -1,8 +1,9 @@
diff --git a/web-app/src/routes/(authenticated)/+page.server.ts b/web-app/src/routes/(authenticated)/+page.server.ts
index f9878ba..d71ab3b 100644
--- a/web-app/src/routes/(authenticated)/+page.server.ts
+++ b/web-app/src/routes/(authenticated)/+page.server.ts
@@ -1,4 +1,6 @@
-export const load = async ({ fetch, cookies, url }) => {
+import type { Actions, PageServerLoad } from "./$types";
+
+export const load: PageServerLoad = async ({ fetch, cookies, url }) => {
const searchQuery = url.searchParams.get("website_search_query");
const sortBy = url.searchParams.get("website_sort");
@@ -57,7 +59,7 @@ export const load = async ({ fetch, cookies, url }) => {
};
};
-export const actions = {
+export const actions: Actions = {
createWebsite: async ({ request, fetch, cookies }) => {
const data = await request.formData();
diff --git a/web-app/src/routes/(authenticated)/+page.svelte b/web-app/src/routes/(authenticated)/+page.svelte
index eca1b74..8c5a54a 100644
--- a/web-app/src/routes/(authenticated)/+page.svelte
+++ b/web-app/src/routes/(authenticated)/+page.svelte
@@ -5,8 +5,9 @@
import { page } from "$app/stores";
import Modal from "$lib/components/Modal.svelte";
import SuccessOrError from "$lib/components/SuccessOrError.svelte";
+ import type { ActionData, PageServerData } from "./$types";
- const { form, data } = $props();
+ const { form, data } = $props<{ form: ActionData; data: PageServerData }>();
diff --git a/web-app/src/routes/(authenticated)/account/+page.server.ts b/web-app/src/routes/(authenticated)/account/+page.server.ts
index 2ac86a7..14391fb 100644
--- a/web-app/src/routes/(authenticated)/account/+page.server.ts
+++ b/web-app/src/routes/(authenticated)/account/+page.server.ts
@@ -1,10 +1,12 @@
-export const load = async ({ locals }) => {
+import type { Actions, PageServerLoad } from "./$types";
+
+export const load: PageServerLoad = async ({ locals }) => {
return {
user: locals.user
};
};
-export const actions = {
+export const actions: Actions = {
logout: async ({ cookies }) => {
cookies.delete("session_token", { path: "/" });
diff --git a/web-app/src/routes/(authenticated)/account/+page.svelte b/web-app/src/routes/(authenticated)/account/+page.svelte
index c6e63ac..269f435 100644
--- a/web-app/src/routes/(authenticated)/account/+page.svelte
+++ b/web-app/src/routes/(authenticated)/account/+page.svelte
@@ -2,8 +2,9 @@
import { enhance } from "$app/forms";
import Modal from "$lib/components/Modal.svelte";
import SuccessOrError from "$lib/components/SuccessOrError.svelte";
+ import type { ActionData, PageServerData } from "./$types";
- const { data, form } = $props();
+ const { data, form } = $props<{ data: PageServerData; form: ActionData }>();
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/+layout.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/+layout.server.ts
index c051e53..afc55f1 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/+layout.server.ts
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/+layout.server.ts
@@ -1,4 +1,6 @@
-export const load = async ({ params, fetch, cookies }) => {
+import type { LayoutServerLoad } from "./$types";
+
+export const load: LayoutServerLoad = async ({ params, fetch, cookies }) => {
const websiteData = await fetch(`http://localhost:3000/website?id=eq.${params.websiteId}`, {
method: "GET",
headers: {
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/+page.server.ts
index e4f6b12..baf3341 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/+page.server.ts
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/+page.server.ts
@@ -1,6 +1,7 @@
import { handleFileUpload } from "$lib/server/utils.js";
+import type { Actions, PageServerLoad } from "./$types";
-export const load = async ({ params, fetch, cookies, url }) => {
+export const load: PageServerLoad = async ({ params, fetch, cookies, url }) => {
const globalSettingsData = await fetch(
`http://localhost:3000/settings?website_id=eq.${params.websiteId}&select=*,media(*)`,
{
@@ -45,7 +46,7 @@ export const load = async ({ params, fetch, cookies, url }) => {
};
};
-export const actions = {
+export const actions: Actions = {
updateGlobal: async ({ request, fetch, cookies, params, locals }) => {
const data = await request.formData();
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/+page.svelte
index a1e7a2b..0b8ae74 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/+page.svelte
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/+page.svelte
@@ -3,8 +3,9 @@
import WebsiteEditor from "$lib/components/WebsiteEditor.svelte";
import { ALLOWED_MIME_TYPES } from "$lib/utils";
import SuccessOrError from "$lib/components/SuccessOrError.svelte";
+ import type { ActionData, PageServerData } from "./$types";
- const { data, form } = $props();
+ const { data, form } = $props<{ data: PageServerData; form: ActionData }>();
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts
index c275cc3..8a24d65 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.server.ts
@@ -1,4 +1,6 @@
-export const load = async ({ params, fetch, cookies, url, parent }) => {
+import type { Actions, PageServerLoad } from "./$types";
+
+export const load: PageServerLoad = async ({ params, fetch, cookies, url, parent }) => {
const searchQuery = url.searchParams.get("article_search_query");
const sortBy = url.searchParams.get("article_sort");
@@ -60,7 +62,7 @@ export const load = async ({ params, fetch, cookies, url, parent }) => {
};
};
-export const actions = {
+export const actions: Actions = {
createArticle: async ({ request, fetch, cookies, params }) => {
const data = await request.formData();
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte
index 592e459..2de4e75 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/+page.svelte
@@ -5,8 +5,9 @@
import { enhance } from "$app/forms";
import Modal from "$lib/components/Modal.svelte";
import SuccessOrError from "$lib/components/SuccessOrError.svelte";
+ import type { ActionData, PageServerData } from "./$types";
- const { data, form } = $props();
+ const { data, form } = $props<{ data: PageServerData; form: ActionData }>();
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.server.ts
index 6113ec6..f60120b 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.server.ts
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.server.ts
@@ -1,6 +1,7 @@
import { handleFileUpload } from "$lib/server/utils.js";
+import type { Actions, PageServerLoad } from "./$types";
-export const load = async ({ parent, params, cookies, fetch }) => {
+export const load: PageServerLoad = async ({ parent, params, cookies, fetch }) => {
const articleData = await fetch(`http://localhost:3000/article?id=eq.${params.articleId}`, {
method: "GET",
headers: {
@@ -16,7 +17,7 @@ export const load = async ({ parent, params, cookies, fetch }) => {
return { website, article };
};
-export const actions = {
+export const actions: Actions = {
default: async ({ fetch, cookies, request, params, locals }) => {
const data = await request.formData();
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.svelte
index bec604c..c173d95 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.svelte
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/articles/[articleId]/+page.svelte
@@ -3,8 +3,9 @@
import WebsiteEditor from "$lib/components/WebsiteEditor.svelte";
import { ALLOWED_MIME_TYPES } from "$lib/utils";
import SuccessOrError from "$lib/components/SuccessOrError.svelte";
+ import type { ActionData, PageServerData } from "./$types";
- const { data, form } = $props();
+ const { data, form } = $props<{ data: PageServerData; form: ActionData }>();
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts
index d6a601f..cc03d1f 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.server.ts
@@ -1,8 +1,9 @@
import { readFile, mkdir, writeFile } from "node:fs/promises";
import { join } from "node:path";
import { md } from "$lib/utils";
+import type { Actions, PageServerLoad } from "./$types";
-export const load = async ({ params, fetch, cookies, locals }) => {
+export const load: PageServerLoad = async ({ params, fetch, cookies, locals }) => {
const websiteOverviewData = await fetch(
`http://localhost:3000/website_overview?id=eq.${params.websiteId}`,
{
@@ -24,7 +25,7 @@ export const load = async ({ params, fetch, cookies, locals }) => {
};
};
-export const actions = {
+export const actions: Actions = {
publishWebsite: async ({ request, fetch, cookies, params, locals }) => {
const data = await request.formData();
const websiteOverview = JSON.parse(data.get("website-overview") as string);
diff --git a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.svelte b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.svelte
index 8b3d0ae..fc06a10 100644
--- a/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.svelte
+++ b/web-app/src/routes/(authenticated)/website/[websiteId]/publish/+page.svelte
@@ -1,8 +1,9 @@
{
+import type { LayoutServerLoad } from "./$types";
+
+export const load: LayoutServerLoad = async ({ locals }) => {
return {
user: locals.user
};
diff --git a/web-app/src/routes/+layout.svelte b/web-app/src/routes/+layout.svelte
index 3c404cc..22ccb01 100644
--- a/web-app/src/routes/+layout.svelte
+++ b/web-app/src/routes/+layout.svelte
@@ -1,7 +1,10 @@