diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/add/AddCategoryUI.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/add/AddCategoryUI.kt index 76f2649..bc2a8e5 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/add/AddCategoryUI.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/add/AddCategoryUI.kt @@ -5,6 +5,8 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExposedDropdownMenuBox @@ -53,8 +55,8 @@ fun AddCategory( value = name, onValueChange = { name = it }, label = { Text("Category Name") }, - modifier = Modifier - .fillMaxWidth() + modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState()), + maxLines = 3, ) ExposedDropdownMenuBox( diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/edit/EditCategory.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/edit/EditCategory.kt index 612344e..1e4eba9 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/edit/EditCategory.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/category/edit/EditCategory.kt @@ -6,6 +6,8 @@ import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Info import androidx.compose.material3.AlertDialog @@ -106,9 +108,9 @@ fun EditCategory( OutlinedTextField( value = category.categoryName, onValueChange = { editCategoryViewModel.updateCategory(category.copy(categoryName = it)) }, + modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState()), + maxLines = 3, label = { Text("Category Name") }, - modifier = Modifier - .fillMaxWidth() ) ExposedDropdownMenuBox( diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/add/AddUI.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/add/AddUI.kt index b57fad6..e2d8a1e 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/add/AddUI.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/add/AddUI.kt @@ -7,6 +7,8 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons import androidx.compose.material.icons.filled.Info import androidx.compose.material3.AlertDialog @@ -97,9 +99,9 @@ fun Add( OutlinedTextField( value = name, onValueChange = { name = it }, + maxLines = 3, label = { Text("Name") }, - modifier = Modifier - .fillMaxWidth() + modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState()), ) // Toggle between Income and Expense @@ -108,7 +110,7 @@ fun Add( OutlinedTextField( value = spending, onValueChange = { - val isValidSpending = it.matches(Regex("^-?\\d*(\\.\\d{0,2})?$")) + val isValidSpending = it.matches(Regex("^-?(\\d{0,7})(\\.\\d{0,2})?$")) if (isValidSpending) { spending = it } diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/edit/EditUI.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/edit/EditUI.kt index c7a2fab..674135a 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/edit/EditUI.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/entry/edit/EditUI.kt @@ -6,6 +6,8 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.rememberScrollState +import androidx.compose.foundation.verticalScroll import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.ExposedDropdownMenuBox @@ -72,9 +74,11 @@ fun Edit( ) { OutlinedTextField( value = entry.name, + maxLines = 3, + onValueChange = { editViewModel.updateEntry(entry.copy(name = it)) }, label = { Text("Name") }, - modifier = Modifier.fillMaxWidth() + modifier = Modifier.fillMaxWidth().verticalScroll(rememberScrollState()) ) // Toggle between Income and Expense @@ -83,7 +87,7 @@ fun Edit( OutlinedTextField( value = entry.amount.toString(), onValueChange = { - val isValidSpending = it.matches(Regex("^-?\\d*(\\.\\d{0,2})?$")) + val isValidSpending = it.matches(Regex("^-?(\\d{0,7})(\\.\\d{0,2})?$")) if (isValidSpending) { val amount = if (isIncome) it.toFloat() else -it.toFloat() editViewModel.updateEntry(entry.copy(amount = amount))