38 lines
1.0 KiB
Scala
38 lines
1.0 KiB
Scala
package industries.sunshine.planningpoker
|
|
|
|
import scala.scalajs.js
|
|
import scala.scalajs.js.annotation.*
|
|
import com.raquo.laminar.api.L.{*, given}
|
|
import industries.sunshine.planningpoker.common.Models.*
|
|
import scala.concurrent.duration._
|
|
|
|
import org.scalajs.dom
|
|
|
|
// import javascriptLogo from "/javascript.svg"
|
|
@js.native @JSImport("/javascript.svg", JSImport.Default)
|
|
val javascriptLogo: String = js.native
|
|
|
|
@main
|
|
def FrontendMain(): Unit =
|
|
renderOnDomContentLoaded(
|
|
dom.document.getElementById("app"),
|
|
Main.appElement()
|
|
)
|
|
|
|
object Main {
|
|
|
|
val loggedIn = Var(true)
|
|
|
|
import scala.scalajs.js.Dynamic.{global => g}
|
|
def appElement(): Element = {
|
|
div(
|
|
className := "w-screen h-screen flex flex-col justify-center items-center",
|
|
Header.render(loggedIn.writer, loggedIn.signal),
|
|
child <-- loggedIn.signal.map(if (_) emptyNode else JoinRoomComponent.render(loggedIn.writer)),
|
|
child <-- loggedIn.signal.map(
|
|
if (_) RoomView.renderRoom(loggedIn.writer) else emptyNode
|
|
),
|
|
)
|
|
}
|
|
}
|