diff --git a/packages/desktop/src/providers/RealTimeRoomProvider.tsx b/packages/desktop/src/providers/RealTimeRoomProvider.tsx index dea7d0e..4e97d43 100644 --- a/packages/desktop/src/providers/RealTimeRoomProvider.tsx +++ b/packages/desktop/src/providers/RealTimeRoomProvider.tsx @@ -277,21 +277,23 @@ export function RealTimeRoomProvider({ children }: { children: React.ReactChild */ const handleSelectLine = useCallback( (newLineIdToSelect: string) => { - toast('selecting line!! NOT IMPLEMENTED'); - setSelectedLineId((prevLineId) => { + if (newLineIdToSelect === prevLineId) { + return prevLineId; + } + // untune from the last line if it was just a temporary tuned one if (roomMap[prevLineId]?.currentUserMember.state === LineMemberState.INBOX) { handleUntuneFromLine(prevLineId); } + // tune in if not already tuned into this line + if (!roomMap[newLineIdToSelect].tunedInMemberIds?.includes(user._id.toString())) { + handleTuneIntoLine(newLineIdToSelect); + } + return newLineIdToSelect; }); - - // tune in if not already tuned into this line - if (!roomMap[newLineIdToSelect].tunedInMemberIds?.includes(user._id.toString())) { - handleTuneIntoLine(newLineIdToSelect); - } }, [setSelectedLineId, handleUntuneFromLine, roomMap, user, handleTuneIntoLine], ); diff --git a/packages/desktop/src/tree/protected/terminal/navbar/Navbar.tsx b/packages/desktop/src/tree/protected/terminal/navbar/Navbar.tsx index 3f49b72..77118c7 100644 --- a/packages/desktop/src/tree/protected/terminal/navbar/Navbar.tsx +++ b/packages/desktop/src/tree/protected/terminal/navbar/Navbar.tsx @@ -100,58 +100,57 @@ export default function NavBar() { ); return ( - <> +