"use client"; import dynamic from "next/dynamic"; import AuthInitializer from "@/components/authInitializer"; import { useAppSelector, EMobileActiveTab, useIsCompactLayout } from "@/common"; import Header from "@/components/Layout/Header"; import Action from "@/components/Layout/Action"; import { cn } from "@/lib/utils"; import Avatar from "@/components/Agent/AvatarTrulience"; import React from "react"; import { IRtcUser, IUserTracks } from "@/manager"; import { IMicrophoneAudioTrack } from "agora-rtc-sdk-ng"; const DynamicRTCCard = dynamic(() => import("@/components/Dynamic/RTCCard"), { ssr: false, }); const DynamicChatCard = dynamic(() => import("@/components/Chat/ChatCard"), { ssr: false, }); export default function Home() { const mobileActiveTab = useAppSelector( (state) => state.global.mobileActiveTab ); const trulienceSettings = useAppSelector((state) => state.global.trulienceSettings); const isCompactLayout = useIsCompactLayout(); const useTrulienceAvatar = trulienceSettings.enabled; const avatarInLargeWindow = trulienceSettings.avatarDesktopLargeWindow; const [remoteuser, setRemoteUser] = React.useState() React.useEffect(() => { const { rtcManager } = require("../manager/rtc/rtc"); rtcManager.on("remoteUserChanged", onRemoteUserChanged); return () => { rtcManager.off("remoteUserChanged", onRemoteUserChanged); }; }, []); const onRemoteUserChanged = (user: IRtcUser) => { if (useTrulienceAvatar) { user.audioTrack?.stop(); } if (user.audioTrack) { setRemoteUser(user) } } return (
{(!useTrulienceAvatar || isCompactLayout || !avatarInLargeWindow) && ( )} {(useTrulienceAvatar && avatarInLargeWindow) && (
)}
); }