diff --git a/create-redirects.js b/create-redirects.js deleted file mode 100644 index 5c929b2..0000000 --- a/create-redirects.js +++ /dev/null @@ -1,58 +0,0 @@ -import { writeFile } from 'fs/promises'; -import { existsSync, mkdirSync } from 'fs'; - -const redirects = [ - ['/aboutUs.html', "/about-us"], - ['/ourSites.html', "/our-sites"] -]; - -const template = -` - - - - Redirecting... - - - -

Redirecting...

-

If you are not redirected automatically, please click here.

-
- - -`; - -/** - * @param {string} from - The page to redirect from. - * @param {string} to - The path to redirect to. - * @returns {Promise} - A promise that resolves when the file is written. - */ -function createRedirect(from, to) { - const content = template.replaceAll('{to}', to).replaceAll('{from}', from); - const filePath = `src/routes${from}/+page.svelte`; - - // Ensure the directory exists - const dir = filePath.substring(0, filePath.lastIndexOf('/')); - - if (!existsSync(dir)) { - mkdirSync(dir, { recursive: true }); - } - - return writeFile(filePath, content); -} - -for (const [from, to] of redirects) { - createRedirect(from, to); -} diff --git a/src/hooks.server.ts b/src/hooks.server.ts index 9e8feca..0389f41 100644 --- a/src/hooks.server.ts +++ b/src/hooks.server.ts @@ -1,6 +1,25 @@ import type { Handle } from '@sveltejs/kit'; +import { redirect } from '@sveltejs/kit'; +import { sequence } from '@sveltejs/kit/hooks'; import { paraglideMiddleware } from '$lib/paraglide/server'; +const handleRedirects: Handle = ({ event, resolve }) => { + const { pathname } = event.url; + + // Define redirect mappings + const redirectMap: Record = { + '/aboutUs.html': '/about-us', + '/ourSites.html': '/our-sites' + }; + + // Check if current pathname needs redirecting + if (redirectMap[pathname]) { + throw redirect(301, redirectMap[pathname]); + } + + return resolve(event); +}; + const handleParaglide: Handle = ({ event, resolve }) => paraglideMiddleware(event.request, ({ request, locale }) => { event.request = request; @@ -9,4 +28,4 @@ const handleParaglide: Handle = ({ event, resolve }) => paraglideMiddleware(even }); }); -export const handle: Handle = handleParaglide; +export const handle: Handle = sequence(handleRedirects, handleParaglide); diff --git a/src/routes/+layout.ts b/src/routes/+layout.ts index 189f71e..adf1e96 100644 --- a/src/routes/+layout.ts +++ b/src/routes/+layout.ts @@ -1 +1,11 @@ +import { browser } from '$app/environment'; +import { goto } from '$app/navigation'; + +if (browser) { + // Handle index.html redirect on client side + if (window.location.pathname === '/index.html') { + goto('/', { replaceState: true }); + } +} + export const prerender = true; diff --git a/src/routes/aboutUs.html/+page.svelte b/src/routes/aboutUs.html/+page.svelte deleted file mode 100644 index 06cac6f..0000000 --- a/src/routes/aboutUs.html/+page.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - - - - Redirecting... - - - -

Redirecting...

-

If you are not redirected automatically, please click here.

-
- - diff --git a/src/routes/ourSites.html/+page.svelte b/src/routes/ourSites.html/+page.svelte deleted file mode 100644 index 9a753c2..0000000 --- a/src/routes/ourSites.html/+page.svelte +++ /dev/null @@ -1,25 +0,0 @@ - - - - - Redirecting... - - - -

Redirecting...

-

If you are not redirected automatically, please click here.

-
- -