diff --git a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt index 80c7ad8..6b6a580 100644 --- a/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt +++ b/app/src/main/java/xyz/pixelatedw/recipe/ui/components/MainScreen.kt @@ -147,8 +147,21 @@ fun MainScreen(ctx: MainActivity, padding: PaddingValues, view: RecipesView) { val entry = recipes[entryId] val isSelected = selectedEntries.contains(entry) RecipePreview(entry, isSelected, onClick = { - view.setActive(entry) - navController.navigate("info") + if (selectedEntries.isNotEmpty()) { + selectedEntries = + selectedEntries.toMutableList().apply { + val flag = !selectedEntries.contains(entry) + if (flag) { + add(entry) + } else { + remove(entry) + } + }.toList() + } + else { + view.setActive(entry) + navController.navigate("info") + } }, onSelected = { flag -> selectedEntries = selectedEntries.toMutableList().apply { diff --git a/app/src/main/java/xyz/pixelatedw/recipe/utils/SyncRecipes.kt b/app/src/main/java/xyz/pixelatedw/recipe/utils/SyncRecipes.kt index 34545c1..30fb97b 100644 --- a/app/src/main/java/xyz/pixelatedw/recipe/utils/SyncRecipes.kt +++ b/app/src/main/java/xyz/pixelatedw/recipe/utils/SyncRecipes.kt @@ -66,6 +66,12 @@ fun sync(ctx: MainActivity, nav: NavHostController, setLoading: (Boolean) -> Uni parentDir.mkdirs() val newFile = File(parentDir, fileName) + if (!newFile.exists()) { + newFile.createNewFile() + } + else if (newFile.isDirectory) { + continue + } val fos = FileOutputStream(newFile, false) var usedBytes = 0