Quantcast
Channel: Active questions tagged svelte - Stack Overflow
Viewing all articles
Browse latest Browse all 1546

Consistent delay after page creation in svelte

$
0
0

I'm trying to create a new page after submitting a form to the server then redirecting the client to this new page. After redirecting, I get an error 404 and after a refresh it work (at least in dev, i didn't tried in production). So I add a delay to the redirect, which... it work half of the time.

Here the content of my +page.svelte

<form method="POST" action="?/create"><label>        Title<input name="title" type="text"></label><label>        URL<input name="URL" type="text"></label><button>Submit</button></form>

And of +page.server.js

import { redirect } from '@sveltejs/kit';import * as fs from 'node:fs';/** @type {import('./$types').Actions} */export const actions = {    create: async ({ request }) => {        const data = await request.formData()        //const gameTitle = data.get('title')        const gameURL = data.get('URL')        const fileTemplate = '<script>\n    import Template from "../template.svelte";\n</script>\n\n<p>I am the page file</p>\n<Template />'        fs.mkdir(`./src/routes/(games)/${gameURL}/`, (error) => { console.error(error) })        fs.writeFile(`./src/routes/(games)/${gameURL}/+page.svelte`, fileTemplate, (error) => { console.error(error) })        setTimeout(redirect(303, `/${gameURL}`), 3000)        return { success: true }    },    delete: async (event) => { // TODO: delete selected page },    update: async (event) => { // TODO: change options on a file already created }};

This should add a folder with the name chosen, and then a svelte file with content alredy in.It should look like this in routes folder :

routes| - (games)  | - [This should be gameURL]    | - +page.svelte

atm here is the content of +page.svelte

<script>    import Template from "../template.svelte";</script><p>I am the page file</p><Template />

In theory template.svelte should only give out the shape of the page and all other +page.svelte within folder should have colors and image but that just for context.

Thanks for any help ^^.


Viewing all articles
Browse latest Browse all 1546

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>