feat(call): doubleclick on focused tile clears pin

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
byGalax
2026-05-12 18:50:29 +02:00
parent 187f8dc95a
commit c87d4e82d3
2 changed files with 12 additions and 0 deletions
@@ -917,6 +917,7 @@ function TileRender({
size,
focused,
onClick,
onDoubleClick,
onContextMenu,
}: {
tile: Tile;
@@ -927,6 +928,7 @@ function TileRender({
size?: 'default' | 'small';
focused?: boolean;
onClick?: () => void;
onDoubleClick?: () => void;
onContextMenu?: (e: React.MouseEvent) => void;
}): JSX.Element {
if (tile.kind === 'screen') {
@@ -939,6 +941,7 @@ function TileRender({
return (
<div
onClick={onClick}
onDoubleClick={onDoubleClick}
onContextMenu={onContextMenu}
className={'h-full w-full [&>div]:h-full [&>div]:w-full ' + (onClick ? 'cursor-pointer' : '')}
>
@@ -969,6 +972,7 @@ function TileRender({
{...(size ? { size } : {})}
{...(focused ? { focused } : {})}
{...(onClick ? { onClick } : {})}
{...(onDoubleClick ? { onDoubleClick } : {})}
{...(onContextMenu ? { onContextMenu } : {})}
/>
);
@@ -997,6 +1001,7 @@ function CallStage({
activeSpeakers={activeSpeakers}
remoteScreenShares={remoteScreenShares}
conversationMembers={conversationMembers}
onDoubleClick={() => onFocusTile(speaker.id)}
{...(onTileContextMenu
? { onContextMenu: (e: React.MouseEvent) => onTileContextMenu(speaker, e) }
: {})}
@@ -1068,6 +1073,7 @@ function FocusedTile({
remoteScreenShares,
conversationMembers,
onContextMenu,
onDoubleClick,
}: {
tile: Tile;
e2ee: boolean;
@@ -1075,6 +1081,7 @@ function FocusedTile({
remoteScreenShares: StageProps['remoteScreenShares'];
conversationMembers: StageProps['conversationMembers'];
onContextMenu?: (e: React.MouseEvent) => void;
onDoubleClick?: () => void;
}) {
return (
<div className="h-full [&>div]:h-full">
@@ -1086,6 +1093,7 @@ function FocusedTile({
conversationMembers={conversationMembers}
focused
{...(onContextMenu ? { onContextMenu } : {})}
{...(onDoubleClick ? { onDoubleClick } : {})}
/>
</div>
);
@@ -1226,6 +1234,7 @@ function FullscreenCall({
<div
className="relative min-h-0 flex-1 cursor-pointer p-4 pb-2 [&>div]:h-full [&>div]:w-full"
onClick={() => onFocusTile(speaker!.id)}
onDoubleClick={() => onFocusTile(speaker!.id)}
title="Zurück zur Übersicht"
>
<TileRender