Moved the deletion popup and fixed the icon / selection list not reverting
parent
a7d961393f
commit
519bbd4a89
|
|
@ -33,7 +33,7 @@ fun DeleteRecipeDialog(onAccept: ( ) -> Unit, onDismiss: () -> Unit) {
|
||||||
modifier = Modifier.height(100.dp).wrapContentSize(Alignment.Center)
|
modifier = Modifier.height(100.dp).wrapContentSize(Alignment.Center)
|
||||||
) {
|
) {
|
||||||
Text(
|
Text(
|
||||||
text = "Do you really wish to permanently delete this recipe ?",
|
text = "Do you really wish to permanently delete these recipes ?",
|
||||||
textAlign = TextAlign.Center,
|
textAlign = TextAlign.Center,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ fun MainScreen(ctx: MainActivity, padding: PaddingValues, view: RecipesView) {
|
||||||
|
|
||||||
val navController = rememberNavController()
|
val navController = rememberNavController()
|
||||||
|
|
||||||
|
val openDeletionDialog = remember { mutableStateOf(false) }
|
||||||
val openTagFilterDialog = remember { mutableStateOf(false) }
|
val openTagFilterDialog = remember { mutableStateOf(false) }
|
||||||
val selectedEntries = remember { mutableStateOf(listOf<RecipeWithTags>()) }
|
val selectedEntries = remember { mutableStateOf(listOf<RecipeWithTags>()) }
|
||||||
|
|
||||||
|
|
@ -115,12 +116,7 @@ fun MainScreen(ctx: MainActivity, padding: PaddingValues, view: RecipesView) {
|
||||||
IconButton(
|
IconButton(
|
||||||
modifier = Modifier.weight(0.15f),
|
modifier = Modifier.weight(0.15f),
|
||||||
onClick = {
|
onClick = {
|
||||||
// TODO I feel like this could be done in batch or something...but I truly don't care atm
|
openDeletionDialog.value = true
|
||||||
for (entry in selectedEntries.value) {
|
|
||||||
view.removeRecipe(entry)
|
|
||||||
ctx.db.recipeDao().delete(entry.recipe)
|
|
||||||
ctx.db.recipeWithTagsDao().delete(entry.recipe.title)
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
|
|
@ -129,8 +125,7 @@ fun MainScreen(ctx: MainActivity, padding: PaddingValues, view: RecipesView) {
|
||||||
contentDescription = "Load recipes from filesystem"
|
contentDescription = "Load recipes from filesystem"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
IconButton(
|
IconButton(
|
||||||
modifier = Modifier.weight(0.15f),
|
modifier = Modifier.weight(0.15f),
|
||||||
onClick = { ctx.sourceChooser.launch(Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)) },
|
onClick = { ctx.sourceChooser.launch(Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)) },
|
||||||
|
|
@ -166,6 +161,22 @@ fun MainScreen(ctx: MainActivity, padding: PaddingValues, view: RecipesView) {
|
||||||
}
|
}
|
||||||
|
|
||||||
when {
|
when {
|
||||||
|
openDeletionDialog.value -> {
|
||||||
|
DeleteRecipeDialog(
|
||||||
|
onAccept = {
|
||||||
|
// TODO I feel like this could be done in batch or something...but I truly don't care atm
|
||||||
|
for (entry in selectedEntries.value) {
|
||||||
|
view.removeRecipe(entry)
|
||||||
|
ctx.db.recipeDao().delete(entry.recipe)
|
||||||
|
ctx.db.recipeWithTagsDao().delete(entry.recipe.title)
|
||||||
|
}
|
||||||
|
selectedEntries.value = listOf()
|
||||||
|
openDeletionDialog.value = false
|
||||||
|
},
|
||||||
|
onDismiss = { openDeletionDialog.value = false }
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
openTagFilterDialog.value -> {
|
openTagFilterDialog.value -> {
|
||||||
TagFilterDialog(
|
TagFilterDialog(
|
||||||
onAccept = {
|
onAccept = {
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,6 @@ fun RecipeInfo(
|
||||||
active: RecipeWithTags
|
active: RecipeWithTags
|
||||||
) {
|
) {
|
||||||
val keepScreen = view.keepScreenOn.collectAsState()
|
val keepScreen = view.keepScreenOn.collectAsState()
|
||||||
val openDeletionDialog = remember { mutableStateOf(false) }
|
|
||||||
val picsCounts = remember { active.recipe.pics.size };
|
val picsCounts = remember { active.recipe.pics.size };
|
||||||
|
|
||||||
val timestamp = view.activeRecipe.collectAsState().value?.recipe?.lastModified ?: 0
|
val timestamp = view.activeRecipe.collectAsState().value?.recipe?.lastModified ?: 0
|
||||||
|
|
@ -149,19 +148,4 @@ fun RecipeInfo(
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
when {
|
|
||||||
openDeletionDialog.value -> {
|
|
||||||
DeleteRecipeDialog(
|
|
||||||
onAccept = {
|
|
||||||
view.removeRecipe(active)
|
|
||||||
ctx.db.recipeDao().delete(active.recipe)
|
|
||||||
ctx.db.recipeWithTagsDao().delete(active.recipe.title)
|
|
||||||
openDeletionDialog.value = false
|
|
||||||
nav.popBackStack()
|
|
||||||
},
|
|
||||||
onDismiss = { openDeletionDialog.value = false }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue