planning-poker-gwargh/frontend/src/main/scala/industries/sunshine/planningpoker/FrontendMain.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
),
)
}
}