diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/CategoryUI.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/CategoryUI.kt new file mode 100644 index 0000000..e1eff0e --- /dev/null +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/CategoryUI.kt @@ -0,0 +1,2 @@ +package at.xaxa.ledger.ui.category + diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/CategoryViewModel.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/CategoryViewModel.kt new file mode 100644 index 0000000..e1eff0e --- /dev/null +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/CategoryViewModel.kt @@ -0,0 +1,2 @@ +package at.xaxa.ledger.ui.category + diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditUI.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditUI.kt index 2a38ff8..6ffcd53 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditUI.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditUI.kt @@ -30,8 +30,10 @@ import at.xaxa.ledger.ui.DatePickerDocked @OptIn(ExperimentalMaterial3Api::class) @Composable -fun Edit(modifier: Modifier = Modifier, onCardClick: () -> Unit, editViewModel : EditViewModel = viewModel(factory = AppViewModelProvider.Factory)) { - val libraryEntity = editViewModel.editUiState.entry +fun Edit(modifier: Modifier = Modifier, onCardClick: (Int) -> Unit, EditViewModel : EditViewModel = viewModel(factory = AppViewModelProvider.Factory)) { + val libraryEntity = editViewModel.editUiState.entry + var name by remember { mutableStateOf("") } + var spending by remember { mutableStateOf("") } var name by remember { mutableStateOf(libraryEntity.name) } var spending by remember { mutableStateOf(libraryEntity.amount.toString()) } diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditViewModel.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditViewModel.kt index c5cf28f..76b715e 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditViewModel.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/edit/EditViewModel.kt @@ -8,10 +8,19 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import at.xaxa.ledger.data.Entry import at.xaxa.ledger.data.EntryRepository +import at.xaxa.ledger.data.db.Category.CategoryEntity +import at.xaxa.ledger.ui.add.CategoryListUIState import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.flow.Flow +import kotlinx.coroutines.flow.SharingStarted +import kotlinx.coroutines.flow.flowOf +import kotlinx.coroutines.flow.map +import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +data class CategoryListUIState(val categories: Flow> = flowOf(emptyList())) + data class EditUI( val entry: Entry = Entry(0, "", 0.0f, 0, 0) @@ -23,7 +32,7 @@ class EditViewModel(private val savedStateHandle: SavedStateHandle, private val entryId: Int = checkNotNull(savedStateHandle["entryId"]) var editUiState by mutableStateOf(EditUI()) - private set + var categoryUiState by mutableStateOf(CategoryListUIState()) init { viewModelScope.launch { @@ -47,5 +56,15 @@ class EditViewModel(private val savedStateHandle: SavedStateHandle, entryRepository.updateEntry(editUiState.entry) } } + fun getAllCategories() { + viewModelScope.launch { + val categories = withContext(Dispatchers.IO) { + entryRepository.getAllCategories() + } + categoryUiState = CategoryListUIState(categories) + + } + + } } \ No newline at end of file