@@ -14,13 +14,14 @@ import {
1414 ScreenShareIconOff ,
1515} from '@/components/Icons' ;
1616import { Button } from '@components/ui/button' ;
17- import { useEffect , useRef , useState } from 'react' ;
17+ import { useEffect , useLayoutEffect , useRef , useState } from 'react' ;
1818import useScreenShare from '@/hooks/useScreenShare' ;
1919import BroadcastPlayer from './BroadcastPlayer' ;
2020import { Tracks } from '@/types/mediasoupTypes' ;
2121import RecordButton from './RecordButton' ;
2222import axiosInstance from '@/services/axios' ;
2323import { useMedia } from '@/hooks/useMedia' ;
24+ import { useTheme } from '@/hooks/useTheme' ;
2425
2526const mediaServerUrl = import . meta. env . VITE_MEDIASERVER_URL ;
2627
@@ -59,6 +60,16 @@ function Broadcast() {
5960 } ) ;
6061 // 방송 정보
6162 const [ title , setTitle ] = useState < string > ( '' ) ;
63+ // 테마
64+ const { theme } = useTheme ( ) ;
65+
66+ useLayoutEffect ( ( ) => {
67+ if ( theme === 'light' ) {
68+ document . querySelector ( 'html' ) ?. setAttribute ( 'data-theme' , 'light' ) ;
69+ } else {
70+ document . querySelector ( 'html' ) ?. removeAttribute ( 'data-theme' ) ;
71+ }
72+ } , [ ] ) ;
6273
6374 useEffect ( ( ) => {
6475 tracksRef . current [ 'mediaAudio' ] = mediaStream ?. getAudioTracks ( ) [ 0 ] ;
0 commit comments