Compare commits

..

2 Commits

Author SHA1 Message Date
andrzej a4a2ba35cd fix pub create form styling 2024-06-24 23:15:48 +02:00
andrzej 21bee8cc8b add loaders 2024-06-24 23:15:29 +02:00
4 changed files with 85 additions and 71 deletions

View File

@ -29,7 +29,7 @@ export default async function Page() {
<CreateContainerDescription> <CreateContainerDescription>
Create a new entry for a publication i.e. a place you intend to submit to. Create a new entry for a publication i.e. a place you intend to submit to.
</CreateContainerDescription> </CreateContainerDescription>
<PubForm genres={genres} createPub={createPub} /> <PubForm genres={genres} createPub={createPub} className="mt-6" />
</CreateContainerContent> </CreateContainerContent>
</CreateContainer> </CreateContainer>
) )

View File

@ -0,0 +1,5 @@
import { LoadingSpinner } from "app/loading";
export default function Loading() {
return <LoadingSpinner />
}

View File

@ -0,0 +1,5 @@
import { LoadingSpinner } from "app/loading";
export default function Loading() {
return <LoadingSpinner />
}

View File

@ -23,6 +23,8 @@ import {
import GenresTrigger from "./genresTrigger" import GenresTrigger from "./genresTrigger"
import GenreCheckbox from "./genreCheckbox" import GenreCheckbox from "./genreCheckbox"
import { randomPublicationTitle } from "app/lib/shortStoryTitleGenerator" import { randomPublicationTitle } from "app/lib/shortStoryTitleGenerator"
import { ComponentProps } from "react"
import { Genre } from "@prisma/client"
const formSchema = z.object({ const formSchema = z.object({
title: z.string().min(2).max(50), title: z.string().min(2).max(50),
@ -31,7 +33,7 @@ const formSchema = z.object({
genres: z.array(z.number()), genres: z.array(z.number()),
}) })
export default function PubForm({ genres, createPub }) { export default function PubForm({ genres, createPub, className }: ComponentProps<"div"> & { genres: Array<Genre>, createPub: (data: any) => void }) {
const form = useForm<z.infer<typeof formSchema>>({ const form = useForm<z.infer<typeof formSchema>>({
resolver: zodResolver(formSchema), resolver: zodResolver(formSchema),
defaultValues: { defaultValues: {
@ -75,6 +77,7 @@ export default function PubForm({ genres, createPub }) {
.toLowerCase() + .toLowerCase() +
".com" ".com"
return ( return (
<div className={className}>
<Form {...form}> <Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit, onErrors)} className="space-y-8"> <form onSubmit={form.handleSubmit(onSubmit, onErrors)} className="space-y-8">
<FormField <FormField
@ -154,6 +157,7 @@ export default function PubForm({ genres, createPub }) {
<Button type="submit">Submit</Button> <Button type="submit">Submit</Button>
</form> </form>
</Form> </Form>
</div>
) )
} }