daphnis/app/(authenticated)/chunithm/page.tsx
2024-07-24 15:18:05 -04:00

70 lines
2.3 KiB
TypeScript

"use server";
//https://github.com/vercel/next.js/discussions/63862
import React from "react";
import { AvatarCustomization } from "@/components/avatarcustomization/page";
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import ChunithmScorePlaylog from "@/components/scoreplaylog/page";
import { getAllAvatarParts } from "@/components/avatarcustomization/actions";
// the number is the category id for the specific part
const getAvatarHeadAccessories = async () => {
const avatarParts = await getAllAvatarParts(2); // head
return { avatarParts };
};
const getAvatarFaceAccessories = async () => {
const avatarParts = await getAllAvatarParts(3); // face
return { avatarParts };
};
const getAvatarItemAccessories = async () => {
const avatarParts = await getAllAvatarParts(5); // item_l item_r
return { avatarParts };
};
const getAvatarBackAccessories = async () => {
const avatarParts = await getAllAvatarParts(7); // back
return { avatarParts };
};
const getAvatarWearAccessories = async () => {
const avatarParts = await getAllAvatarParts(1); // wear
return { avatarParts };
};
const Page = async () => {
const AvatarHeadAccessories = await getAvatarHeadAccessories();
const AvatarFaceAccessories = await getAvatarFaceAccessories();
const AvatarItemAccessories = await getAvatarItemAccessories();
const AvatarBackAccessories = await getAvatarBackAccessories();
const AvatarWearAccessories = await getAvatarWearAccessories();
return (
<div className="p-10">
<Tabs defaultValue="scores">
<TabsList>
<TabsTrigger value="scores">Scores</TabsTrigger>
<TabsTrigger value="customize">Customize</TabsTrigger>
</TabsList>
<TabsContent value="scores">
<ChunithmScorePlaylog />
</TabsContent>
<TabsContent value="customize">
<div className="p-10">
<AvatarCustomization
avatarHeadSelectionData={AvatarHeadAccessories}
avatarFaceSelectionData={AvatarFaceAccessories}
avatarItemSelectionData={AvatarItemAccessories}
avatarBackSelectionData={AvatarBackAccessories}
avatarWearSelectionData={AvatarWearAccessories}
/>
</div>
<div></div>
</TabsContent>
</Tabs>
</div>
);
};
export default Page;