From 831a9271079fd8d4e9a280e64915d25093f0f3e7 Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 9 Dec 2025 17:01:25 -0300 Subject: [PATCH 1/3] refactor: deprecate roomToolbox prop in RoomHeader component --- .../client/views/room/Header/RoomHeader.tsx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/meteor/client/views/room/Header/RoomHeader.tsx b/apps/meteor/client/views/room/Header/RoomHeader.tsx index 931aeaac92a41..6b26bd10d9687 100644 --- a/apps/meteor/client/views/room/Header/RoomHeader.tsx +++ b/apps/meteor/client/views/room/Header/RoomHeader.tsx @@ -31,6 +31,9 @@ export type RoomHeaderProps = { pos?: ReactNode; }; }; + /** + * @deprecated Use slots.toolbox instead + */ roomToolbox?: JSX.Element; }; @@ -64,13 +67,15 @@ const RoomHeader = ({ room, topic = '', slots = {}, roomToolbox }: RoomHeaderPro )} {slots?.posContent} - - - {slots?.toolbox?.pre} - {slots?.toolbox?.content || roomToolbox || } - {slots?.toolbox?.pos} - - + {slots.toolbox && ( + + + {slots?.toolbox?.pre} + {slots?.toolbox?.content || roomToolbox || } + {slots?.toolbox?.pos} + + + )} {slots?.end} ); From 0177d9b72590d0835c26033fb042c47187f7d67d Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 9 Dec 2025 17:10:22 -0300 Subject: [PATCH 2/3] refactor: update RoomHeader to use slots for toolbox and remove deprecated roomToolbox prop --- .../client/views/room/Header/RoomHeader.tsx | 11 ++++------ .../views/room/Header/RoomHeaderE2EESetup.tsx | 13 +++++++++++- .../client/views/room/HeaderV2/RoomHeader.tsx | 20 ++++++++++--------- .../room/HeaderV2/RoomHeaderE2EESetup.tsx | 11 +++++++++- 4 files changed, 37 insertions(+), 18 deletions(-) diff --git a/apps/meteor/client/views/room/Header/RoomHeader.tsx b/apps/meteor/client/views/room/Header/RoomHeader.tsx index 6b26bd10d9687..bd80ce9515050 100644 --- a/apps/meteor/client/views/room/Header/RoomHeader.tsx +++ b/apps/meteor/client/views/room/Header/RoomHeader.tsx @@ -29,15 +29,12 @@ export type RoomHeaderProps = { pre?: ReactNode; content?: ReactNode; pos?: ReactNode; + hidden?: boolean; }; }; - /** - * @deprecated Use slots.toolbox instead - */ - roomToolbox?: JSX.Element; }; -const RoomHeader = ({ room, topic = '', slots = {}, roomToolbox }: RoomHeaderProps) => { +const RoomHeader = ({ room, topic = '', slots = {} }: RoomHeaderProps) => { const { t } = useTranslation(); return ( @@ -67,11 +64,11 @@ const RoomHeader = ({ room, topic = '', slots = {}, roomToolbox }: RoomHeaderPro )} {slots?.posContent} - {slots.toolbox && ( + {!slots.toolbox?.hidden !== true && ( {slots?.toolbox?.pre} - {slots?.toolbox?.content || roomToolbox || } + {slots?.toolbox?.content || } {slots?.toolbox?.pos} diff --git a/apps/meteor/client/views/room/Header/RoomHeaderE2EESetup.tsx b/apps/meteor/client/views/room/Header/RoomHeaderE2EESetup.tsx index 9a0a2a3c57d8d..3e3adc99ba7fb 100644 --- a/apps/meteor/client/views/room/Header/RoomHeaderE2EESetup.tsx +++ b/apps/meteor/client/views/room/Header/RoomHeaderE2EESetup.tsx @@ -12,7 +12,18 @@ const RoomHeaderE2EESetup = ({ room, slots = {} }: RoomHeaderProps) => { const e2eRoomState = useE2EERoomState(room._id); if (e2eeState === 'SAVE_PASSWORD' || e2eeState === 'ENTER_PASSWORD' || e2eRoomState === 'WAITING_KEYS') { - return } />; + return ( + , + }, + }} + /> + ); } return ; diff --git a/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx b/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx index 3fd1677675216..2b028d08ac39b 100644 --- a/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx +++ b/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx @@ -26,12 +26,12 @@ export type RoomHeaderProps = { pre?: ReactNode; content?: ReactNode; pos?: ReactNode; + hidden?: boolean; }; }; - roomToolbox?: JSX.Element; }; -const RoomHeader = ({ room, slots = {}, roomToolbox }: RoomHeaderProps) => { +const RoomHeader = ({ room, slots = {} }: RoomHeaderProps) => { const { t } = useTranslation(); return ( @@ -51,13 +51,15 @@ const RoomHeader = ({ room, slots = {}, roomToolbox }: RoomHeaderProps) => { {slots?.posContent} - - - {slots?.toolbox?.pre} - {slots?.toolbox?.content || roomToolbox || } - {slots?.toolbox?.pos} - - + {!slots.toolbox?.hidden !== true && ( + + + {slots?.toolbox?.pre} + {slots?.toolbox?.content || } + {slots?.toolbox?.pos} + + + )} {slots?.end} ); diff --git a/apps/meteor/client/views/room/HeaderV2/RoomHeaderE2EESetup.tsx b/apps/meteor/client/views/room/HeaderV2/RoomHeaderE2EESetup.tsx index 061f39f6aae6c..8e45b9239ffcf 100644 --- a/apps/meteor/client/views/room/HeaderV2/RoomHeaderE2EESetup.tsx +++ b/apps/meteor/client/views/room/HeaderV2/RoomHeaderE2EESetup.tsx @@ -12,7 +12,16 @@ const RoomHeaderE2EESetup = ({ room }: RoomHeaderProps) => { const e2eRoomState = useE2EERoomState(room._id); if (e2eeState === 'SAVE_PASSWORD' || e2eeState === 'ENTER_PASSWORD' || e2eRoomState === 'WAITING_KEYS') { - return } />; + return ( + , + }, + }} + /> + ); } return ; From c9841242f2c6902dab9e22fc3d8abf49df7f316d Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Tue, 9 Dec 2025 17:29:01 -0300 Subject: [PATCH 3/3] Apply suggestions from code review --- apps/meteor/client/views/room/Header/RoomHeader.tsx | 2 +- apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/meteor/client/views/room/Header/RoomHeader.tsx b/apps/meteor/client/views/room/Header/RoomHeader.tsx index bd80ce9515050..5d943f65afd81 100644 --- a/apps/meteor/client/views/room/Header/RoomHeader.tsx +++ b/apps/meteor/client/views/room/Header/RoomHeader.tsx @@ -64,7 +64,7 @@ const RoomHeader = ({ room, topic = '', slots = {} }: RoomHeaderProps) => { )} {slots?.posContent} - {!slots.toolbox?.hidden !== true && ( + {slots.toolbox?.hidden !== true && ( {slots?.toolbox?.pre} diff --git a/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx b/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx index 2b028d08ac39b..711b1471cb63a 100644 --- a/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx +++ b/apps/meteor/client/views/room/HeaderV2/RoomHeader.tsx @@ -51,7 +51,7 @@ const RoomHeader = ({ room, slots = {} }: RoomHeaderProps) => { {slots?.posContent} - {!slots.toolbox?.hidden !== true && ( + {slots.toolbox?.hidden !== true && ( {slots?.toolbox?.pre}