diff options
| author | Adam Soltys <[email protected]> | 2024-09-24 20:12:43 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2024-09-24 20:12:43 -0700 |
| commit | d49d4119811dee9270f0858f3f03e5d8cd0d95ba (patch) | |
| tree | 42101a3ccf47f7b7290637700b90a843476e56f7 /src/routes/(app)/items/create | |
| parent | 20c0c52f8b850bfbab490735b0b5cd5d08851488 (diff) | |
| parent | 9531ccbdf01b07c392b1b5cb6d8ad4680ee29d2c (diff) | |
| download | coinos-ui-d49d4119811dee9270f0858f3f03e5d8cd0d95ba.tar.gz coinos-ui-d49d4119811dee9270f0858f3f03e5d8cd0d95ba.zip | |
Merge branch 'self-custody'
Diffstat (limited to 'src/routes/(app)/items/create')
| -rw-r--r-- | src/routes/(app)/items/create/+page.server.ts | 16 | ||||
| -rw-r--r-- | src/routes/(app)/items/create/+page.svelte | 19 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/routes/(app)/items/create/+page.server.ts b/src/routes/(app)/items/create/+page.server.ts new file mode 100644 index 00000000..2e006a3e --- /dev/null +++ b/src/routes/(app)/items/create/+page.server.ts @@ -0,0 +1,16 @@ +import { fail, redirect } from "@sveltejs/kit"; +import { fd, auth, post } from "$lib/utils"; + +export const actions = { + default: async ({ cookies, request, url }) => { + let form = await fd(request); + try { + await post("/items", form, auth(cookies)); + } catch (e: any) { + return fail(400, { message: e.message }); + } + + let success = `/${url.pathname.split("/")[1]}`; + redirect(307, success); + }, +}; diff --git a/src/routes/(app)/items/create/+page.svelte b/src/routes/(app)/items/create/+page.svelte new file mode 100644 index 00000000..b82889c9 --- /dev/null +++ b/src/routes/(app)/items/create/+page.svelte @@ -0,0 +1,19 @@ +<script> + import { t } from "$lib/translations"; + import ItemForm from "$comp/ItemForm.svelte"; + import { fail } from "$lib/utils"; + + export let data; + export let form; + + $: form?.message && fail(form.message); + let { user } = data; + let item = {}; +</script> + +<div class="container max-w-xl mx-auto px-4"> + <h1 class="px-3 md:px-0 text-center text-3xl md:text-4xl font-semibold mb-10"> + {$t("items.add")} + </h1> + <ItemForm {item} {user} /> +</div> |
