Add section validations

This commit is contained in:
AmirReza Jamali
2025-11-10 09:58:27 +03:30
parent 5640febf40
commit b8169fbcd9
2 changed files with 34 additions and 18 deletions
@@ -3,6 +3,7 @@ import { TrashIcon } from "@/assets/icons";
import InputGroup from "@/components/FormElements/InputGroup";
import { TextAreaGroup } from "@/components/FormElements/InputGroup/text-area";
import { ShowcaseSection } from "@/components/Layouts/showcase-section";
import { REGEX } from "@/constants/regex";
import { FormErrorMessages } from "@/constants/Texts";
import {
Control,
@@ -73,7 +74,10 @@ const SectionStep = <T extends FieldValues>({
placeholder="Enter Section Description"
/>
</ShowcaseSection>
<ShowcaseSection title={`${title} cards`} className="flex flex-col gap-5">
<ShowcaseSection
title={`${title} cards`}
className="flex flex-col gap-5"
>
{fields.map((field, index) => (
<div
key={field.id}
@@ -85,12 +89,16 @@ const SectionStep = <T extends FieldValues>({
message: FormErrorMessages.required,
value: true,
},
pattern: {
message: FormErrorMessages.invalidPattern,
value: REGEX.URL,
},
})}
label="Icon"
name={`cards.${index}.icon`}
required
type="text"
placeholder="Enter Icon URL or name"
placeholder="Enter Icon URL"
/>
<InputGroup
{...register(`cards.${index}.title` as Path<T>, {
+9 -1
View File
@@ -1,6 +1,12 @@
"use client";
import EmptyListWrapper from "@/components/HOC/EmptyListWrapper";
import { Table, TableHead, TableHeader, TableRow } from "@/components/ui/table";
import {
Table,
TableBody,
TableHead,
TableHeader,
TableRow,
} from "@/components/ui/table";
import TableSkeleton from "@/components/ui/TableSkeleton";
import { useContactUsListPresenter } from "./useContactUsListPresenter";
@@ -24,6 +30,7 @@ const ContactUsTable = () => {
</TableRow>
</TableHeader>
{isPending && <TableSkeleton column={columns.length} />}
<TableBody>
<EmptyListWrapper
list={data ?? []}
columns={columns}
@@ -31,6 +38,7 @@ const ContactUsTable = () => {
>
Contact us table will be initialized here
</EmptyListWrapper>
</TableBody>
</Table>
</div>
);