fix: issue where channels didn't load on start in sidebar
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
fac7411eea
commit
dda4ec0631
|
|
@ -90,7 +90,7 @@ fun RowScope.ChannelList(
|
||||||
val enableSmallBanner by remember {
|
val enableSmallBanner by remember {
|
||||||
derivedStateOf {
|
derivedStateOf {
|
||||||
lazyListState.firstVisibleItemScrollOffset > 40 ||
|
lazyListState.firstVisibleItemScrollOffset > 40 ||
|
||||||
lazyListState.firstVisibleItemIndex > 0
|
lazyListState.firstVisibleItemIndex > 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -139,11 +139,9 @@ fun RowScope.ChannelList(
|
||||||
.sortedBy { it.lastMessageID ?: it.id }
|
.sortedBy { it.lastMessageID ?: it.id }
|
||||||
.reversed()
|
.reversed()
|
||||||
|
|
||||||
val server = remember(serverId, RevoltAPI.serverCache) { RevoltAPI.serverCache[serverId] }
|
val server = RevoltAPI.serverCache[serverId]
|
||||||
val categorisedChannels = remember(server, RevoltAPI.channelCache) {
|
val categorisedChannels = server?.let {
|
||||||
server?.let {
|
ChannelUtils.categoriseServerFlat(it)
|
||||||
ChannelUtils.categoriseServerFlat(it)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Surface(
|
Surface(
|
||||||
|
|
@ -250,7 +248,7 @@ fun RowScope.ChannelList(
|
||||||
|
|
||||||
DrawerChannel(
|
DrawerChannel(
|
||||||
name = partner?.let { p -> User.resolveDefaultName(p) } ?: channel.name
|
name = partner?.let { p -> User.resolveDefaultName(p) } ?: channel.name
|
||||||
?: stringResource(R.string.unknown),
|
?: stringResource(R.string.unknown),
|
||||||
channelType = channel.channelType ?: ChannelType.TextChannel,
|
channelType = channel.channelType ?: ChannelType.TextChannel,
|
||||||
selected = currentDestination == "channel/{channelId}" && currentChannel == channel.id,
|
selected = currentDestination == "channel/{channelId}" && currentChannel == channel.id,
|
||||||
hasUnread = channel.lastMessageID?.let { lastMessageID ->
|
hasUnread = channel.lastMessageID?.let { lastMessageID ->
|
||||||
|
|
@ -410,9 +408,9 @@ fun RowScope.ChannelList(
|
||||||
|
|
||||||
Text(
|
Text(
|
||||||
text = (
|
text = (
|
||||||
server?.name
|
server?.name
|
||||||
?: stringResource(R.string.unknown)
|
?: stringResource(R.string.unknown)
|
||||||
),
|
),
|
||||||
style = MaterialTheme.typography.labelLarge,
|
style = MaterialTheme.typography.labelLarge,
|
||||||
color = if (server?.banner != null) {
|
color = if (server?.banner != null) {
|
||||||
bannerTextColour
|
bannerTextColour
|
||||||
|
|
@ -485,7 +483,7 @@ fun RowScope.ChannelList(
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
items(
|
items(
|
||||||
categorisedChannels.size ?: 0,
|
categorisedChannels.size,
|
||||||
key = { index ->
|
key = { index ->
|
||||||
val channel = categorisedChannels.getOrNull(index)
|
val channel = categorisedChannels.getOrNull(index)
|
||||||
channel?.let {
|
channel?.let {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue