Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
69d36abcad
@ -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,
|
||||||
|
@ -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()
|
||||||
}
|
}
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -40,7 +45,7 @@ class EditCategoryViewModel(private val savedStateHandle: SavedStateHandle, priv
|
|||||||
categoryUi = categoryUi.copy(category = category)
|
categoryUi = categoryUi.copy(category = category)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun deleteCategory() {
|
fun deleteCategory(){
|
||||||
viewModelScope.launch {
|
viewModelScope.launch {
|
||||||
entryRepository.deleteCategory(categoryUi.category)
|
entryRepository.deleteCategory(categoryUi.category)
|
||||||
}
|
}
|
||||||
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user