@@ -33,25 +33,22 @@ class ActivityDetailViewModel @Inject constructor(
3333 private val _uiState = MutableStateFlow (ActivityDetailUiState (screenState = ActivityDetailScreenState .Loading ))
3434 val uiState = _uiState .asStateFlow()
3535
36- private val _tags = MutableStateFlow <List <String >>(emptyList())
37- val tags = _tags .asStateFlow()
38-
3936 private val _boostSheetVisible = MutableStateFlow (false )
4037 val boostSheetVisible = _boostSheetVisible .asStateFlow()
4138
4239 private var activity: Activity ? = null
4340 set(value) {
4441 value?.let { activity ->
45- val paymentValue = when (activity) {
42+ val paymentValue = when (activity) {
4643 is Activity .Lightning -> activity.v1.value
4744 is Activity .Onchain -> activity.v1.value
4845 }
4946 _uiState .update {
50- it.copy( // TODO EXTRACT
47+ it.copy( // TODO EXTRACT
5148 screenState = ActivityDetailScreenState .Success (
5249 isLightning = activity is Activity .Lightning ,
5350 isSent = activity.isSent(),
54- timeStamp= when (activity) {
51+ timeStamp = when (activity) {
5552 is Activity .Lightning -> activity.v1.timestamp
5653 is Activity .Onchain -> when (activity.v1.confirmed) {
5754 true -> activity.v1.confirmTimestamp ? : activity.v1.timestamp
@@ -81,10 +78,17 @@ class ActivityDetailViewModel @Inject constructor(
8178 viewModelScope.launch(bgDispatcher) {
8279 try {
8380 val activityTags = coreService.activity.tags(forActivityId = id)
84- _tags .value = activityTags
81+ (_uiState .value.screenState as ? ActivityDetailScreenState .Success )?.let { successState ->
82+ _uiState .update {
83+ ActivityDetailUiState (
84+ successState.copy(
85+ tags = activityTags
86+ )
87+ )
88+ }
89+ }
8590 } catch (e: Exception ) {
8691 Logger .error(" Failed to load tags for activity $id " , e, TAG )
87- _tags .value = emptyList()
8892 }
8993 }
9094 }
@@ -160,5 +164,6 @@ sealed interface ActivityDetailScreenState {
160164 val fee : ULong? ,
161165 val isSelfSend : Boolean ,
162166 val isTransfer : Boolean ,
167+ val tags : List <String > = emptyList(),
163168 ) : ActivityDetailScreenState
164169}
0 commit comments