parent
43421f6e54
commit
d350d1a048
@ -1,11 +1,46 @@ |
||||
package dev.lonami.talaria.data |
||||
|
||||
import dev.lonami.talaria.models.Message |
||||
import uniffi.talaria.Message |
||||
import uniffi.talaria.getMessages |
||||
import java.time.Instant |
||||
|
||||
object MessageRepository { |
||||
fun loadMessages(): List<Message> { |
||||
return generateSequence { |
||||
Message("Alice", "Testing") |
||||
}.take(50).toList() |
||||
interface MessageRepository { |
||||
fun loadMessages(chat: String): List<Message> |
||||
fun sendMessage(chat: String, message: String): Message |
||||
} |
||||
|
||||
class NativeMessageRepository : MessageRepository { |
||||
override fun loadMessages(chat: String): List<Message> { |
||||
return getMessages(chat) |
||||
} |
||||
|
||||
override fun sendMessage(chat: String, message: String): Message { |
||||
return uniffi.talaria.sendMessage(chat, message) |
||||
} |
||||
} |
||||
|
||||
class MockMessageRepository(private var msgCounter: Int = 50) : MessageRepository { |
||||
override fun loadMessages(chat: String): List<Message> { |
||||
return (0 until 50).map { |
||||
Message( |
||||
id = it, |
||||
sender = "Alice", |
||||
text = "Testing", |
||||
date = Instant.now(), |
||||
editDate = null, |
||||
formatting = listOf(), |
||||
) |
||||
}.toList() |
||||
} |
||||
|
||||
override fun sendMessage(chat: String, message: String): Message { |
||||
return Message( |
||||
id = msgCounter++, |
||||
sender = "You", |
||||
text = message, |
||||
date = Instant.now(), |
||||
editDate = null, |
||||
formatting = listOf(), |
||||
) |
||||
} |
||||
} |
||||
|
@ -1,3 +0,0 @@ |
||||
package dev.lonami.talaria.models |
||||
|
||||
data class Message(val sender: String, val text: String) |
@ -1,5 +1,5 @@ |
||||
package dev.lonami.talaria.ui.state |
||||
|
||||
import dev.lonami.talaria.models.Message |
||||
import uniffi.talaria.Message |
||||
|
||||
data class ChatUiState(val messages: MutableList<Message> = mutableListOf()) |
||||
|
Loading…
Reference in new issue