fix: treat null presence as online
i have no idea why this is correct but ive been told it is Signed-off-by: Infi <wingit@geist.ga>
This commit is contained in:
parent
56ba789ca4
commit
a45b07f9de
|
|
@ -33,11 +33,11 @@ enum class Presence {
|
||||||
Offline
|
Offline
|
||||||
}
|
}
|
||||||
|
|
||||||
fun presenceFromStatus(status: String, online: Boolean = true): Presence {
|
fun presenceFromStatus(status: String?, online: Boolean = true): Presence {
|
||||||
if (!online) return Presence.Offline
|
if (!online) return Presence.Offline
|
||||||
|
|
||||||
return when (status) {
|
return when (status) {
|
||||||
"Online" -> Presence.Online
|
"Online", null -> Presence.Online
|
||||||
"Idle" -> Presence.Idle
|
"Idle" -> Presence.Idle
|
||||||
"Busy" -> Presence.Dnd
|
"Busy" -> Presence.Dnd
|
||||||
"Focus" -> Presence.Focus
|
"Focus" -> Presence.Focus
|
||||||
|
|
|
||||||
|
|
@ -243,7 +243,7 @@ fun RowScope.ChannelList(
|
||||||
dmPartnerId = partner?.id,
|
dmPartnerId = partner?.id,
|
||||||
dmPartnerName = partner?.let { p -> User.resolveDefaultName(p) },
|
dmPartnerName = partner?.let { p -> User.resolveDefaultName(p) },
|
||||||
dmPartnerStatus = presenceFromStatus(
|
dmPartnerStatus = presenceFromStatus(
|
||||||
status = partner?.status?.presence ?: "Offline",
|
status = partner?.status?.presence,
|
||||||
online = partner?.online ?: false
|
online = partner?.online ?: false
|
||||||
),
|
),
|
||||||
onClick = {
|
onClick = {
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ fun RawUserOverview(user: User, profile: Profile? = null) {
|
||||||
userId = user.id ?: ULID.makeSpecial(0),
|
userId = user.id ?: ULID.makeSpecial(0),
|
||||||
avatar = user.avatar,
|
avatar = user.avatar,
|
||||||
size = 48.dp,
|
size = 48.dp,
|
||||||
presence = presenceFromStatus(user.status?.presence ?: "Offline"),
|
presence = presenceFromStatus(user.status?.presence),
|
||||||
)
|
)
|
||||||
|
|
||||||
Spacer(modifier = Modifier.width(12.dp))
|
Spacer(modifier = Modifier.width(12.dp))
|
||||||
|
|
|
||||||
|
|
@ -541,7 +541,6 @@ fun Sidebar(
|
||||||
?: "",
|
?: "",
|
||||||
presence = presenceFromStatus(
|
presence = presenceFromStatus(
|
||||||
RevoltAPI.userCache[RevoltAPI.selfId]?.status?.presence
|
RevoltAPI.userCache[RevoltAPI.selfId]?.status?.presence
|
||||||
?: ""
|
|
||||||
),
|
),
|
||||||
userId = RevoltAPI.selfId ?: "",
|
userId = RevoltAPI.selfId ?: "",
|
||||||
avatar = RevoltAPI.userCache[RevoltAPI.selfId]?.avatar,
|
avatar = RevoltAPI.userCache[RevoltAPI.selfId]?.avatar,
|
||||||
|
|
@ -592,7 +591,7 @@ fun Sidebar(
|
||||||
)
|
)
|
||||||
} ?: it.name ?: "?",
|
} ?: it.name ?: "?",
|
||||||
presence = presenceFromStatus(
|
presence = presenceFromStatus(
|
||||||
partner?.status?.presence ?: ""
|
partner?.status?.presence
|
||||||
),
|
),
|
||||||
userId = partner?.id ?: it.id ?: "",
|
userId = partner?.id ?: it.id ?: "",
|
||||||
avatar = partner?.avatar ?: it.icon,
|
avatar = partner?.avatar ?: it.icon,
|
||||||
|
|
|
||||||
|
|
@ -246,7 +246,7 @@ fun MemberListMember(
|
||||||
avatar = user.avatar,
|
avatar = user.avatar,
|
||||||
userId = user.id!!,
|
userId = user.id!!,
|
||||||
presence = presenceFromStatus(
|
presence = presenceFromStatus(
|
||||||
user.status?.presence ?: "",
|
user.status?.presence,
|
||||||
user.online ?: false
|
user.online ?: false
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -47,7 +47,7 @@ fun StatusSheet(
|
||||||
userId = selfUser.id ?: ULID.makeSpecial(0),
|
userId = selfUser.id ?: ULID.makeSpecial(0),
|
||||||
avatar = selfUser.avatar,
|
avatar = selfUser.avatar,
|
||||||
size = 48.dp,
|
size = 48.dp,
|
||||||
presence = presenceFromStatus(selfUser.status?.presence ?: "offline"),
|
presence = presenceFromStatus(selfUser.status?.presence),
|
||||||
)
|
)
|
||||||
|
|
||||||
Spacer(modifier = Modifier.width(12.dp))
|
Spacer(modifier = Modifier.width(12.dp))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue