diff --git a/build.sbt b/build.sbt index 52c7a0a..f76d3d0 100644 --- a/build.sbt +++ b/build.sbt @@ -31,7 +31,8 @@ lazy val frontend = project * It provides static types for the browser DOM APIs. */ libraryDependencies += "org.scala-js" %%% "scalajs-dom" % "2.4.0", - libraryDependencies += "com.raquo" %%% "laminar" % "15.0.1" + libraryDependencies += "com.raquo" %%% "laminar" % "15.0.1", + libraryDependencies += "io.laminext" %%% "websocket" % "0.15.0" ) .dependsOn(common) diff --git a/frontend/src/main/scala/industries/sunshine/planningpoker/PlanningPokerUrgh.scala b/frontend/src/main/scala/industries/sunshine/planningpoker/PlanningPokerUrgh.scala index 586b440..7d3d13f 100644 --- a/frontend/src/main/scala/industries/sunshine/planningpoker/PlanningPokerUrgh.scala +++ b/frontend/src/main/scala/industries/sunshine/planningpoker/PlanningPokerUrgh.scala @@ -24,6 +24,7 @@ object Main { ) // TODO is this ok for state creation? link with auth component and use in another? val appStateSignal = Var(AppState(Some(TestModels.me.id))).signal + val staticStateSignal = Var(TestModels.testRoom).signal def appElement(): Element = { div( @@ -32,7 +33,7 @@ object Main { className := "h-24 w-full flex flex-for justify-center items-center bg-green-200", p(className := "text-2xl", "Here be header"), ), - RoomView.renderRoom(TestModels.testRoom) + RoomView.renderRoom(staticStateSignal) ) } } diff --git a/frontend/src/main/scala/industries/sunshine/planningpoker/RoomView.scala b/frontend/src/main/scala/industries/sunshine/planningpoker/RoomView.scala index 594528f..d2c85f1 100644 --- a/frontend/src/main/scala/industries/sunshine/planningpoker/RoomView.scala +++ b/frontend/src/main/scala/industries/sunshine/planningpoker/RoomView.scala @@ -9,8 +9,7 @@ import industries.sunshine.planningpoker.common.Models.* object RoomView { // TODO this will take in signal of the room observable // NOTE i guess "other players" would have to be in circle with 'me' as empty space in the bottom - def renderRoom(state: RoomStateView): Element = { - val roomStateSignal = Var(state).signal + def renderRoom(roomStateSignal: Signal[RoomStateView]): Element = { // i want to number other players, for the star arrangement val otherPlayers = roomStateSignal.map { state => state.players.filterNot(_.id == state.me).zipWithIndex