added correct category ids

This commit is contained in:
Polaris
2024-07-23 15:34:53 -04:00
parent 3420bad643
commit 4bfce2e630
3 changed files with 69 additions and 24 deletions

View File

@ -1,4 +1,5 @@
"use server"; "use server";
//https://github.com/vercel/next.js/discussions/63862
import React from "react"; import React from "react";
import { getAllAvatarParts } from "@/lib/api"; import { getAllAvatarParts } from "@/lib/api";
@ -6,16 +7,37 @@ import { AvatarCustomization } from "@/components/avatarcustomization/page";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import ChunithmScorePlaylog from "@/components/scoreplaylog/page"; import ChunithmScorePlaylog from "@/components/scoreplaylog/page";
const getAvatarParts = async () => { // the number is the category id for the specific part
console.log("Executed on the server side");
const avatarParts = await getAllAvatarParts(); const getAvatarHeadAccessories = async () => {
const avatarParts = await getAllAvatarParts(2);
return { avatarParts };
};
const getAvatarFaceAccessories = async () => {
const avatarParts = await getAllAvatarParts(3);
return { avatarParts };
};
const getAvatarItemAccessories = async () => {
const avatarParts = await getAllAvatarParts(5);
return { avatarParts };
};
const getAvatarBackAccessories = async () => {
const avatarParts = await getAllAvatarParts(7);
return { avatarParts };
};
const getAvatarWearAccessories = async () => {
const avatarParts = await getAllAvatarParts(1);
return { avatarParts }; return { avatarParts };
}; };
const Page = async () => { const Page = async () => {
console.log("Executed on the server side"); const AvatarHeadAccessories = await getAvatarHeadAccessories();
const avatarPartsData = await getAvatarParts(); const AvatarFaceAccessories = await getAvatarFaceAccessories();
const AvatarItemAccessories = await getAvatarItemAccessories();
const AvatarBackAccessories = await getAvatarBackAccessories();
const AvatarWearAccessories = await getAvatarWearAccessories();
return ( return (
<div className="p-10"> <div className="p-10">
@ -29,7 +51,13 @@ const Page = async () => {
</TabsContent> </TabsContent>
<TabsContent value="customize"> <TabsContent value="customize">
<div className="p-10"> <div className="p-10">
<AvatarCustomization avatarSelectionData={avatarPartsData} /> <AvatarCustomization
avatarHeadSelectionData={AvatarHeadAccessories}
avatarFaceSelectionData={AvatarFaceAccessories}
avatarItemSelectionData={AvatarItemAccessories}
avatarBackSelectionData={AvatarBackAccessories}
avatarWearSelectionData={AvatarWearAccessories}
/>
</div> </div>
</TabsContent> </TabsContent>
</Tabs> </Tabs>

View File

@ -35,13 +35,30 @@ import { zodResolver } from "@hookform/resolvers/zod";
import { toast } from "../ui/use-toast"; import { toast } from "../ui/use-toast";
type AvatarSelectionProps = { type AvatarSelectionProps = {
avatarSelectionData: { avatarHeadSelectionData: {
avatarParts: chunithm_avatar[];
};
avatarFaceSelectionData: {
avatarParts: chunithm_avatar[];
};
avatarItemSelectionData: {
avatarParts: chunithm_avatar[];
};
avatarBackSelectionData: {
avatarParts: chunithm_avatar[];
};
avatarWearSelectionData: {
avatarParts: chunithm_avatar[]; avatarParts: chunithm_avatar[];
}; };
}; };
export const AvatarCustomization: FC<AvatarSelectionProps> = ({ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
avatarSelectionData, avatarHeadSelectionData,
avatarFaceSelectionData,
avatarItemSelectionData,
avatarBackSelectionData,
avatarWearSelectionData,
}) => { }) => {
const FormSchema = z.object({ const FormSchema = z.object({
AvatarHeadAccessory: z.number({ AvatarHeadAccessory: z.number({
@ -98,7 +115,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
)} )}
> >
{field.value {field.value
? avatarSelectionData.avatarParts.find( ? avatarHeadSelectionData.avatarParts.find(
(part) => part.avatarAccessoryId === field.value (part) => part.avatarAccessoryId === field.value
)?.name )?.name
: "Select Avatar Head Item"} : "Select Avatar Head Item"}
@ -111,9 +128,9 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
{/* bugged */} {/* bugged */}
{/* <CommandInput placeholder="Search Avatar Head Parts..." /> */} {/* <CommandInput placeholder="Search Avatar Head Parts..." /> */}
<CommandList> <CommandList>
<CommandEmpty>No language found.</CommandEmpty> <CommandEmpty>No avatar part found.</CommandEmpty>
<CommandGroup> <CommandGroup>
{avatarSelectionData.avatarParts.map((part) => ( {avatarHeadSelectionData.avatarParts.map((part) => (
<CommandItem <CommandItem
value={part.name ?? ""} value={part.name ?? ""}
key={part.avatarAccessoryId} key={part.avatarAccessoryId}
@ -163,7 +180,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
)} )}
> >
{field.value {field.value
? avatarSelectionData.avatarParts.find( ? avatarFaceSelectionData.avatarParts.find(
(part) => part.avatarAccessoryId === field.value (part) => part.avatarAccessoryId === field.value
)?.name )?.name
: "Select Avatar Face Item"} : "Select Avatar Face Item"}
@ -178,7 +195,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
<CommandList> <CommandList>
<CommandEmpty>No language found.</CommandEmpty> <CommandEmpty>No language found.</CommandEmpty>
<CommandGroup> <CommandGroup>
{avatarSelectionData.avatarParts.map((part) => ( {avatarFaceSelectionData.avatarParts.map((part) => (
<CommandItem <CommandItem
value={part.name ?? ""} value={part.name ?? ""}
key={part.avatarAccessoryId} key={part.avatarAccessoryId}
@ -228,7 +245,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
)} )}
> >
{field.value {field.value
? avatarSelectionData.avatarParts.find( ? avatarItemSelectionData.avatarParts.find(
(part) => part.avatarAccessoryId === field.value (part) => part.avatarAccessoryId === field.value
)?.name )?.name
: "Select Avatar Head Item"} : "Select Avatar Head Item"}
@ -241,9 +258,9 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
{/* bugged */} {/* bugged */}
{/* <CommandInput placeholder="Search Avatar Head Parts..." /> */} {/* <CommandInput placeholder="Search Avatar Head Parts..." /> */}
<CommandList> <CommandList>
<CommandEmpty>No language found.</CommandEmpty> <CommandEmpty>No avatar part found.</CommandEmpty>
<CommandGroup> <CommandGroup>
{avatarSelectionData.avatarParts.map((part) => ( {avatarItemSelectionData.avatarParts.map((part) => (
<CommandItem <CommandItem
value={part.name ?? ""} value={part.name ?? ""}
key={part.avatarAccessoryId} key={part.avatarAccessoryId}
@ -293,7 +310,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
)} )}
> >
{field.value {field.value
? avatarSelectionData.avatarParts.find( ? avatarBackSelectionData.avatarParts.find(
(part) => part.avatarAccessoryId === field.value (part) => part.avatarAccessoryId === field.value
)?.name )?.name
: "Select Avatar Back Item"} : "Select Avatar Back Item"}
@ -306,9 +323,9 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
{/* bugged */} {/* bugged */}
{/* <CommandInput placeholder="Search Avatar Head Parts..." /> */} {/* <CommandInput placeholder="Search Avatar Head Parts..." /> */}
<CommandList> <CommandList>
<CommandEmpty>No language found.</CommandEmpty> <CommandEmpty>No avatar part found.</CommandEmpty>
<CommandGroup> <CommandGroup>
{avatarSelectionData.avatarParts.map((part) => ( {avatarBackSelectionData.avatarParts.map((part) => (
<CommandItem <CommandItem
value={part.name ?? ""} value={part.name ?? ""}
key={part.avatarAccessoryId} key={part.avatarAccessoryId}
@ -358,7 +375,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
)} )}
> >
{field.value {field.value
? avatarSelectionData.avatarParts.find( ? avatarWearSelectionData.avatarParts.find(
(part) => part.avatarAccessoryId === field.value (part) => part.avatarAccessoryId === field.value
)?.name )?.name
: "Select Avatar Body Item"} : "Select Avatar Body Item"}
@ -371,9 +388,9 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
{/* bugged */} {/* bugged */}
{/* <CommandInput placeholder="Search Avatar Head Parts..." /> */} {/* <CommandInput placeholder="Search Avatar Head Parts..." /> */}
<CommandList> <CommandList>
<CommandEmpty>No language found.</CommandEmpty> <CommandEmpty>No avatar part found.</CommandEmpty>
<CommandGroup> <CommandGroup>
{avatarSelectionData.avatarParts.map((part) => ( {avatarWearSelectionData.avatarParts.map((part) => (
<CommandItem <CommandItem
value={part.name ?? ""} value={part.name ?? ""}
key={part.avatarAccessoryId} key={part.avatarAccessoryId}

View File

@ -181,7 +181,7 @@ export async function getAllAimeCards() {
} }
export async function getAllAvatarParts() { export async function getAllAvatarParts(category: number) {
const { user } = await getAuth(); const { user } = await getAuth();
if (!user || !user.accessCode) { if (!user || !user.accessCode) {
@ -190,7 +190,7 @@ export async function getAllAvatarParts() {
const avatarParts = await artemis.chuni_static_avatar.findMany({ const avatarParts = await artemis.chuni_static_avatar.findMany({
where: { where: {
category: 1 category: category
}, },
select: { select: {
id: true, id: true,