Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,15 @@ fun DeckDetailScreen(
onDismiss = onDismissDelete,
)
}
if (state.isDeleting) {
Box(
modifier = Modifier
.fillMaxSize()
.background(colors.surfacePrimary),
) {
EchoLoadingScreen(message = stringResource(R.string.deck_detail_deleting))
}
}
}
}
}
Expand Down
1 change: 1 addition & 0 deletions composeApp/src/androidMain/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
<string name="deck_detail_error_title">Something went wrong</string>
<string name="deck_detail_retry">Retry</string>
<string name="deck_detail_loading">Opening deck…</string>
<string name="deck_detail_deleting">Deleting deck…</string>
<string name="deck_detail_start_studying">Start studying · %1$d due</string>
<string name="deck_detail_study_this_deck">Study this deck</string>
<string name="deck_detail_back">Back</string>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ class DeckDetailViewModel(

fun onConfirmDelete() {
val current = _state.value as? DeckDetailUiState.Content ?: return
_state.value = current.copy(showDeleteConfirm = false)
_state.value = current.copy(showDeleteConfirm = false, isDeleting = true)
scope.launch {
Log.d(TAG, "onConfirmDelete: deckId=$deckId")
deckRepository.delete(deckId)
Expand Down Expand Up @@ -208,6 +208,7 @@ sealed interface DeckDetailUiState {
val masteredPercent: String,
val cardPreviews: List<CardPreviewModel>,
val showDeleteConfirm: Boolean = false,
val isDeleting: Boolean = false,
) : DeckDetailUiState
data class Error(val message: String) : DeckDetailUiState
}
Expand Down
Loading