diff --git a/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteDialog.kt b/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteDialog.kt index 11f560f85..ff0fdd259 100644 --- a/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteDialog.kt +++ b/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteDialog.kt @@ -28,11 +28,18 @@ fun TagDeleteDialog( Text(getString(MR.strings.cancel)) } }, + title = { Text(getString(MR.strings.tag_delete)) }, text = { when (state) { null -> Unit - else -> Text(getString(MR.strings.tag_delete_description, state.entryCount)) + else -> Text( + getString( + MR.strings.tag_delete_description, + state.entryCount, + state.tag.name, + ) + ) } } ) diff --git a/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteState.kt b/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteState.kt index cbb298e69..516b83e42 100644 --- a/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteState.kt +++ b/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteState.kt @@ -1,5 +1,8 @@ package com.faltenreich.diaguard.tag.delete +import com.faltenreich.diaguard.tag.Tag + data class TagDeleteState( + val tag: Tag, val entryCount: Long, ) \ No newline at end of file diff --git a/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteViewModel.kt b/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteViewModel.kt index e2afbf2b7..2911dc070 100644 --- a/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteViewModel.kt +++ b/shared/src/commonMain/kotlin/com/faltenreich/diaguard/tag/delete/TagDeleteViewModel.kt @@ -1,21 +1,29 @@ package com.faltenreich.diaguard.tag.delete import com.faltenreich.diaguard.navigation.CloseModalUseCase +import com.faltenreich.diaguard.navigation.NavigateToScreenUseCase +import com.faltenreich.diaguard.navigation.screen.EntrySearchScreen import com.faltenreich.diaguard.shared.architecture.ViewModel import com.faltenreich.diaguard.shared.di.inject import com.faltenreich.diaguard.tag.Tag import com.faltenreich.diaguard.tag.list.DeleteTagUseCase import kotlinx.coroutines.flow.Flow -import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.combine +import kotlinx.coroutines.flow.flowOf class TagDeleteViewModel( private val tag: Tag, countEntriesForTag: CountEntriesByTagUseCase = inject(), private val closeModal: CloseModalUseCase = inject(), + private val navigateToScreen: NavigateToScreenUseCase = inject(), private val deleteTag: DeleteTagUseCase = inject(), ) : ViewModel() { - override val state: Flow = countEntriesForTag(tag).map(::TagDeleteState) + override val state: Flow = combine( + flowOf(tag), + countEntriesForTag(tag), + ::TagDeleteState, + ) override fun onIntent(intent: TagDeleteIntent) { when (intent) { diff --git a/shared/src/commonMain/resources/MR/base/strings.xml b/shared/src/commonMain/resources/MR/base/strings.xml index 54cdfedcc..84924572c 100644 --- a/shared/src/commonMain/resources/MR/base/strings.xml +++ b/shared/src/commonMain/resources/MR/base/strings.xml @@ -159,7 +159,7 @@ Tags Tag is already taken Delete tag - %d entries will lose this tag + %d entries will lose the tag "%s" Create new tag Terms and conditions https://github.com/Faltenreich/Diaguard/tree/master/resource/legal/terms/TERMS_AND_CONDITIONS_EN.md