chore: graduate channelscreen2
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
7550d01c8b
commit
ee8d4d632f
|
|
@ -90,7 +90,7 @@ import chat.revolt.screens.chat.dialogs.safety.ReportUserDialog
|
|||
import chat.revolt.screens.chat.views.FriendsScreen
|
||||
import chat.revolt.screens.chat.views.HomeScreen
|
||||
import chat.revolt.screens.chat.views.NoCurrentChannelScreen
|
||||
import chat.revolt.screens.chat.views.channel.ChannelScreen2
|
||||
import chat.revolt.screens.chat.views.channel.ChannelScreen
|
||||
import chat.revolt.sheets.AddServerSheet
|
||||
import chat.revolt.sheets.ChangelogSheet
|
||||
import chat.revolt.sheets.EmoteInfoSheet
|
||||
|
|
@ -1032,7 +1032,7 @@ fun ChannelNavigator(
|
|||
}
|
||||
|
||||
is ChatRouterDestination.Channel -> {
|
||||
ChannelScreen2(
|
||||
ChannelScreen(
|
||||
channelId = dest.channelId,
|
||||
onToggleDrawer = {
|
||||
scope.launch {
|
||||
|
|
|
|||
|
|
@ -158,11 +158,11 @@ private fun pxAsDp(px: Int): Dp {
|
|||
ExperimentalAnimationApi::class
|
||||
)
|
||||
@Composable
|
||||
fun ChannelScreen2(
|
||||
fun ChannelScreen(
|
||||
channelId: String,
|
||||
onToggleDrawer: () -> Unit,
|
||||
useDrawer: Boolean,
|
||||
viewModel: ChannelScreen2ViewModel = hiltViewModel()
|
||||
viewModel: ChannelScreenViewModel = hiltViewModel()
|
||||
) {
|
||||
// Setup
|
||||
|
||||
|
|
@ -296,7 +296,7 @@ fun ChannelScreen2(
|
|||
.distinctUntilChanged()
|
||||
.collect { isNearTop ->
|
||||
if (isNearTop) {
|
||||
Log.d("ChannelScreen2", "Loading more messages")
|
||||
Log.d("ChannelScreen", "Loading more messages")
|
||||
viewModel.loadMessages(before = viewModel.items.lastOrNull {
|
||||
it is ChannelScreenItem.RegularMessage || it is ChannelScreenItem.SystemMessage
|
||||
}?.let {
|
||||
|
|
@ -615,7 +615,7 @@ fun ChannelScreen2(
|
|||
is ChannelScreenItem.LoadTrigger -> {
|
||||
LaunchedEffect(Unit) {
|
||||
Log.d(
|
||||
"ChannelScreen2",
|
||||
"ChannelScreen",
|
||||
"LoadTrigger: After ${item.after} Before ${item.before}"
|
||||
)
|
||||
}
|
||||
|
|
@ -66,7 +66,7 @@ import java.time.ZoneId
|
|||
import javax.inject.Inject
|
||||
|
||||
@HiltViewModel
|
||||
class ChannelScreen2ViewModel @Inject constructor(
|
||||
class ChannelScreenViewModel @Inject constructor(
|
||||
private val kvStorage: KVStorage,
|
||||
) : ViewModel() {
|
||||
var items = mutableStateListOf<ChannelScreenItem>()
|
||||
|
|
@ -268,7 +268,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
)
|
||||
putDraftContent("")
|
||||
} catch (e: Exception) {
|
||||
Log.e("ChannelScreen2ViewModel", "Failed to edit message", e)
|
||||
Log.e("ChannelScreenViewModel", "Failed to edit message", e)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -292,7 +292,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
viewModelScope.launch {
|
||||
val attachmentIds = arrayListOf<String>()
|
||||
val takenAttachments =
|
||||
this@ChannelScreen2ViewModel.draftAttachments.take(MAX_ATTACHMENTS_PER_MESSAGE)
|
||||
this@ChannelScreenViewModel.draftAttachments.take(MAX_ATTACHMENTS_PER_MESSAGE)
|
||||
val totalTaken = takenAttachments.size
|
||||
|
||||
takenAttachments.forEachIndexed { index, it ->
|
||||
|
|
@ -309,7 +309,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
)
|
||||
attachmentIds.add(id)
|
||||
} catch (e: Exception) {
|
||||
Log.e("ChannelScreen2ViewModel", "Failed to upload attachment", e)
|
||||
Log.e("ChannelScreenViewModel", "Failed to upload attachment", e)
|
||||
attachmentUploadProgress = 0f
|
||||
// TODO show error message
|
||||
return@launch
|
||||
|
|
@ -343,7 +343,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
draftReplyTo.clear()
|
||||
attachmentUploadProgress = 0f
|
||||
|
||||
this@ChannelScreen2ViewModel.draftAttachments.removeAll(takenAttachments)
|
||||
this@ChannelScreenViewModel.draftAttachments.removeAll(takenAttachments)
|
||||
|
||||
try {
|
||||
sendMessage(
|
||||
|
|
@ -355,7 +355,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
idempotencyKey = ULID.makeNext()
|
||||
)
|
||||
} catch (e: Exception) {
|
||||
Log.e("ChannelScreen2ViewModel", "Failed to send message", e)
|
||||
Log.e("ChannelScreenViewModel", "Failed to send message", e)
|
||||
updateItems(listOf(ChannelScreenItem.FailedMessage(prospectiveMessage)) + items.filter { it !is ChannelScreenItem.ProspectiveMessage })
|
||||
}
|
||||
}
|
||||
|
|
@ -433,7 +433,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
|
||||
updateItems(newItemsWithPosition)
|
||||
} catch (e: Exception) {
|
||||
Log.e("ChannelScreen2ViewModel", "Failed to fetch messages", e)
|
||||
Log.e("ChannelScreenViewModel", "Failed to fetch messages", e)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -466,7 +466,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
fetchMember(serverId, userId)
|
||||
}
|
||||
} catch (e: Exception) {
|
||||
Log.e("ChannelScreen2ViewModel", "Failed to fetch member", e)
|
||||
Log.e("ChannelScreenViewModel", "Failed to fetch member", e)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -664,7 +664,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
} as? ChannelScreenItem.RegularMessage ?: return@onEach
|
||||
|
||||
putDraftContent(message.message.content ?: "")
|
||||
this@ChannelScreen2ViewModel.draftAttachments.clear()
|
||||
this@ChannelScreenViewModel.draftAttachments.clear()
|
||||
draftReplyTo.clear()
|
||||
}
|
||||
}
|
||||
|
|
@ -691,7 +691,7 @@ class ChannelScreen2ViewModel @Inject constructor(
|
|||
// [Deviation from spec: if M is not a [Regular/System]Message we just put it in the list...]
|
||||
if (m !is ChannelScreenItem.RegularMessage && m !is ChannelScreenItem.SystemMessage) {
|
||||
groupedItems.add(m)
|
||||
Log.d("ChannelScreen2ViewModel", "Non-regular message: $m. Skipping grouping.")
|
||||
Log.d("ChannelScreenViewModel", "Non-regular message: $m. Skipping grouping.")
|
||||
return@forEachIndexed
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue