stub in manage account dialog

This commit is contained in:
Satindar Dhillon 2023-03-20 15:46:35 -07:00
parent 65843d3048
commit 971c4da5a8
3 changed files with 84 additions and 20 deletions

View file

@ -1,26 +1,81 @@
package app.omnivore.omnivore.ui.settings
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.clickable
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.foundation.layout.*
import androidx.compose.foundation.rememberScrollState
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.foundation.verticalScroll
import androidx.compose.material.Switch
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Check
import androidx.compose.material.icons.filled.KeyboardArrowDown
import androidx.compose.material.icons.filled.KeyboardArrowRight
import androidx.compose.material.icons.filled.Refresh
import androidx.compose.material3.Icon
import androidx.compose.material3.Surface
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import androidx.compose.ui.window.Dialog
import app.omnivore.omnivore.ui.reader.Stepper
import app.omnivore.omnivore.ui.reader.WebFont
import app.omnivore.omnivore.ui.reader.WebPreferencesView
import app.omnivore.omnivore.ui.reader.WebReaderViewModel
//@Composable
//fun ManageAccountDialog(onDismiss: () -> Unit, webReaderViewModel: WebReaderViewModel) {
// Dialog(onDismissRequest = { onDismiss() }) {
// Surface(
// shape = RoundedCornerShape(16.dp),
// color = Color.White,
// modifier = Modifier
// .height(300.dp)
// ) {
// WebPreferencesView(webReaderViewModel)
// }
// }
//}
@Composable
fun ManageAccountDialog(onDismiss: () -> Unit, settingsViewModel: SettingsViewModel) {
Dialog(onDismissRequest = { onDismiss() }) {
Surface(
shape = RoundedCornerShape(16.dp),
color = Color.White,
modifier = Modifier
.height(300.dp)
) {
ManageAccountView(settingsViewModel = settingsViewModel)
}
}
}
@Composable
fun ManageAccountView(settingsViewModel: SettingsViewModel) {
// val currentWebPreferences = webReaderViewModel.storedWebPreferences(isSystemInDarkTheme())
// val isFontListExpanded = remember { mutableStateOf(false) }
// val highContrastTextSwitchState = remember { mutableStateOf(currentWebPreferences.prefersHighContrastText) }
// val selectedWebFontRawValue = remember { mutableStateOf(currentWebPreferences.fontFamily.rawValue) }
Column(
modifier = Modifier
.padding(top = 6.dp, start = 6.dp, end = 6.dp, bottom = 6.dp)
) {
Row(
modifier = Modifier
.fillMaxWidth()
.padding(top = 12.dp, bottom = 12.dp),
horizontalArrangement = Arrangement.Center
) {
Text("Manage Account")
}
Column(
modifier = Modifier
.verticalScroll(rememberScrollState())
) {
Row(
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier
.clickable(onClick = { settingsViewModel.resetDataCache() })
) {
Text("Reset Data Cache")
Spacer(modifier = Modifier.weight(1.0F))
Icon(imageVector = Icons.Filled.Refresh, contentDescription = null)
}
}
}
}

View file

@ -9,9 +9,7 @@ import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowForward
import androidx.compose.material.icons.filled.Home
import androidx.compose.material3.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.*
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.platform.LocalContext
@ -22,6 +20,7 @@ import app.omnivore.omnivore.R
import app.omnivore.omnivore.Routes
import app.omnivore.omnivore.ui.auth.LoginViewModel
import app.omnivore.omnivore.ui.settings.LogoutDialog
import app.omnivore.omnivore.ui.settings.ManageAccountDialog
import app.omnivore.omnivore.ui.settings.SettingsViewModel
import com.google.android.gms.auth.api.signin.GoogleSignIn
import com.google.android.gms.auth.api.signin.GoogleSignInOptions
@ -68,6 +67,7 @@ fun SettingsView(
@Composable
fun SettingsViewContent(loginViewModel: LoginViewModel, settingsViewModel: SettingsViewModel, navController: NavHostController, modifier: Modifier) {
val showLogoutDialog = remember { mutableStateOf(false) }
val showManageAccountDialog = remember { mutableStateOf(false ) }
Box(
modifier = modifier.fillMaxSize()
@ -110,8 +110,8 @@ fun SettingsViewContent(loginViewModel: LoginViewModel, settingsViewModel: Setti
SectionSpacer()
// SettingRow(text = "Manage Account") { Log.d("settings", "logout button tapped") }
// RowDivider()
SettingRow(text = "Manage Account") { showManageAccountDialog.value = true }
RowDivider()
SettingRow(text = "Logout", includeIcon = false) { showLogoutDialog.value = true }
RowDivider()
}
@ -124,6 +124,13 @@ fun SettingsViewContent(loginViewModel: LoginViewModel, settingsViewModel: Setti
showLogoutDialog.value = false
}
}
if (showManageAccountDialog.value) {
ManageAccountDialog(
onDismiss = { showManageAccountDialog.value = false },
settingsViewModel = settingsViewModel
)
}
}
}

View file

@ -13,5 +13,7 @@ class SettingsViewModel @Inject constructor(
private val dataService: DataService,
private val datastoreRepo: DatastoreRepository
): ViewModel() {
fun stubby() {}
fun resetDataCache() {
}
}