diff --git a/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerComposable.kt b/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerComposable.kt index 3ecb13c..ca88f02 100644 --- a/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerComposable.kt +++ b/app/src/main/java/be/ugent/sel/studeez/common/composable/DrawerComposable.kt @@ -1,41 +1,81 @@ package be.ugent.sel.studeez.common.composable -import android.graphics.drawable.Icon +import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.* import androidx.compose.material.Button -import androidx.compose.material.Divider import androidx.compose.material.Icon import androidx.compose.material.Text import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.filled.Home +import androidx.compose.material.icons.filled.* import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import be.ugent.sel.studeez.R +import be.ugent.sel.studeez.resources +import be.ugent.sel.studeez.ui.theme.StudeezTheme + @Composable fun Drawer() { Column(modifier = Modifier.fillMaxSize()) { - Text(text = "Studeez") - Divider() - Text(text = "Logout") - IconTextButton(icon = Icons.Default.Home, text = "Home") { - + + // TODO Currently logged in user + // TODO What kind of user + + // TODO Divider + + DrawerEntry( + icon = Icons.Default.Home, + text = resources().getString(R.string.home) + ) { + // TODO Go to home + } + DrawerEntry( + icon = Icons.Default.LocationOn, // TODO Fix icon + text = resources().getString(R.string.timers) + ) { + // TODO Go to timers + } + DrawerEntry( + icon = Icons.Default.Settings, + text = resources().getString(R.string.settings) + ) { + // TODO Go to settings + } + DrawerEntry( + icon = Icons.Default.AccountBox, // TODO Fix icon + text = resources().getString(R.string.log_out) + ) { + // TODO Log out + } + + DrawerEntry( + icon = Icons.Default.Info, + text = resources().getString(R.string.about) + ) { + // TODO Go to about } } } @Composable -fun IconTextButton(icon: ImageVector, text: String, onClick: () -> Unit) { - Button( - onClick = onClick +fun DrawerEntry( + icon: ImageVector, + text: String, + onClick: () -> Unit +) { + Row( + horizontalArrangement = Arrangement.Center, + modifier = Modifier + .clickable(onClick = { onClick() }) + .fillMaxWidth() ) { - Row( - horizontalArrangement = Arrangement.Center - ) { + Box(modifier = Modifier.fillMaxWidth(0.25f)) { Icon(imageVector = icon, contentDescription = text) - Spacer(modifier = Modifier.width(8.dp)) + } + Box(modifier = Modifier.fillMaxWidth(0.75f)) { Text(text = text) } } @@ -44,17 +84,7 @@ fun IconTextButton(icon: ImageVector, text: String, onClick: () -> Unit) { @Preview @Composable fun DrawerPreview() { - Drawer() -} - -@Preview -@Composable -fun DrawerEntryPreview() { - IconTextButton( - icon = Icons.Default.Home, - text = "Home", - onClick = { - // Do something when the button is clicked - } - ) + StudeezTheme { + Drawer() + } } \ No newline at end of file diff --git a/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginScreen.kt b/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginScreen.kt index 87f9376..b02a2f3 100644 --- a/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginScreen.kt +++ b/app/src/main/java/be/ugent/sel/studeez/screens/log_in/LoginScreen.kt @@ -26,6 +26,7 @@ fun LoginScreen( ) { val uiState by viewModel.uiState + // TODO Make this a separate kind of screen? SecondaryScreenToolbar(title = resources().getString(AppText.sign_in)) { Column( modifier = modifier diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 01e986c..4a805d0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -27,4 +27,16 @@ Home Start session + + Log out + + + Timers + + + Settings + + + About Studeez +