fixed build issues and some alignement issues

This commit is contained in:
Polaris
2024-08-24 11:22:56 -04:00
parent 578ee48ba7
commit d043e98210
10 changed files with 97 additions and 84 deletions

View File

@ -249,11 +249,12 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
<div className="avatar_base">
{Object.entries(AvatarTextures).map(([key, { className, src }]) => (
<div className={className} key={key}>
<img src={src} alt={""} />
<img src={src} alt={key} />
</div>
))}
</div>
</div>
<div>
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">

View File

@ -119,17 +119,15 @@ export const MapIconCustomization: FC<SystemVoiceSelectionProps> = ({
return (
<main className="flex flex-col items-center space-y-6">
<div className="flex w-full justify-center">
<div className="">
{Object.entries(MapIconTextures).map(([key, { src }]) => (
<div>
<img
className="w-[100px]"
src={src}
alt={mapIconId ? `Map Icon ${mapIconId}` : "Default Map Icon"}
/>{" "}
</div>
))}
</div>
{Object.entries(MapIconTextures).map(([key, { src }]) => (
<div key={key}>
<img
className="w-[100px]"
src={src}
alt={mapIconId ? `Map Icon ${mapIconId}` : "Default Map Icon"}
/>
</div>
))}
</div>
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">

View File

@ -119,15 +119,12 @@ export const NameplateCustomization: FC<AvatarSelectionProps> = ({
return (
<main className="flex flex-col items-center space-y-6">
{/* Avatar Customization Section */}
<div className="flex w-full justify-center">
<div className="">
{Object.entries(namePlateTextures).map(([key, { src }]) => (
<div>
<img className="w-[300px]" src={src} alt={""} />
</div>
))}
</div>
{Object.entries(namePlateTextures).map(([key, { src }]) => (
<div key={key}>
<img className="w-[300px]" src={src} alt={`Name Plate ${key}`} />
</div>
))}
</div>
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">

View File

@ -126,15 +126,16 @@ export const SystemVoiceCustomization: FC<SystemVoiceSelectionProps> = ({
return (
<main className="flex flex-col items-center space-y-6">
{/* Avatar Customization Section */}
<div className="flex w-full justify-center">
<div className="">
{Object.entries(systemVoiceTextures).map(([key, { src }]) => (
<div>
<img className="w-[200px]" src={src} alt={""} />
</div>
))}
</div>
{Object.entries(systemVoiceTextures).map(([key, { src }]) => (
<div key={key}>
<img
className="w-[200px]"
src={src}
alt={`System Voice Texture ${key}`}
/>
</div>
))}
</div>
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">

View File

@ -102,8 +102,6 @@ export const TrophyCustomization: FC<AvatarSelectionProps> = ({
return (
<main className="flex flex-col items-center space-y-6">
{/* Avatar Customization Section */}
<div>
<Form {...form}>
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">

View File

@ -21,7 +21,7 @@ import { chuni_static_music } from "@/prisma/schemas/artemis/generated/artemis";
import { chuni_score_best } from "@/prisma/schemas/artemis/generated/artemis";
import { getDifficultyText, getGrade } from "@/lib/helpers";
import { Skeleton } from "../ui/skeleton";
import ActionsCell from "./moreAction";
type chunithm = chuni_score_playlog & chuni_static_music & chuni_score_best;
export const columns: ColumnDef<chunithm>[] = [
@ -161,47 +161,10 @@ export const columns: ColumnDef<chunithm>[] = [
<div className="font-medium">{row.original.playCount}</div>
),
},
// for fixing react-hooks/rules-of-hooks
{
id: "actions",
header: () => <div className="pl-2 text-left">More</div>,
cell: ({ row }) => {
const [error, setError] = useState<string>("");
// eslint-disable-next-line react-hooks/rules-of-hooks
const router = useRouter();
const handleGenerateShareToken = async () => {
const { token, error } = await generateShareToken(row.original.id);
if (error) {
setError(error);
} else {
const newTab = window.open(`/${token}/${row.original.id}`);
if (newTab) {
newTab.focus();
} else {
router.push(`/${token}/${row.original.id}`);
}
}
};
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="ghost" className="h-8 w-8 p-0">
<span className="sr-only">Open menu</span>
<MoreHorizontal className="h-4 w-4" />
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuLabel>Actions</DropdownMenuLabel>
<DropdownMenuSeparator />
<DropdownMenuItem onClick={handleGenerateShareToken}>
Share Song
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
);
},
cell: ({ row }) => <ActionsCell row={row} />,
},
];

View File

@ -0,0 +1,56 @@
import { useState } from "react";
import { useRouter } from "next/navigation";
import {
DropdownMenu,
DropdownMenuContent,
DropdownMenuItem,
DropdownMenuLabel,
DropdownMenuSeparator,
DropdownMenuTrigger,
} from "@/components/ui/dropdown-menu";
import { Button } from "@/components/ui/button";
import { MoreHorizontal } from "lucide-react";
import { generateShareToken } from "@/app/(sharing)/[token]/token";
interface ActionsCellProps {
row: any; //unsure what to use here
}
const ActionsCell: React.FC<ActionsCellProps> = ({ row }) => {
const [error, setError] = useState<string>("");
const router = useRouter();
const handleGenerateShareToken = async () => {
const { token, error } = await generateShareToken(row.original.id);
if (error) {
setError(error);
} else {
const newTab = window.open(`/${token}/${row.original.id}`);
if (newTab) {
newTab.focus();
} else {
router.push(`/${token}/${row.original.id}`);
}
}
};
return (
<DropdownMenu>
<DropdownMenuTrigger asChild>
<Button variant="ghost" className="h-8 w-8 p-0">
<span className="sr-only">Open menu</span>
<MoreHorizontal className="h-4 w-4" />
</Button>
</DropdownMenuTrigger>
<DropdownMenuContent align="end">
<DropdownMenuLabel>Actions</DropdownMenuLabel>
<DropdownMenuSeparator />
<DropdownMenuItem onClick={handleGenerateShareToken}>
Share Song
</DropdownMenuItem>
</DropdownMenuContent>
</DropdownMenu>
);
};
export default ActionsCell;