From d51cc84a5122eca437ae796ce22d52f52988e611 Mon Sep 17 00:00:00 2001 From: Omer Sabic Date: Tue, 7 May 2024 18:38:32 +0200 Subject: [PATCH] hello --- src/lib/config.js | 2 +- src/routes/(app)/articles/+page.server.js | 44 +++++++++--- src/routes/(app)/articles/+page.svelte | 10 +-- .../(app)/articles/createArticleDialog.svelte | 1 + .../(app)/articles/editArticleDialog.svelte | 67 ++++++++++++------- src/routes/(app)/articles/schema.js | 8 ++- 6 files changed, 88 insertions(+), 44 deletions(-) diff --git a/src/lib/config.js b/src/lib/config.js index ba0a39d..4335536 100644 --- a/src/lib/config.js +++ b/src/lib/config.js @@ -1,3 +1,3 @@ export const config = { - api_url: "http://localhost:3000" + api_url: "http://api.omersabic.com:3001" } \ No newline at end of file diff --git a/src/routes/(app)/articles/+page.server.js b/src/routes/(app)/articles/+page.server.js index 5750071..8427e06 100644 --- a/src/routes/(app)/articles/+page.server.js +++ b/src/routes/(app)/articles/+page.server.js @@ -1,6 +1,6 @@ import { config } from "$lib" -import { superValidate } from "sveltekit-superforms"; -import { formSchema } from "./schema"; +import { message, superValidate } from "sveltekit-superforms"; +import { createFormSchema, editFormSchema } from "./schema"; import { zod } from "sveltekit-superforms/adapters"; import { fail } from "@sveltejs/kit"; @@ -20,17 +20,16 @@ export const load = async ({ fetch }) => { articles: dataBlog.articles, site: dataBlog.site, videos: dataVideos.videos, - form: await superValidate(zod(formSchema)), + createForm: await superValidate(zod(createFormSchema)), + editForm: await superValidate(zod(editFormSchema)) } } /** @type {import("@sveltejs/kit").Actions} */ export const actions = { - default: async (event) => { + create: async (event) => { console.log("creating article...") - const form = await superValidate(event, zod(formSchema)); - console.log(form.data) - console.log(form.valid) + const form = await superValidate(event, zod(createFormSchema)); if (!form.valid) { return fail(400, { form, @@ -44,11 +43,36 @@ export const actions = { } }); - console.log(res.status) - console.log(await res.json()) - return { form, }; + }, + edit: async (event) => { + const form = await superValidate(event, zod(editFormSchema)); + if (!form.valid) { + return fail(400, { + form, + }); + } + + const res = await event.fetch(config.api_url + "/blog/article", { + method: "PUT", + body: JSON.stringify(form.data), + headers: { + "content-type": "application/json" + } + }); + const resData = await res.json(); + + if(!resData.success) { + return fail(400, { + form, + message: resData.message || "" + }); + } + + return { + form + } } }; \ No newline at end of file diff --git a/src/routes/(app)/articles/+page.svelte b/src/routes/(app)/articles/+page.svelte index 73ad55f..7487691 100644 --- a/src/routes/(app)/articles/+page.svelte +++ b/src/routes/(app)/articles/+page.svelte @@ -4,7 +4,7 @@ import TooltipButton from '$lib/components/molecules/tooltipbutton.svelte'; - import { formSchema } from './schema'; + import { createFormSchema } from './schema'; import { superForm } from 'sveltekit-superforms'; import { zodClient } from 'sveltekit-superforms/adapters'; import { toast } from 'svelte-sonner'; @@ -15,8 +15,8 @@ export let data; let isDialogOpen = false; - const form = superForm(data.form, { - validators: zodClient(formSchema) + const form = superForm(data.createForm, { + validators: zodClient(createFormSchema) }); function submitArticle() { @@ -24,7 +24,7 @@ toast('Article is queued for generation.'); } - /** @type {object | null} */ + /** @type {import("./schema.js").ArticleData | null} */ let editingContent = null; /** @@ -74,6 +74,6 @@ - + diff --git a/src/routes/(app)/articles/createArticleDialog.svelte b/src/routes/(app)/articles/createArticleDialog.svelte index 26aa38d..4161475 100644 --- a/src/routes/(app)/articles/createArticleDialog.svelte +++ b/src/routes/(app)/articles/createArticleDialog.svelte @@ -29,6 +29,7 @@ name="blog-converter" id="blog-converter" on:submit + action="?/create" > diff --git a/src/routes/(app)/articles/editArticleDialog.svelte b/src/routes/(app)/articles/editArticleDialog.svelte index ff9ed5d..04cfb91 100644 --- a/src/routes/(app)/articles/editArticleDialog.svelte +++ b/src/routes/(app)/articles/editArticleDialog.svelte @@ -1,4 +1,5 @@ @@ -29,23 +41,28 @@ -
-
- - -
-
- -
-
-