Skip to content

Commit 5c9b843

Browse files
committed
feat/#40: SignUpScreen Step4 View
1 parent 7af4342 commit 5c9b843

File tree

4 files changed

+207
-0
lines changed

4 files changed

+207
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<vector xmlns:android="http://schemas.android.com/apk/res/android"
2+
android:width="16dp"
3+
android:height="16dp"
4+
android:viewportWidth="16"
5+
android:viewportHeight="16">
6+
<group>
7+
<clip-path
8+
android:pathData="M8,1.567C8.331,1.567 8.6,1.836 8.6,2.167V7.4H13.833C14.164,7.4 14.433,7.669 14.433,8C14.433,8.332 14.164,8.6 13.833,8.6H8.6V13.834C8.6,14.165 8.331,14.434 8,14.434C7.668,14.434 7.4,14.165 7.4,13.834V8.6H2.166C1.835,8.6 1.566,8.332 1.566,8C1.566,7.669 1.835,7.4 2.166,7.4H7.4V2.167C7.4,1.836 7.668,1.567 8,1.567Z"/>
9+
<path
10+
android:pathData="M0,0h16v16h-16z"
11+
android:fillColor="#37383C"
12+
android:fillAlpha="1"/>
13+
</group>
14+
</vector>
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
package com.yapp.feature.signup.signup.component
2+
3+
import androidx.compose.foundation.layout.Column
4+
import androidx.compose.foundation.layout.Spacer
5+
import androidx.compose.foundation.layout.fillMaxWidth
6+
import androidx.compose.foundation.layout.height
7+
import androidx.compose.foundation.layout.padding
8+
import androidx.compose.material3.Text
9+
import androidx.compose.runtime.Composable
10+
import androidx.compose.ui.Modifier
11+
import androidx.compose.ui.res.stringResource
12+
import androidx.compose.ui.unit.dp
13+
import com.yapp.core.designsystem.component.button.solid.YappSolidPrimaryButtonLarge
14+
import com.yapp.core.designsystem.component.button.text.YappTextPrimaryButtonSmall
15+
import com.yapp.core.designsystem.component.input.text.YappInputTextLarge
16+
import com.yapp.core.designsystem.theme.YappTheme
17+
import com.yapp.core.ui.component.BottomDialog
18+
import com.yapp.feature.signup.R
19+
20+
@Composable
21+
fun SignUpCodeBottomDialog() {
22+
BottomDialog(
23+
onDismiss = {}
24+
) {
25+
Column(
26+
modifier = Modifier.padding(20.dp),
27+
) {
28+
Text(
29+
text = stringResource(R.string.signup_code_bottom_dialog_title),
30+
style = YappTheme.typography.headline1Bold,
31+
color = YappTheme.colorScheme.labelNormal
32+
)
33+
34+
Spacer(Modifier.height(24.dp))
35+
36+
YappInputTextLarge(
37+
label = stringResource(R.string.signup_code_bottom_dialog_input_text_label),
38+
value = "",
39+
placeholder = stringResource(R.string.signup_code_bottom_dialog_input_text_placeholder),
40+
onValueChange = {}
41+
)
42+
43+
Spacer(Modifier.height(24.dp))
44+
45+
YappSolidPrimaryButtonLarge(
46+
modifier = Modifier.fillMaxWidth(),
47+
text = stringResource(R.string.signup_code_bottom_dialog_complete_button),
48+
onClick = {}
49+
)
50+
51+
Spacer(Modifier.height(8.dp))
52+
53+
YappTextPrimaryButtonSmall(
54+
modifier = Modifier.fillMaxWidth(),
55+
text = stringResource(R.string.signup_code_bottom_dialog_no_code_button),
56+
onClick = {}
57+
)
58+
}
59+
}
60+
}
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
package com.yapp.feature.signup.signup.content
2+
3+
import androidx.compose.foundation.Image
4+
import androidx.compose.foundation.layout.Column
5+
import androidx.compose.foundation.layout.Row
6+
import androidx.compose.foundation.layout.Spacer
7+
import androidx.compose.foundation.layout.fillMaxSize
8+
import androidx.compose.foundation.layout.fillMaxWidth
9+
import androidx.compose.foundation.layout.height
10+
import androidx.compose.foundation.layout.padding
11+
import androidx.compose.foundation.layout.width
12+
import androidx.compose.material3.Icon
13+
import androidx.compose.material3.Text
14+
import androidx.compose.runtime.Composable
15+
import androidx.compose.runtime.getValue
16+
import androidx.compose.runtime.mutableStateOf
17+
import androidx.compose.runtime.remember
18+
import androidx.compose.runtime.setValue
19+
import androidx.compose.ui.Alignment
20+
import androidx.compose.ui.Modifier
21+
import androidx.compose.ui.res.painterResource
22+
import androidx.compose.ui.res.stringResource
23+
import androidx.compose.ui.tooling.preview.Preview
24+
import androidx.compose.ui.unit.dp
25+
import com.yapp.core.designsystem.component.button.solid.YappSolidPrimaryButtonLarge
26+
import com.yapp.core.designsystem.component.button.text.YappTextAssistiveButtonSmall
27+
import com.yapp.core.designsystem.component.button.text.YappTextPrimaryButtonMedium
28+
import com.yapp.core.designsystem.component.button.text.YappTextPrimaryButtonSmall
29+
import com.yapp.core.designsystem.component.input.text.YappInputTextLarge
30+
import com.yapp.core.designsystem.theme.YappTheme
31+
import com.yapp.core.ui.component.BottomDialog
32+
import com.yapp.core.ui.component.PasswordInputTextLarge
33+
import com.yapp.core.ui.component.YappBackground
34+
import com.yapp.feature.signup.R
35+
import com.yapp.feature.signup.signup.component.PositionDropdown
36+
import com.yapp.feature.signup.signup.component.SignUpCodeBottomDialog
37+
38+
@Composable
39+
fun PositionContent() {
40+
Column(
41+
modifier = Modifier
42+
.fillMaxSize()
43+
.padding(horizontal = 20.dp)
44+
) {
45+
Text(
46+
text = stringResource(R.string.signup_screen_step_4),
47+
style = YappTheme.typography.caption2Bold,
48+
color = YappTheme.colorScheme.primaryNormal,
49+
)
50+
51+
Spacer(Modifier.height(8.dp))
52+
53+
Text(
54+
text = stringResource(R.string.signup_screen_position_title, "박상윤"),
55+
style = YappTheme.typography.title3Bold,
56+
)
57+
58+
Spacer(Modifier.height(8.dp))
59+
60+
Text(
61+
text = stringResource(R.string.signup_screen_position_description),
62+
style = YappTheme.typography.body2NormalMedium,
63+
color = YappTheme.colorScheme.labelAlternative,
64+
)
65+
66+
Spacer(Modifier.height(40.dp))
67+
68+
Row(
69+
modifier = Modifier.fillMaxWidth(),
70+
) {
71+
YappInputTextLarge(
72+
modifier = Modifier.width(120.dp),
73+
label = stringResource(R.string.signup_screen_position_generation_input_text_label),
74+
placeholder = stringResource(R.string.signup_screen_position_generation_input_text_placeholder),
75+
value = "",
76+
onValueChange = {},
77+
)
78+
79+
Spacer(Modifier.width(16.dp))
80+
81+
var selectedValue by remember { mutableStateOf<String?>(null) }
82+
83+
PositionDropdown(
84+
label = stringResource(R.string.signup_screen_position_position_input_text_label),
85+
value = selectedValue,
86+
onValueChange = { selectedValue = it },
87+
placeholder = stringResource(R.string.signup_screen_position_position_input_text_placeholder),
88+
// TODO 임시 데이터, 서버에서 받아오게 변경 필요
89+
dropdownOptions = listOf("PM", "UX/UI Design", "Android", "iOS", "Web", "Server"),
90+
)
91+
}
92+
93+
Spacer(Modifier.height(24.dp))
94+
95+
YappTextAssistiveButtonSmall(
96+
modifier = Modifier.fillMaxWidth(),
97+
text = stringResource(R.string.signup_screen_add_previous_generation_button),
98+
leftIcon = {
99+
Icon(
100+
painter = painterResource(com.yapp.core.designsystem.R.drawable.icon_plus),
101+
contentDescription = null,
102+
tint = YappTheme.colorScheme.labelAlternative,
103+
)
104+
},
105+
onClick = {}
106+
)
107+
108+
SignUpCodeBottomDialog()
109+
}
110+
}
111+
112+
@Preview
113+
@Composable
114+
fun PositionContentPreview() {
115+
YappTheme {
116+
YappBackground {
117+
PositionContent()
118+
}
119+
}
120+
}

feature/signup/src/main/res/values/strings.xml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,17 @@
2222
<string name="signup_screen_password_input_text_placeholder">••••••••</string>
2323
<string name="signup_screen_password_confirm_input_text_label">비밀번호 확인</string>
2424
<string name="signup_screen_password_confirm_input_text_placeholder">••••••••</string>
25+
<string name="signup_screen_step_4">STEP 4</string>
26+
<string name="signup_screen_position_title">%s님!\n어떤 역할로 활동중이신가요?</string>
27+
<string name="signup_screen_position_description">YAPP에서 활동중인 기수와 직군 정보를 알려주세요.\n이전 활동 내역이 있다면 함께 추가 할수 있어요.</string>
28+
<string name="signup_screen_position_generation_input_text_label">기수</string>
29+
<string name="signup_screen_position_generation_input_text_placeholder">25</string>
30+
<string name="signup_screen_position_position_input_text_label">직군</string>
31+
<string name="signup_screen_position_position_input_text_placeholder">선택해주세요</string>
32+
<string name="signup_screen_add_previous_generation_button">이전 활동 기수 추가하기</string>
33+
<string name="signup_code_bottom_dialog_title">잠깐! 가입 코드가 있다면, 입력해주세요.</string>
34+
<string name="signup_code_bottom_dialog_input_text_label">가입코드</string>
35+
<string name="signup_code_bottom_dialog_input_text_placeholder">입력해주세요</string>
36+
<string name="signup_code_bottom_dialog_complete_button">입력 완료</string>
37+
<string name="signup_code_bottom_dialog_no_code_button">코드가 없어요</string>
2538
</resources>

0 commit comments

Comments
 (0)