"use client"; import React, { FC, useEffect, useState } from "react"; import { chuni_static_avatar } from "@/prisma/schemas/artemis/generated/artemis"; import { Check, ChevronsUpDown } from "lucide-react"; import { cn } from "@/lib/utils"; import { Button } from "@/components/ui/button"; import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, } from "@/components/ui/command"; import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { z } from "zod"; type chunithm_avatar = chuni_static_avatar; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { toast } from "../ui/use-toast"; type AvatarSelectionProps = { avatarSelectionData: { avatarParts: chunithm_avatar[]; }; }; export const AvatarCustomization: FC = ({ avatarSelectionData, }) => { const FormSchema = z.object({ AvatarHeadAccessory: z.number({ required_error: "Please select a language.", }), AvatarFaceAccessory: z.number({ required_error: "Please select a language.", }), AvatarItemAccessory: z.number({ required_error: "Please select a language.", }), AvatarBackAccessory: z.number({ required_error: "Please select a language.", }), AvatarWearAccessory: z.number({ required_error: "Please select a language.", }), }); const form = useForm>({ resolver: zodResolver(FormSchema), }); function onSubmit(data: z.infer) { toast({ title: "You submitted the following values:", description: (
          {JSON.stringify(data, null, 2)}
        
), }); } return (
( Avatar Head Item {/* bugged */} {/* */} No language found. {avatarSelectionData.avatarParts.map((part) => ( { form.setValue( "AvatarHeadAccessory", part.avatarAccessoryId! ); }} > {part.name} ))} )} /> ( Avatar Face Item {/* bugged */} {/* */} No language found. {avatarSelectionData.avatarParts.map((part) => ( { form.setValue( "AvatarFaceAccessory", part.avatarAccessoryId! ); }} > {part.name} ))} )} /> ( Avatar Hand Item {/* bugged */} {/* */} No language found. {avatarSelectionData.avatarParts.map((part) => ( { form.setValue( "AvatarItemAccessory", part.avatarAccessoryId! ); }} > {part.name} ))} )} /> ( Avatar Back Item {/* bugged */} {/* */} No language found. {avatarSelectionData.avatarParts.map((part) => ( { form.setValue( "AvatarBackAccessory", part.avatarAccessoryId! ); }} > {part.name} ))} )} /> ( Avatar Body Item {/* bugged */} {/* */} No language found. {avatarSelectionData.avatarParts.map((part) => ( { form.setValue( "AvatarWearAccessory", part.avatarAccessoryId! ); }} > {part.name} ))} )} />
); }; { /*
State is: {state}
Server data:
    {avatarSelectionData.avatarParts.map((part) => (
  • {part.name}
  • ))}
*/ }