diff --git a/app/src/main/java/de/miaurizius/shap_planner/activities/MainActivity.kt b/app/src/main/java/de/miaurizius/shap_planner/activities/MainActivity.kt index aa8b3fc..4d9034d 100644 --- a/app/src/main/java/de/miaurizius/shap_planner/activities/MainActivity.kt +++ b/app/src/main/java/de/miaurizius/shap_planner/activities/MainActivity.kt @@ -92,7 +92,8 @@ class MainActivity : ComponentActivity() { selectedAccount != null -> { DashboardScreen( account = selectedAccount, - onBack = { mainViewModel.logoutFromAccount() } + onBack = { mainViewModel.logoutFromAccount() }, + onDelete = { mainViewModel.deleteAccount(selectedAccount) } ) } @@ -203,7 +204,7 @@ fun LoginScreen(onLogin: (String, String, String) -> Unit, onBack: (() -> Unit)? } @Composable -fun DashboardScreen(account: Account, onBack: () -> Unit) { +fun DashboardScreen(account: Account, onBack: () -> Unit, onDelete: () -> Unit) { BackHandler { onBack() @@ -230,7 +231,13 @@ fun DashboardScreen(account: Account, onBack: () -> Unit) { } } - Spacer(modifier = Modifier.height(32.dp)) + Spacer(modifier = Modifier.height(5.dp)) + + Button(onClick = onDelete) { + Text("Löschen") + } + + Spacer(modifier = Modifier.height(10.dp)) Box( modifier = Modifier diff --git a/app/src/main/java/de/miaurizius/shap_planner/viewmodels/LoginViewModel.kt b/app/src/main/java/de/miaurizius/shap_planner/viewmodels/LoginViewModel.kt index 1387f77..c20f2da 100644 --- a/app/src/main/java/de/miaurizius/shap_planner/viewmodels/LoginViewModel.kt +++ b/app/src/main/java/de/miaurizius/shap_planner/viewmodels/LoginViewModel.kt @@ -13,6 +13,8 @@ import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.stateIn import kotlinx.coroutines.launch import kotlinx.coroutines.withContext +import java.util.Locale +import java.util.Locale.getDefault import java.util.UUID class LoginViewModel(private val prefs: UserPreferences, private val appContext: Context) : ViewModel() { @@ -28,7 +30,7 @@ class LoginViewModel(private val prefs: UserPreferences, private val appContext: try { val response = withContext(Dispatchers.IO) { - api.login(LoginRequest(username, password)) + api.login(LoginRequest(username.lowercase(getDefault()), password)) } if(response.isSuccessful) { diff --git a/app/src/main/java/de/miaurizius/shap_planner/viewmodels/MainViewModel.kt b/app/src/main/java/de/miaurizius/shap_planner/viewmodels/MainViewModel.kt index 0fa786c..9c1fec3 100644 --- a/app/src/main/java/de/miaurizius/shap_planner/viewmodels/MainViewModel.kt +++ b/app/src/main/java/de/miaurizius/shap_planner/viewmodels/MainViewModel.kt @@ -24,6 +24,13 @@ class MainViewModel(private val accountDao: AccountDao) : ViewModel() { } } + fun deleteAccount(account: Account) { + viewModelScope.launch { + accountDao.deleteAccount(account) + selectedAccount = null + } + } + var selectedAccount by mutableStateOf(null) private set