mirror of
https://github.com/blakeblackshear/frigate.git
synced 2025-12-06 13:34:13 +03:00
* Cleanup components * integrate debug view * Refactor menu handling * Cleanup * cleanup * Improve ptz placement for debug view * Cleanup * Cleanup mobile * Always show options * Add info for stream picking being disabled * Add to mobile too * Fix ns * Cleanup
53 lines
1.1 KiB
TypeScript
53 lines
1.1 KiB
TypeScript
import { Button } from "@/components/ui/button";
|
|
import {
|
|
Tooltip,
|
|
TooltipContent,
|
|
TooltipTrigger,
|
|
} from "@/components/ui/tooltip";
|
|
import { ReactNode } from "react";
|
|
|
|
type TooltipButtonProps = {
|
|
label: string;
|
|
onClick?: () => void;
|
|
onMouseDown?: (e: React.MouseEvent) => void;
|
|
onMouseUp?: (e: React.MouseEvent) => void;
|
|
onTouchStart?: (e: React.TouchEvent) => void;
|
|
onTouchEnd?: (e: React.TouchEvent) => void;
|
|
children: ReactNode;
|
|
className?: string;
|
|
};
|
|
|
|
export default function TooltipButton({
|
|
label,
|
|
onClick,
|
|
onMouseDown,
|
|
onMouseUp,
|
|
onTouchStart,
|
|
onTouchEnd,
|
|
children,
|
|
className,
|
|
...props
|
|
}: TooltipButtonProps) {
|
|
return (
|
|
<Tooltip>
|
|
<TooltipTrigger asChild>
|
|
<Button
|
|
aria-label={label}
|
|
onClick={onClick}
|
|
onMouseDown={onMouseDown}
|
|
onMouseUp={onMouseUp}
|
|
onTouchStart={onTouchStart}
|
|
onTouchEnd={onTouchEnd}
|
|
className={className}
|
|
{...props}
|
|
>
|
|
{children}
|
|
</Button>
|
|
</TooltipTrigger>
|
|
<TooltipContent>
|
|
<p>{label}</p>
|
|
</TooltipContent>
|
|
</Tooltip>
|
|
);
|
|
}
|