import { FiActivity, FiSettings, FiSun } from "react-icons/fi"; import { GlobalHotKeys, KeyMap } from "react-hotkeys"; import { useCallback, useMemo } from "react"; import { $selectedLineId } from "../../../controller/recoil"; import LineIcon from "../../../components/lines/lineIcon/index"; import { LineMemberState } from "@nirvana/core/models/line.model"; import MasterLineData from "@nirvana/core/models/masterLineData.model"; import { Tooltip } from "antd"; import { useGetUserDetails } from "../../../controller"; import { useLineDataProvider } from "../../../controller/lineDataProvider"; import { useRecoilState } from "recoil"; export default function LineDetailsTerminal({ selectedLine, }: { selectedLine: MasterLineData; }) { const { handleTuneToLine } = useLineDataProvider(); const { data: userDetails } = useGetUserDetails(); const isUserToggleTuned = useMemo( () => selectedLine?.currentUserMember?.state === LineMemberState.TUNED, [selectedLine] ); // seeing if I am in the list of broadcasters // the source of truth from the socket connections telling me if my clicking actually made a round trip const isUserBroadcasting = useMemo( () => selectedLine?.currentBroadcastersUserIds?.includes( userDetails?.user._id.toString() ), [userDetails, selectedLine] ); return ( <>
{/* line overview header */}
{/*

{selectedLine.name}

{`${selectedLine.numberMembers} members`}
*/}
{/* controls */}
{`${ selectedLine?.tunedInMemberIds?.length ?? 0 } on the line`} {/* TODO: move to on hover of line row */}
); }