import { ContextMenu, DropdownMenu } from '@radix-ui/themes'; import mutateSession, { useSession } from '../../../../stores/session'; export type CustomColumnDisplay = | 'battles' | 'winrate' | 'wn8' | 'damage' | 'none'; const NO_DELTA: CustomColumnDisplay[] = ['battles', 'wn8', 'none']; interface CustomColumn { Builder: typeof DropdownMenu | typeof ContextMenu; column: number; } export function CustomColumn({ column, Builder }: CustomColumn) { const customColumn = useSession((state) => state.customColumns[column]); return ( Column {column + 1} Display mutateSession((draft) => { draft.customColumns[column].display = event as CustomColumnDisplay; }) } > Battles Winrate WN8 Damage None {!NO_DELTA.includes(customColumn.display) && ( <> mutateSession((draft) => { draft.customColumns[column].showDelta = checked; }) } > Show delta )} ); }