Skip to content

Commit 0336ac2

Browse files
committed
[Design] #62 top nav bar gradation
1 parent ec5abe5 commit 0336ac2

File tree

3 files changed

+35
-33
lines changed

3 files changed

+35
-33
lines changed

core/designsystem/src/main/java/com/record/designsystem/component/navbar/TopNavigationBar.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fun TopNavigationBar(
3232
)
3333
Box(
3434
modifier = modifier
35-
.background(brush = gradient)
35+
.background(brush = Brush.verticalGradient(listOf(Color(0x339babfb), Color(0x00000000))))
3636
.fillMaxWidth()
3737
.padding(
3838
top = 45.dp,
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,47 @@
11
package com.record.upload
22

3-
import android.net.Uri
4-
import androidx.activity.compose.rememberLauncherForActivityResult
5-
import androidx.activity.result.PickVisualMediaRequest
6-
import androidx.activity.result.contract.ActivityResultContracts
73
import androidx.compose.foundation.background
4+
import androidx.compose.foundation.layout.Box
85
import androidx.compose.foundation.layout.Column
9-
import androidx.compose.foundation.layout.PaddingValues
10-
import androidx.compose.foundation.layout.padding
11-
import androidx.compose.foundation.layout.size
6+
import androidx.compose.foundation.layout.fillMaxSize
7+
import androidx.compose.foundation.layout.fillMaxWidth
8+
import androidx.compose.material3.Text
129
import androidx.compose.runtime.Composable
13-
import androidx.compose.runtime.LaunchedEffect
14-
import androidx.compose.runtime.getValue
15-
import androidx.compose.runtime.mutableStateOf
16-
import androidx.compose.runtime.remember
17-
import androidx.compose.runtime.setValue
10+
import androidx.compose.ui.Alignment
1811
import androidx.compose.ui.Modifier
19-
import androidx.compose.ui.graphics.Color
20-
import androidx.compose.ui.platform.LocalContext
21-
import androidx.compose.ui.unit.dp
22-
import coil.compose.AsyncImage
12+
import androidx.compose.ui.text.style.TextAlign
13+
import com.record.designsystem.component.button.RecordyButton
2314
import com.record.designsystem.component.navbar.TopNavigationBar
24-
import com.record.ui.lifecycle.LaunchedEffectWithLifecycle
15+
import com.record.designsystem.theme.Background
16+
import com.record.designsystem.theme.Gray03
17+
import com.record.designsystem.theme.RecordyTheme
2518

2619
@Composable
2720
fun VideoPickerScreen() {
28-
var uri by remember { mutableStateOf<Uri?>(null) }
29-
val imagePicker = rememberLauncherForActivityResult(
30-
contract = ActivityResultContracts.PickVisualMedia(),
31-
onResult = { uri = it }
32-
)
33-
LaunchedEffect(Unit) {
34-
imagePicker.launch(PickVisualMediaRequest(ActivityResultContracts.PickVisualMedia.VideoOnly))
35-
}
36-
37-
Column(
21+
Box(
3822
modifier = Modifier
39-
.background(Color.Transparent)
23+
.fillMaxSize()
24+
.background(Background),
4025
) {
41-
TopNavigationBar(title = "영상 선택", enableGradation = true)
42-
AsyncImage(model = uri, contentDescription = null, modifier = Modifier.size(50.dp))
26+
Column(
27+
modifier = Modifier
28+
.align(Alignment.TopCenter),
29+
) {
30+
TopNavigationBar(title = "영상 선택", enableGradation = true)
31+
Text(
32+
text = "ⓘ 최대 1분의 1080p 영상을 올려주세요.",
33+
color = Gray03,
34+
style = RecordyTheme.typography.caption2,
35+
maxLines = 1,
36+
modifier = Modifier.fillMaxWidth(),
37+
textAlign = TextAlign.Center,
38+
)
39+
}
40+
RecordyButton(
41+
modifier = Modifier.align(Alignment.BottomCenter),
42+
text = "다음",
43+
enabled = true,
44+
onClick = { /*TODO*/ },
45+
)
4346
}
4447
}

feature/upload/src/main/java/com/record/upload/navigation/UploadNavigation.kt

+1-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ fun NavGraphBuilder.uploadNavGraph(
1717
modifier: Modifier = Modifier,
1818
) {
1919
composable(route = UploadRoute.route) {
20-
VideoPickerScreen(
21-
)
20+
VideoPickerScreen()
2221
}
2322
}
2423

0 commit comments

Comments
 (0)