"use client"; import { ColumnDef } from "@tanstack/react-table"; import { MoreHorizontal } from "lucide-react"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { useState } from "react"; import { useRouter } from "next/navigation"; import { generateShareToken } from "@/app/(sharing)/[token]/token"; import { ArrowUpDown, MoreHorizontalIcon } from "lucide-react"; import { chuni_score_playlog } from "@/prisma/schemas/artemis/generated/artemis"; 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 & { playCount: number }; export const columns: ColumnDef[] = [ { accessorKey: "title", header: "Title", cell: ({ row }) => { const jacketPath = row.original.jacketPath?.replace(".dds", ".png"); return (
{!jacketPath ? ( ) : ( Jacket )} {row.original.title}
); }, }, { accessorKey: "score", header: ({ column }) => { return ( ); }, cell: ({ row }) => { // for the love of all that is holy redo this later or be forced to drink from the calice const skillId = row.original.skillId; const isClear = row.original.isClear; let isSuccessText = ""; if (isClear === 1 && skillId === 100010) { isSuccessText = "Limit Break"; } else if (isClear === 1 && skillId === 100011) { isSuccessText = "Limit Break++"; } else if (isClear === 1 && skillId === 100012) { isSuccessText = "Limit Break+++"; } else if (isClear === 1 && skillId === 100013) { isSuccessText = "Campaign"; } else if (isClear === 1 && skillId === 101000) { isSuccessText = "Guard 【SUN】"; } else if (isClear === 1 && skillId === 101001) { isSuccessText = "Boost 【SUN】"; } else if (isClear === 1 && skillId === 101002) { isSuccessText = "Combo 【SUN】"; } else if (isClear === 1 && skillId === 101003) { isSuccessText = "A-Guilty 【SUN】"; } else if (isClear === 1 && skillId === 101004) { isSuccessText = "Judge 【SUN】"; } else if (isClear === 1 && skillId === 101005) { isSuccessText = "Judge++ 【SUN】"; } else if (isClear === 1 && skillId === 101006) { isSuccessText = "Emblem 【SUN】"; } else if (isClear === 1 && skillId === 101007) { isSuccessText = "Emblem++ 【SUN】"; } else if (isClear === 1 && skillId === 101008) { isSuccessText = "Absolute++【SUN】"; } else if (isClear === 1 && skillId === 102000) { isSuccessText = "Guard【LMN】"; } else if (isClear === 1 && skillId === 102001) { isSuccessText = "Boost 【LMN】"; } else if (isClear === 1 && skillId === 102002) { isSuccessText = "Combo【LMN】"; } else if (isClear === 1 && skillId === 102003) { isSuccessText = "A-Guilty【LMN】"; } else if (isClear === 1 && skillId === 102004) { isSuccessText = "Judge 【LMN】"; } else if (isClear === 1 && skillId === 102005) { isSuccessText = "Judge++【LMN】"; } else if (isClear === 1 && skillId === 102006) { isSuccessText = "Emblem【LMN】"; } else if (isClear === 1 && skillId === 102007) { isSuccessText = "Emblem++【LMN】"; } else if (isClear === 1 && skillId === 102008) { isSuccessText = "Absolute++ 【LMN】"; } else if (isClear === 1 && skillId === 102009) { isSuccessText = "Catastropy【LMN】"; } else if (isClear === 1 && skillId === 800003) { isSuccessText = "Clear"; } else if (isClear === 0) { isSuccessText = "Failed"; } else if (isClear === 1) { isSuccessText = "Clear"; } else { isSuccessText = isClear?.toString() ?? ""; } return (
{row.original.score?.toLocaleString()}
{isSuccessText}
New!!
); }, }, { accessorKey: "grade", header: "Grade", cell: ({ row }) => (
{getGrade(row.original.score ?? 0)}
), }, { accessorKey: "userPlayDate", header: ({ column }) => { return ( ); }, }, { accessorKey: "difficulty", header: "Difficulty", cell: ({ row }) => (
{row.original.level}
{getDifficultyText(row.original.chartId)}
), }, { accessorKey: "FC / AJ", header: "FC / AJ", cell: ({ row }) => (
{!row.original.isAllJustice && row.original.isFullCombo && ( Full Combo )} {row.original.isAllJustice && All Justice}
), }, { accessorKey: "Attempts", header: "Attempts", cell: ({ row }) => (
{row.original.playCount}
), }, // for fixing react-hooks/rules-of-hooks { id: "actions", header: () =>
More
, cell: ({ row }) => , }, ];