Skip to content

Commit 2426d16

Browse files
committed
feat(user-signup): [next-ts-middle-out] 🔵 add signup service
1 parent 24d13bf commit 2426d16

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

exercises/user_signup/solutions/codely_next-typescript-middle-out/src/components/SignUpForm.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
import React, { useState } from "react";
2+
import { signUpUser } from "../services/signUpUser";
23
import { Input } from "./Input";
34

45
type FormStatus = "success" | "error" | "initial"
56

67
export function SignUpForm() {
78
const [formStatus, setFormStatus] = useState<FormStatus>("initial")
89

9-
function handleSubmit(ev: React.FormEvent) {
10+
async function handleSubmit(ev: React.FormEvent) {
1011
ev.preventDefault()
11-
setFormStatus("success")
12+
const data = new FormData(ev.target as HTMLFormElement);
13+
const entries = Object.fromEntries(data.entries()) as { [key: string]: string };
14+
15+
await signUpUser({name: entries.name, email: entries.email});
16+
setFormStatus("success");
1217
}
1318

1419
if (formStatus === "success") {
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export async function signUpUser({name, email}: {name: string, email: string}): Promise<void> {
2+
return;
3+
}

0 commit comments

Comments
 (0)