Merge remote-tracking branch 'origin/main'

This commit is contained in:
Florian 2025-01-20 10:13:40 +01:00
commit 69d36abcad
3 changed files with 18 additions and 8 deletions

View File

@ -123,7 +123,7 @@ fun AddCategory(
modifier = Modifier, modifier = Modifier,
"Add Category", "Add Category",
onClick = { onClick = {
if (name.isNotBlank()) { if (name.isNotBlank() && selectedIconIndex != -1) {
val newCategory = CategoryEntity( val newCategory = CategoryEntity(
_id = 0, _id = 0,
categoryName = name, categoryName = name,

View File

@ -21,6 +21,7 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TextButton import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.collectAsState
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
@ -47,8 +48,8 @@ fun EditCategory(
) { ) {
val category = editCategoryViewModel.categoryUi.category val category = editCategoryViewModel.categoryUi.category
var showError by remember { mutableStateOf(editCategoryViewModel.deletePossible) } var showError by remember { mutableStateOf(editCategoryViewModel.deletePossible) }
var redirect by remember { mutableStateOf(editCategoryViewModel.redirect) } val redirect by editCategoryViewModel.redirect.collectAsState()
var deleteStarted by remember { mutableStateOf(false) } var deleteStarted by remember { mutableStateOf(editCategoryViewModel.deleteStarted) }
var expanded by remember { mutableStateOf(false) } var expanded by remember { mutableStateOf(false) }
var selectedIconIndex by remember { mutableIntStateOf(category.icon) } var selectedIconIndex by remember { mutableIntStateOf(category.icon) }
@ -60,8 +61,11 @@ fun EditCategory(
if (deleteStarted) { if (deleteStarted) {
editCategoryViewModel.findEntryByCategoryId() editCategoryViewModel.findEntryByCategoryId()
showError = editCategoryViewModel.deletePossible showError = editCategoryViewModel.deletePossible
} }
}
LaunchedEffect(redirect) {
Log.w("lolo", "EditCategory: "+ redirect.toString(), )
if (redirect) { if (redirect) {
onButtonClick() onButtonClick()
} }

View File

@ -10,6 +10,8 @@ import androidx.lifecycle.viewModelScope
import at.xaxa.ledger.data.EntryRepository import at.xaxa.ledger.data.EntryRepository
import at.xaxa.ledger.data.db.Category.CategoryEntity import at.xaxa.ledger.data.db.Category.CategoryEntity
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@ -23,7 +25,10 @@ class EditCategoryViewModel(private val savedStateHandle: SavedStateHandle, priv
var categoryUi by mutableStateOf(CategoryUIState()) var categoryUi by mutableStateOf(CategoryUIState())
private set private set
var deletePossible by mutableStateOf(false) var deletePossible by mutableStateOf(false)
var redirect by mutableStateOf(false) var deleteStarted by mutableStateOf(false)
private var _redirect = MutableStateFlow(false)
val redirect: StateFlow<Boolean> get() = _redirect
init { init {
viewModelScope.launch { viewModelScope.launch {
@ -32,7 +37,7 @@ class EditCategoryViewModel(private val savedStateHandle: SavedStateHandle, priv
} }
categoryUi = CategoryUIState(category) categoryUi = CategoryUIState(category)
redirect = false; _redirect.value = false;
} }
} }
@ -61,8 +66,9 @@ class EditCategoryViewModel(private val savedStateHandle: SavedStateHandle, priv
if(fetchedEntries>0){ if(fetchedEntries>0){
deletePossible = true deletePossible = true
}else{ }else{
Log.w("lolo", "findEntryByCategoryId: "+fetchedEntries, )
deleteCategory() deleteCategory()
redirect= true; _redirect.value= true;
} }
} }
} }