Join room : change state and view
This commit is contained in:
parent
ab8c31541b
commit
a2329fc7df
11 changed files with 228 additions and 165 deletions
|
|
@ -17,16 +17,19 @@
|
|||
package io.element.android.features.roomdirectory.api
|
||||
|
||||
import android.os.Parcelable
|
||||
import androidx.compose.runtime.Immutable
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarData
|
||||
import io.element.android.libraries.designsystem.components.avatar.AvatarSize
|
||||
import io.element.android.libraries.matrix.api.core.RoomId
|
||||
import kotlinx.parcelize.Parcelize
|
||||
|
||||
@Parcelize
|
||||
@Immutable
|
||||
data class RoomDescription(
|
||||
val roomId: RoomId,
|
||||
val name: String,
|
||||
val description: String,
|
||||
val name: String?,
|
||||
val alias: String?,
|
||||
val topic: String?,
|
||||
val avatarUrl: String?,
|
||||
val joinRule: JoinRule,
|
||||
val numberOfMembers: Long,
|
||||
|
|
@ -38,6 +41,18 @@ data class RoomDescription(
|
|||
UNKNOWN
|
||||
}
|
||||
|
||||
val computedName = name ?: alias ?: roomId.value
|
||||
|
||||
val computedDescription: String
|
||||
get() {
|
||||
return when {
|
||||
topic != null -> topic
|
||||
name != null && alias != null -> alias
|
||||
name == null && alias == null -> ""
|
||||
else -> roomId.value
|
||||
}
|
||||
}
|
||||
|
||||
fun canBeJoined() = joinRule == JoinRule.PUBLIC || joinRule == JoinRule.KNOCK
|
||||
|
||||
fun avatarData(size: AvatarSize) = AvatarData(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue