Skip to content

Commit ae1b752

Browse files
finished ui
1 parent c6de945 commit ae1b752

2 files changed

Lines changed: 47 additions & 27 deletions

File tree

app/src/main/java/com/cornellappdev/uplift/ui/screens/onboarding/GoalsPromptScreen.kt

Lines changed: 46 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ package com.cornellappdev.uplift.ui.screens.onboarding
22

33
import androidx.compose.foundation.background
44
import androidx.compose.foundation.layout.Arrangement
5+
import androidx.compose.foundation.layout.Box
56
import androidx.compose.foundation.layout.Column
7+
import androidx.compose.foundation.layout.fillMaxHeight
68
import androidx.compose.foundation.layout.fillMaxSize
9+
import androidx.compose.foundation.layout.fillMaxWidth
710
import androidx.compose.foundation.layout.height
811
import androidx.compose.foundation.layout.padding
912
import androidx.compose.foundation.rememberScrollState
@@ -18,15 +21,17 @@ import androidx.compose.runtime.getValue
1821
import androidx.compose.runtime.mutableFloatStateOf
1922
import androidx.compose.runtime.remember
2023
import androidx.compose.runtime.setValue
24+
import androidx.compose.ui.Alignment
2125
import androidx.compose.ui.Modifier
2226
import androidx.compose.ui.draw.shadow
2327
import androidx.compose.ui.graphics.Color
2428
import androidx.compose.ui.text.font.FontWeight
25-
import androidx.compose.ui.text.style.TextAlign
2629
import androidx.compose.ui.tooling.preview.Preview
2730
import androidx.compose.ui.unit.dp
2831
import androidx.compose.ui.unit.sp
32+
import androidx.credentials.Credential
2933
import com.cornellappdev.uplift.ui.components.goalsetting.GoalSlider
34+
import com.cornellappdev.uplift.ui.components.onboarding.auth.LogInButton
3035
import com.cornellappdev.uplift.util.GRAY01
3136
import com.cornellappdev.uplift.util.montserratFamily
3237

@@ -40,57 +45,72 @@ import com.cornellappdev.uplift.util.montserratFamily
4045
fun GoalPromptScreen(
4146
/* TODO: Replace functions with viewmodel calls */
4247
goalValue: Float,
43-
onGoalValueChange: (Float) -> Unit
48+
onGoalValueChange: (Float) -> Unit,
49+
onSignInWithGoogle: (credential: Credential) -> Unit,
50+
onSkip: () -> Unit
4451
) {
45-
4652
Scaffold(
4753
topBar = {
48-
TopAppBar(
49-
title = {
54+
TopAppBar(
55+
title = {
56+
Box(
57+
modifier = Modifier.fillMaxHeight(),
58+
contentAlignment = Alignment.BottomStart
59+
) {
5060
Text(
5161
text = "Set your goals.",
52-
modifier = Modifier.padding(top = 20.dp),
5362
fontSize = 24.sp,
5463
fontFamily = montserratFamily,
5564
fontWeight = FontWeight.Bold,
56-
textAlign = TextAlign.Left
65+
modifier = Modifier.padding(bottom = 16.dp)
5766
)
58-
},
59-
modifier = Modifier
60-
.height(120.dp)
61-
.shadow(elevation = 20.dp, ambientColor = GRAY01),
62-
colors = TopAppBarDefaults.topAppBarColors(
63-
containerColor = Color.White,
64-
)
65-
67+
}
68+
},
69+
modifier = Modifier
70+
.height(120.dp)
71+
.shadow(elevation = 20.dp, ambientColor = GRAY01),
72+
colors = TopAppBarDefaults.topAppBarColors(
73+
containerColor = Color.White,
6674
)
75+
)
6776
},
6877
modifier = Modifier.fillMaxSize(),
6978
) { padding ->
7079
Column(
7180
modifier = Modifier
72-
.background(color = Color.White)
73-
.padding(
74-
top = padding.calculateTopPadding(),
75-
)
81+
.padding(padding)
7682
.fillMaxSize()
77-
.verticalScroll(rememberScrollState()),
78-
verticalArrangement = Arrangement.SpaceBetween
83+
.background(color = Color.White),
84+
horizontalAlignment = Alignment.CenterHorizontally
7985
) {
80-
/* Groups the goal slider and workout reminders together */
81-
Column {
86+
Column(
87+
modifier = Modifier
88+
.fillMaxWidth()
89+
.weight(1f)
90+
.verticalScroll(rememberScrollState()),
91+
horizontalAlignment = Alignment.CenterHorizontally
92+
) {
8293
GoalSlider(value = goalValue, onValueChange = onGoalValueChange)
94+
}
8395

96+
// Buttons pinned to the bottom
97+
Column(
98+
modifier = Modifier
99+
.fillMaxWidth()
100+
.padding(bottom = 32.dp),
101+
horizontalAlignment = Alignment.CenterHorizontally,
102+
verticalArrangement = Arrangement.spacedBy(8.dp)
103+
) {
104+
LogInButton { onSignInWithGoogle }
105+
SkipButton { onSkip }
84106
}
85107
}
86-
87108
}
88109
}
89110

90-
91111
@Preview(showBackground = true)
92112
@Composable
93113
fun GoalPromptScreenPreview() {
94114
var sliderVal by remember { mutableFloatStateOf(1f) }
95-
GoalPromptScreen(goalValue = sliderVal, onGoalValueChange = { sliderVal = it })
115+
GoalPromptScreen(goalValue = sliderVal, onGoalValueChange = { sliderVal = it }, {}, {})
96116
}

app/src/main/java/com/cornellappdev/uplift/ui/screens/onboarding/SignInPromptScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ private fun SignInPromptScreenContent(
112112
}
113113

114114
@Composable
115-
private fun SkipButton(onClick: () -> Unit) {
115+
fun SkipButton(onClick: () -> Unit) {
116116
TextButton(
117117
onClick = onClick
118118
) {

0 commit comments

Comments
 (0)