Files
healer-man/src/ui/ControllerButton.tsx
T
2026-08-14 15:56:39 -04:00

33 lines
711 B
TypeScript

import type { ButtonHTMLAttributes } from "react";
interface ControllerButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
controlId: string;
selectedId: string;
select: (id: string) => void;
}
export function ControllerButton({
controlId,
selectedId,
select,
className = "",
onClick,
onPointerEnter,
...props
}: ControllerButtonProps) {
return (
<button
{...props}
className={`${className} ${selectedId === controlId ? "is-controller-selected" : ""}`}
onClick={(event) => {
select(controlId);
onClick?.(event);
}}
onPointerEnter={(event) => {
select(controlId);
onPointerEnter?.(event);
}}
/>
);
}