์๋ก์ด ์ผ๊ธฐ ์์ฑ
์ค๋์ ์์คํ ์๊ฐ์ ๊ธฐ๋กํด๋ณด์ธ์
diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..9903a41 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cSpell.words": ["autoincrement"] +} diff --git a/app/create/page.tsx b/app/create/page.tsx index 8fc0afd..9eec296 100644 --- a/app/create/page.tsx +++ b/app/create/page.tsx @@ -1,27 +1,17 @@ "use client"; +import { createDiary } from "@/src/features/diary/actions/createDiary"; +import Moods from "@/src/features/diary/ui/moods"; import Link from "next/link"; -import { useState } from "react"; - -export default function CreateDiary() { - const [formData, setFormData] = useState({ - title: "", - content: "", - mood: "", - weather: "", - categoryId: "", - tags: "", - isPublic: false, - }); +import { useActionState, useEffect } from "react"; - const moods = [ - { value: "happy", label: "๐ ํ๋ณต", emoji: "๐" }, - { value: "sad", label: "๐ข ์ฌํ", emoji: "๐ข" }, - { value: "angry", label: "๐ ํ๋จ", emoji: "๐ " }, - { value: "excited", label: "๐คฉ ์ ๋จ", emoji: "๐คฉ" }, - { value: "calm", label: "๐ ํ์จ", emoji: "๐" }, - { value: "nervous", label: "๐ฐ ๊ธด์ฅ", emoji: "๐ฐ" }, - ]; +const initialState = { + success: false, + message: "", +}; + +export default function CreateDiaryPage() { + const [state, formAction] = useActionState(createDiary, initialState); const weathers = [ { value: "sunny", label: "โ๏ธ ๋ง์", emoji: "โ๏ธ" }, @@ -38,15 +28,12 @@ export default function CreateDiary() { { id: "5", name: "๊ฟ", color: "#F59E0B" }, ]; - const handleSubmit = (e: React.FormEvent) => { - e.preventDefault(); - // ์ค์ ์ ์ฅ ๋ก์ง์ ๋์ค์ ๊ตฌํ - console.log("์ผ๊ธฐ ์ ์ฅ:", formData); - }; + useEffect(() => { + console.log(state); + }); return (
์ค๋์ ์์คํ ์๊ฐ์ ๊ธฐ๋กํด๋ณด์ธ์