|
|
@ -63,6 +63,7 @@ import javafx.scene.control.SelectionMode |
|
|
|
import scalafx.beans.property.BooleanProperty |
|
|
|
import javafx.scene.control.ListCell |
|
|
|
import java.time.Instant |
|
|
|
import com.github.marlonlom.utilities.timeago.TimeAgo |
|
|
|
|
|
|
|
class ChatController @Inject() ( |
|
|
|
userService: UserService, |
|
|
@ -218,39 +219,18 @@ class ChatController @Inject() ( |
|
|
|
|
|
|
|
logger.debug(s"Received Users: $maybeActiveUsers") |
|
|
|
|
|
|
|
val maybeUserBoxes = maybeActiveUsers.map(users => { |
|
|
|
users.map(user => { |
|
|
|
maybeActiveUsers.foreach(users => { |
|
|
|
users.foreach(user => { |
|
|
|
val chatData = |
|
|
|
ChatData(user.userName, user, ObservableBuffer.empty[Message]) |
|
|
|
chatDataStore.put(user.userName, new ChatDataProperty(chatData)) |
|
|
|
new UserBox2(user.userName, chatData) { |
|
|
|
this.styleClass ++= Seq("text-white") |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
// val messageBox = ChatDataProperty.createMdMessageBox2( |
|
|
|
// """**Hello world qefwew yeeehay bwergqwevqcqe** |
|
|
|
// |**Hello world qefwew yeeehay bwergqwevqcqe** |
|
|
|
// | |
|
|
|
// | Hello World |
|
|
|
// """.stripMargin |
|
|
|
// ) |
|
|
|
|
|
|
|
onFX { |
|
|
|
// maybeUserBoxes.foreach(userBoxes => { |
|
|
|
// usersBuffer ++= userBoxes |
|
|
|
// }) |
|
|
|
maybeActiveUsers.foreach(users => usersBuffer ++= users) |
|
|
|
chatListView.items() ++= Seq( |
|
|
|
// messageBox, |
|
|
|
// ChatDataProperty.createMdMessageBox2("hello"), |
|
|
|
// ChatDataProperty.createMdMessageBox2( |
|
|
|
// """ 1. Hello world qefwew yeeehay bwergqwevqcqe |
|
|
|
// |1. Hello world qefwew yeeehay bwergqwevqcqe |
|
|
|
// |1. Hello world qefwew yeeehay bwergqwevqcqe |
|
|
|
// |1. Hello world qefwew yeeehay bwergqwevqcqe""".stripMargin |
|
|
|
// ) |
|
|
|
) |
|
|
|
} |
|
|
|
|
|
|
|
chatDataStore |
|
|
|
.map { case (key, value) => value } |
|
|
|
.foreach(cdp => { |
|
|
@ -293,7 +273,7 @@ final case class ChatData( |
|
|
|
) { |
|
|
|
lazy val lastActiveString = |
|
|
|
activeUser.lastActive |
|
|
|
.map(_.toString()) |
|
|
|
.map(time => TimeAgo.using(time.toInstant().toEpochMilli())) |
|
|
|
.getOrElse("User has not logged in yet") |
|
|
|
lazy val onlineString = activeUser.online.toString() |
|
|
|
} |
|
|
|