client/packages/call/src/components/buttons/deaf.tsx
Alois dd09ca943d
All checks were successful
/ deploy (push) Successful in 14m56s
(feat): add tooltips
(fix): small ui and layout bug
2026-05-09 21:12:24 +02:00

48 lines
1 KiB
TypeScript

import { Button, Tooltip, TooltipContent, TooltipTrigger } from "@tensamin/ui";
import { toggleDeaf, useCall } from "../../store";
import { HeadphoneOff, Headphones } from "lucide-react";
export default function DeafButton({
className,
iconSize,
tooltip,
portalContainer,
}: {
className?: string;
iconSize?: number;
tooltip?: string;
portalContainer?: HTMLElement;
}) {
const deaf = useCall((state) => state.deaf);
const button = (
<Button
variant={deaf ? "destructive" : "default"}
onClick={toggleDeaf}
className={className}
>
{deaf ? (
<HeadphoneOff
style={{ scale: (iconSize ? iconSize + 100 : 100) + "%" }}
/>
) : (
<Headphones
style={{ scale: (iconSize ? iconSize + 100 : 100) + "%" }}
/>
)}
</Button>
);
if (!tooltip) {
return button;
}
return (
<Tooltip>
<TooltipTrigger render={button} />
<TooltipContent portalProps={{ container: portalContainer }}>
{tooltip}
</TooltipContent>
</Tooltip>
);
}