Skip to content

Commit a45b055

Browse files
committed
[ui]: 로그인 화면 제작(#37)
1 parent a4c8ca2 commit a45b055

1 file changed

Lines changed: 88 additions & 0 deletions

File tree

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
package com.texthip.thip.ui.signin.screen
2+
3+
import androidx.compose.foundation.background
4+
import androidx.compose.foundation.layout.Arrangement
5+
import androidx.compose.foundation.layout.Column
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.material3.Icon
12+
import androidx.compose.material3.Text
13+
import androidx.compose.runtime.Composable
14+
import androidx.compose.ui.Alignment
15+
import androidx.compose.ui.Modifier
16+
import androidx.compose.ui.graphics.Color
17+
import androidx.compose.ui.graphics.Color.Companion.Unspecified
18+
import androidx.compose.ui.res.painterResource
19+
import androidx.compose.ui.res.stringResource
20+
import androidx.compose.ui.text.SpanStyle
21+
import androidx.compose.ui.text.buildAnnotatedString
22+
import androidx.compose.ui.text.withStyle
23+
import androidx.compose.ui.tooling.preview.Preview
24+
import androidx.compose.ui.unit.dp
25+
import com.texthip.thip.R
26+
import com.texthip.thip.ui.common.buttons.ActionMediumButton
27+
import com.texthip.thip.ui.theme.Purple
28+
import com.texthip.thip.ui.theme.ThipTheme.colors
29+
import com.texthip.thip.ui.theme.ThipTheme.typography
30+
31+
32+
@Composable
33+
fun LoginScreen() {
34+
Column(
35+
Modifier
36+
.background(colors.Black)
37+
.padding(horizontal = 20.dp)
38+
.fillMaxSize(),
39+
horizontalAlignment = Alignment.CenterHorizontally,
40+
verticalArrangement = Arrangement.Center
41+
) {
42+
Icon(
43+
painter = painterResource(R.drawable.ic_logo),
44+
contentDescription = null,
45+
tint = Unspecified,
46+
)
47+
Spacer(modifier = Modifier.height(24.dp))
48+
Text(
49+
text = buildAnnotatedString {
50+
withStyle(style = SpanStyle(color = Purple)) {
51+
append(stringResource(R.string.thip))
52+
}
53+
append(stringResource(R.string.splash_ment))
54+
},
55+
style = typography.smalltitle_sb600_s18_h24,
56+
color = colors.White
57+
)
58+
Spacer(modifier = Modifier.height(140.dp))
59+
ActionMediumButton(
60+
text = stringResource(R.string.kakao_login),
61+
icon = painterResource(R.drawable.ic_kakaotalk),
62+
iconSize = 21,
63+
contentColor = colors.Black,
64+
backgroundColor = colors.KakaoYellow,
65+
hasRightIcon = false,
66+
modifier = Modifier.fillMaxWidth(),
67+
onClick = {},
68+
)
69+
Spacer(modifier = Modifier.height(20.dp))
70+
ActionMediumButton(
71+
text = stringResource(R.string.google_login),
72+
icon = painterResource(R.drawable.ic_google),
73+
iconSize = 21,
74+
iconTint = Color.Unspecified,
75+
contentColor = colors.Black,
76+
backgroundColor = colors.White,
77+
hasRightIcon = false,
78+
modifier = Modifier.fillMaxWidth(),
79+
onClick = {},
80+
)
81+
}
82+
}
83+
84+
@Preview
85+
@Composable
86+
private fun LoginScreenPrev() {
87+
LoginScreen()
88+
}

0 commit comments

Comments
 (0)