11import { createSignal , onCleanup , onMount , Show } from 'solid-js'
22import { createStore } from 'solid-js/store'
3- import { Loading } from './Loading'
4- import { FreeMode } from './FreeMode'
5- import { ReplayMode } from './ReplayMode'
6- import { Fullscreen } from '../Fullscreen'
7- import { GameStateContext } from './GameState'
8- import { type Game , PlayerMode } from '../Game'
9- import { RootStyle as s } from './Root. style'
10-
11- export function Root ( props : { game : Game ; root : Element } ) {
3+ import { Loading } from '.. /Loading'
4+ import { FreeMode } from '.. /FreeMode'
5+ import { ReplayMode } from '.. /ReplayMode'
6+ import { Fullscreen } from '../../ Fullscreen'
7+ import { GameStateContext } from '.. /GameState'
8+ import { type Game , PlayerMode } from '../../ Game'
9+ import './style.css '
10+
11+ export function App ( props : { game : Game ; root : Element } ) {
1212 let screen : HTMLButtonElement | null = null
1313 let fadeOut : ReturnType < typeof setTimeout > | undefined = undefined
1414
@@ -45,11 +45,11 @@ export function Root(props: { game: Game; root: Element }) {
4545 window . addEventListener ( 'click' , onWindowClick )
4646 window . addEventListener ( 'keydown' , onKeyDown )
4747 document . addEventListener ( 'pointerlockchange' , onPointerLockChange , false )
48-
48+
4949 root . addEventListener ( 'click' , onRootClick )
5050 root . addEventListener ( 'mouseover' , onMouseEnter )
5151 root . addEventListener ( 'mousemove' , onMouseMove )
52- root . addEventListener ( 'mouseout' , onMouseLeave )
52+ // root.addEventListener('mouseout', onMouseLeave)
5353 root . addEventListener ( 'contextmenu' , onContextMenu )
5454
5555 onCleanup ( ( ) => {
@@ -187,11 +187,11 @@ export function Root(props: { game: Game; root: Element }) {
187187 setIsVisible ( true )
188188 }
189189
190- clearTimeout ( fadeOut )
191- fadeOut = setTimeout ( ( ) => {
192- setIsVisible ( false )
193- fadeOut = undefined
194- } , 5000 )
190+ // clearTimeout(fadeOut)
191+ // fadeOut = setTimeout(() => {
192+ // setIsVisible(false)
193+ // fadeOut = undefined
194+ // }, 5000)
195195 }
196196
197197 const onScreenClick = ( ) => {
@@ -223,14 +223,21 @@ export function Root(props: { game: Game; root: Element }) {
223223
224224 return (
225225 < GameStateContext . Provider value = { gameState } >
226- < div class = { isVisible ( ) ? s . rootVisible : s . root } >
227- < div class = { isVisible ( ) ? s . titleVisible : s . title } > { title ( ) } </ div >
226+ < div
227+ classList = { {
228+ 'hlv-app' : true ,
229+ visible : isVisible ( ) ,
230+ 'mode-free' : gameState . mode === PlayerMode . FREE ,
231+ 'mode-replay' : gameState . mode === PlayerMode . REPLAY
232+ } }
233+ >
234+ < div class = "hlv-title" > { title ( ) } </ div >
228235
229236 < Loading game = { props . game } visible = { isLoading ( ) } />
230237
231238 < button
232239 type = "button"
233- class = { s . screen }
240+ class = "hlv- screen"
234241 ref = { ( node ) => {
235242 screen = node
236243 } }
@@ -239,16 +246,11 @@ export function Root(props: { game: Game; root: Element }) {
239246 />
240247
241248 < Show when = { gameState . mode === PlayerMode . FREE } >
242- < FreeMode class = { isVisible ( ) ? s . controlsVisible : s . controls } game = { props . game } root = { props . root } />
249+ < FreeMode class = "hlv- controls" game = { props . game } root = { props . root } />
243250 </ Show >
244251
245252 < Show when = { gameState . mode === PlayerMode . REPLAY } >
246- < ReplayMode
247- class = { isVisible ( ) ? s . controlsVisible : s . controls }
248- game = { props . game }
249- root = { props . root }
250- visible = { isMouseOver ( ) }
251- />
253+ < ReplayMode class = "hlv-controls" game = { props . game } root = { props . root } visible = { isMouseOver ( ) } />
252254 </ Show >
253255 </ div >
254256 </ GameStateContext . Provider >
0 commit comments