Skip to content

Commit 751a74a

Browse files
replace "First name" and "Surname" input fields with a single "Full Name" field (#1084)
* replace "First name" and "Surname" input fields with a single "Fullname" field * replace surname and firstname with name * name contains at least two characters
1 parent f45f7b4 commit 751a74a

File tree

8 files changed

+1257
-47
lines changed

8 files changed

+1257
-47
lines changed

app/(app)/alpha/additional-details/_actions.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,12 @@ export async function slideOneSubmitAction(dataInput: TypeSlideOneSchema) {
2323
}
2424

2525
try {
26-
const { firstName, surname, username, location } =
27-
slideOneSchema.parse(dataInput);
26+
const { name, username, location } = slideOneSchema.parse(dataInput);
2827

2928
await db
3029
.update(user)
3130
.set({
32-
firstName,
33-
surname,
31+
name,
3432
username,
3533
location,
3634
})

app/(app)/alpha/additional-details/_client.tsx

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ import { Divider } from "@/components/ui-components/divider";
4242

4343
type UserDetails = {
4444
username: string;
45-
firstName: string;
46-
surname: string;
45+
name: string;
4746
gender: string;
4847
dateOfBirth: string;
4948
location: string;
@@ -63,8 +62,7 @@ export default function AdditionalSignUpDetails({
6362
const searchParams = useSearchParams();
6463

6564
const {
66-
surname,
67-
firstName,
65+
name,
6866
username,
6967
location,
7068
dateOfBirth,
@@ -75,7 +73,7 @@ export default function AdditionalSignUpDetails({
7573
let slide: number;
7674
if (searchParams.get("slide")) {
7775
slide = Number(searchParams.get("slide"));
78-
} else if (!surname || !firstName || !username || !location) {
76+
} else if (!name || !username || !location) {
7977
slide = 1;
8078
} else if (!dateOfBirth || !gender) {
8179
slide = 2;
@@ -102,15 +100,15 @@ export default function AdditionalSignUpDetails({
102100
function SlideOne({ details }: { details: UserDetails }) {
103101
const router = useRouter();
104102

105-
const { username, firstName, surname, location } = details;
103+
const { username, name, location } = details;
106104

107105
const {
108106
register,
109107
handleSubmit,
110108
formState: { errors, isSubmitting },
111109
} = useForm<TypeSlideOneSchema>({
112110
resolver: zodResolver(slideOneSchema),
113-
defaultValues: { username, firstName, surname, location },
111+
defaultValues: { username, name, location },
114112
});
115113

116114
const onFormSubmit = async (data: TypeSlideOneSchema) => {
@@ -139,33 +137,16 @@ function SlideOne({ details }: { details: UserDetails }) {
139137
<Divider className="my-4 mt-4" />
140138
<div className="mx-4">
141139
<Field>
142-
<Label>First Name</Label>
140+
<Label>Full Name</Label>
143141
<Input
144-
id="first-name"
145-
placeholder="Enter first name"
146-
invalid={!!errors?.firstName}
147-
{...register("firstName")}
142+
id="full-name"
143+
placeholder="Enter full name"
144+
invalid={!!errors?.name}
145+
{...register("name")}
148146
/>
149-
{errors?.firstName && (
147+
{errors?.name && (
150148
<ErrorMessage className="text-red-500">
151-
{errors.firstName.message}
152-
</ErrorMessage>
153-
)}
154-
</Field>
155-
</div>
156-
157-
<div className="mx-4 mt-4">
158-
<Field>
159-
<Label>Surname</Label>
160-
<Input
161-
id="surname"
162-
placeholder="Enter surname"
163-
invalid={!!errors?.surname}
164-
{...register("surname")}
165-
/>
166-
{errors?.surname && (
167-
<ErrorMessage className="text-red-500">
168-
{errors.surname.message}
149+
{errors.name.message}
169150
</ErrorMessage>
170151
)}
171152
</Field>

app/(app)/alpha/additional-details/page.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ export default async function Page() {
1313
const details = await db.query.user.findFirst({
1414
columns: {
1515
username: true,
16-
firstName: true,
17-
surname: true,
16+
name: true,
1817
gender: true,
1918
dateOfBirth: true,
2019
location: true,
@@ -29,8 +28,7 @@ export default async function Page() {
2928

3029
const detailsWithNullsRemoved = {
3130
username: details?.username || "",
32-
firstName: details?.firstName || "",
33-
surname: details?.surname || "",
31+
name: details?.name || "",
3432
gender: details?.gender || "",
3533
dateOfBirth: details?.dateOfBirth || "",
3634
location: details?.location || "",
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
ALTER TABLE "user" DROP COLUMN IF EXISTS "firstName";--> statement-breakpoint
2+
ALTER TABLE "user" DROP COLUMN IF EXISTS "surname";

0 commit comments

Comments
 (0)