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
+ }
0 commit comments