feat: add quick-assign action from people list with person preselected
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
"use client"
|
||||
|
||||
import { zodResolver } from "@hookform/resolvers/zod"
|
||||
import { useRouter } from "next/navigation"
|
||||
import { useRouter, useSearchParams } from "next/navigation"
|
||||
import { useMemo } from "react"
|
||||
import { useForm } from "react-hook-form"
|
||||
import { toast } from "sonner"
|
||||
@@ -37,6 +37,8 @@ export default function CreateAssignmentForm({
|
||||
schemaCopy,
|
||||
submitButtonCopy,
|
||||
}: Props) {
|
||||
const searchParams = useSearchParams()
|
||||
const personId = searchParams.get("personId")
|
||||
const router = useRouter()
|
||||
|
||||
const schema = useMemo(
|
||||
@@ -52,6 +54,9 @@ export default function CreateAssignmentForm({
|
||||
} = useForm<CreateAssignmentFormType>({
|
||||
resolver: zodResolver(schema),
|
||||
mode: "onSubmit",
|
||||
defaultValues: {
|
||||
personId: personId ?? "",
|
||||
},
|
||||
})
|
||||
|
||||
const itemId = watch("itemId")
|
||||
@@ -86,6 +91,7 @@ export default function CreateAssignmentForm({
|
||||
</label>
|
||||
<select
|
||||
id="personId"
|
||||
disabled={!!personId}
|
||||
{...register("personId")}
|
||||
className={`w-full rounded-lg border px-4 py-2 ${
|
||||
errors.personId ? "border-error" : ""
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Eye, Pencil } from "lucide-react"
|
||||
import { Eye, Pencil, UserPlus } from "lucide-react"
|
||||
import Link from "next/link"
|
||||
|
||||
import PageHeader from "@/components/common/pageheader"
|
||||
@@ -130,6 +130,19 @@ export default async function PeoplePage(props: {
|
||||
<Pencil />
|
||||
</Button>
|
||||
</Link>
|
||||
<Link
|
||||
href={`/assignments/new?personId=${person.id}`}
|
||||
passHref
|
||||
>
|
||||
<Button
|
||||
className="btn btn-primary"
|
||||
variant="outline"
|
||||
size="icon"
|
||||
aria-label={copy.list.actions.edit}
|
||||
>
|
||||
<UserPlus />
|
||||
</Button>
|
||||
</Link>
|
||||
</td>
|
||||
</tr>
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user