"use client" import * as React from "react" import NextLink from "next/link" import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/components/ui/tooltip" import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover" import { InfoIcon, GitHubIcon, PaletteIcon } from "@/components/Icon" import { useAppSelector, useAppDispatch, GITHUB_URL, COLOR_LIST, } from "@/common" import { setThemeColor } from "@/store/reducers/global" import { cn } from "@/lib/utils" import { HexColorPicker } from "react-colorful" import dynamic from "next/dynamic" import styles from "./Header.module.css" export function HeaderRoomInfo() { const options = useAppSelector((state) => state.global.options) const { channel, userId } = options const roomConnected = useAppSelector((state) => state.global.roomConnected) const agentConnected = useAppSelector((state) => state.global.agentConnected) const roomConnectedText = React.useMemo(() => { return roomConnected ? "TRUE" : "FALSE" }, [roomConnected]) const agentConnectedText = React.useMemo(() => { return agentConnected ? "TRUE" : "FALSE" }, [agentConnected]) return ( <> Channel Name:{" "} {channel}
INFO
Room: {channel}
Participant: {userId}

STATUS
Room connected: {roomConnectedText}
Agent connected: {agentConnectedText}
) } export function HeaderActions() { return (
GitHub
) } export const ThemePalettePopover = () => { const themeColor = useAppSelector((state) => state.global.themeColor) const dispatch = useAppDispatch() const onMainClickSelect = (index: number) => { const target = COLOR_LIST[index] if (target.active !== themeColor) { dispatch(setThemeColor(target.active)) } } const onColorSliderChange = (color: string) => { console.log(color) dispatch(setThemeColor(color)) } return ( <>
STYLE
{COLOR_LIST.map((item, index) => { const isSelected = item.active === themeColor return ( ) })}
) } // export const Network = () => { // const [networkQuality, setNetworkQuality] = React.useState() // React.useEffect(() => { // rtcManager.on("networkQuality", onNetworkQuality) // return () => { // rtcManager.off("networkQuality", onNetworkQuality) // } // }, []) // const onNetworkQuality = (quality: NetworkQuality) => { // setNetworkQuality(quality) // } // return ( // // ) // } const NetworkIndicator = dynamic( () => import("@/components/Dynamic/NetworkIndicator"), { ssr: false, }, )