1
1
package com.record.upload
2
2
3
+ import androidx.compose.foundation.Image
3
4
import androidx.compose.foundation.background
5
+ import androidx.compose.foundation.layout.Arrangement
4
6
import androidx.compose.foundation.layout.Box
5
7
import androidx.compose.foundation.layout.Column
6
8
import androidx.compose.foundation.layout.PaddingValues
9
+ import androidx.compose.foundation.layout.Row
7
10
import androidx.compose.foundation.layout.fillMaxSize
8
11
import androidx.compose.foundation.layout.fillMaxWidth
12
+ import androidx.compose.foundation.layout.padding
13
+ import androidx.compose.foundation.rememberScrollState
14
+ import androidx.compose.foundation.shape.RoundedCornerShape
15
+ import androidx.compose.foundation.verticalScroll
9
16
import androidx.compose.material3.Text
10
17
import androidx.compose.runtime.Composable
18
+ import androidx.compose.runtime.getValue
19
+ import androidx.compose.runtime.mutableStateOf
20
+ import androidx.compose.runtime.remember
21
+ import androidx.compose.runtime.setValue
11
22
import androidx.compose.ui.Alignment
12
23
import androidx.compose.ui.Modifier
24
+ import androidx.compose.ui.res.painterResource
13
25
import androidx.compose.ui.text.style.TextAlign
14
- import com.record.designsystem.component.button.RecordyButton
26
+ import androidx.compose.ui.unit.dp
27
+ import com.record.designsystem.R
15
28
import com.record.designsystem.component.navbar.TopNavigationBar
29
+ import com.record.designsystem.component.textfield.RecordyBasicTextField
16
30
import com.record.designsystem.theme.Background
17
- import com.record.designsystem.theme.Gray03
18
31
import com.record.designsystem.theme.RecordyTheme
32
+ import com.record.ui.extension.customClickable
19
33
20
34
@Composable
21
35
fun VideoPickerRoute (
@@ -24,37 +38,119 @@ fun VideoPickerRoute(
24
38
) {
25
39
VideoPickerScreen (
26
40
navigateSelectedKeyword = navigateSelectedKeyword,
41
+ onClickPickVideo = {},
42
+ onClickKeyword = {}
27
43
)
28
44
}
29
45
30
46
@Composable
31
47
fun VideoPickerScreen (
32
48
navigateSelectedKeyword : () -> Unit ,
49
+ onClickPickVideo : () -> Unit = {},
50
+ onClickKeyword : () -> Unit = {},
33
51
) {
52
+ var normalValue by remember {
53
+ mutableStateOf(" " )
54
+ }
34
55
Box (
35
56
modifier = Modifier
36
57
.fillMaxSize()
37
58
.background(Background ),
38
59
) {
39
60
Column (
40
61
modifier = Modifier
41
- .align(Alignment .TopCenter ),
62
+ .align(Alignment .TopCenter )
63
+ .verticalScroll(rememberScrollState()),
42
64
) {
43
65
TopNavigationBar (title = " 영상 선택" , enableGradation = true )
44
66
Text (
45
67
text = " ⓘ 최대 1분의 1080p 영상을 올려주세요." ,
46
- color = Gray03 ,
68
+ color = RecordyTheme .colors.gray03 ,
47
69
style = RecordyTheme .typography.caption2,
48
70
maxLines = 1 ,
49
71
modifier = Modifier .fillMaxWidth(),
50
72
textAlign = TextAlign .Center ,
51
73
)
74
+ Text (
75
+ text = " 영상" ,
76
+ color = RecordyTheme .colors.white,
77
+ style = RecordyTheme .typography.subtitle,
78
+ modifier = Modifier .padding(top = 20 .dp, bottom = 9 .dp)
79
+ )
80
+ Box (
81
+ modifier = Modifier
82
+ .background(RecordyTheme .colors.gray08, shape = RoundedCornerShape (16 .dp))
83
+ .customClickable(onClick = onClickPickVideo),
84
+ ) {
85
+ Column (
86
+ modifier = Modifier
87
+ .align(Alignment .Center )
88
+ .padding(vertical = 115 .dp, horizontal = 57 .dp),
89
+ verticalArrangement = Arrangement .Center ,
90
+ horizontalAlignment = Alignment .CenterHorizontally
91
+ ) {
92
+ Image (
93
+ painter = painterResource(id = R .drawable.ic_plus_25),
94
+ contentDescription = null ,
95
+ modifier = Modifier .padding(bottom = 12 .dp)
96
+ )
97
+ Text (
98
+ text = " 영상 선택" ,
99
+ color = RecordyTheme .colors.white,
100
+ style = RecordyTheme .typography.subtitle,
101
+ )
102
+ }
103
+ }
104
+ Text (
105
+ text = " 키워드" ,
106
+ color = RecordyTheme .colors.white,
107
+ style = RecordyTheme .typography.subtitle,
108
+ modifier = Modifier .padding(top = 22 .dp, bottom = 12 .dp)
109
+ )
110
+
111
+ Row (
112
+ modifier = Modifier
113
+ .background(RecordyTheme .colors.gray08, shape = RoundedCornerShape (30 .dp))
114
+ .customClickable(onClick = onClickKeyword),
115
+ verticalAlignment = Alignment .CenterVertically ,
116
+ horizontalArrangement = Arrangement .Center
117
+ ) {
118
+ Image (
119
+ painter = painterResource(id = R .drawable.ic_plus_25),
120
+ contentDescription = null ,
121
+ )
122
+ Text (
123
+ text = " 키워드" ,
124
+ color = RecordyTheme .colors.gray03,
125
+ style = RecordyTheme .typography.body2M,
126
+ )
127
+ }
128
+ Text (
129
+ text = " 위치" ,
130
+ color = RecordyTheme .colors.white,
131
+ style = RecordyTheme .typography.subtitle,
132
+ modifier = Modifier .padding(top = 20 .dp, bottom = 12 .dp)
133
+ )
134
+ RecordyBasicTextField (
135
+ placeholder = " 영상 속 위치는 어디인가요?" ,
136
+ maxLines = 1 ,
137
+ maxLength = 10 ,
138
+ value = normalValue,
139
+ onValueChange = { normalValue = it },
140
+ )
141
+ Text (
142
+ text = " 내용" ,
143
+ color = RecordyTheme .colors.white,
144
+ style = RecordyTheme .typography.subtitle,
145
+ modifier = Modifier .padding(top = 10 .dp, bottom = 12 .dp)
146
+ )
147
+ RecordyBasicTextField (
148
+ placeholder = " 공간에 대한 나의 생각을 자유롭게 적어주세요!" ,
149
+ maxLines = 20 ,
150
+ maxLength = 300 ,
151
+ value = normalValue,
152
+ onValueChange = { normalValue = it },
153
+ )
52
154
}
53
- RecordyButton (
54
- modifier = Modifier .align(Alignment .Center ),
55
- text = " 다음" ,
56
- enabled = true ,
57
- onClick = navigateSelectedKeyword,
58
- )
59
155
}
60
156
}
0 commit comments