mirror of
https://github.com/vector-im/element-call.git
synced 2024-11-15 00:04:59 +08:00
Double click to cycle size
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
This commit is contained in:
parent
4a90eb341f
commit
52ed76a02f
@ -257,6 +257,11 @@ export function NewVideoGrid<T>({
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const [lastTappedTileId, setLastTappedTileId] = useState<string | undefined>(
|
||||||
|
undefined
|
||||||
|
);
|
||||||
|
const [lastTapTime, setLastTapTime] = useState<number>(0);
|
||||||
|
|
||||||
// Callback for useDrag. We could call useDrag here, but the default
|
// Callback for useDrag. We could call useDrag here, but the default
|
||||||
// pattern of spreading {...bind()} across the children to bind the gesture
|
// pattern of spreading {...bind()} across the children to bind the gesture
|
||||||
// ends up breaking memoization and ruining this component's performance.
|
// ends up breaking memoization and ruining this component's performance.
|
||||||
@ -272,7 +277,14 @@ export function NewVideoGrid<T>({
|
|||||||
}: Parameters<Handler<"drag", EventTypes["drag"]>>[0]
|
}: Parameters<Handler<"drag", EventTypes["drag"]>>[0]
|
||||||
) => {
|
) => {
|
||||||
if (tap) {
|
if (tap) {
|
||||||
toggleFocus?.(items.find((i) => i.id === tileId)!);
|
const now = Date.now();
|
||||||
|
|
||||||
|
if (tileId === lastTappedTileId && now - lastTapTime < 500) {
|
||||||
|
toggleFocus?.(items.find((i) => i.id === tileId)!);
|
||||||
|
}
|
||||||
|
|
||||||
|
setLastTappedTileId(tileId);
|
||||||
|
setLastTapTime(now);
|
||||||
} else {
|
} else {
|
||||||
const tileController = springRef.current.find(
|
const tileController = springRef.current.find(
|
||||||
(c) => (c.item as Tile<T>).item.id === tileId
|
(c) => (c.item as Tile<T>).item.id === tileId
|
||||||
|
Loading…
Reference in New Issue
Block a user