Skip to content

Commit a845de3

Browse files
authored
Merge pull request #604 from Daily-DAYO/layout/issue-603
[layout] Modify Common Component
2 parents 3520bff + 940199c commit a845de3

31 files changed

+619
-560
lines changed

presentation/src/main/java/daily/dayo/presentation/activity/MainActivity.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import daily.dayo.presentation.R
2727
import daily.dayo.presentation.databinding.ActivityMainBinding
2828
import daily.dayo.presentation.fragment.home.HomeFragmentDirections
2929
import daily.dayo.presentation.screen.main.MainScreen
30+
import daily.dayo.presentation.theme.DayoTheme
3031
import daily.dayo.presentation.viewmodel.AccountViewModel
3132
import daily.dayo.presentation.viewmodel.SettingNotificationViewModel
3233

@@ -47,7 +48,9 @@ class MainActivity : AppCompatActivity() {
4748
getNotificationData()
4849
askNotificationPermission()
4950
setContent {
50-
MainScreen()
51+
DayoTheme {
52+
MainScreen()
53+
}
5154
}
5255
}
5356

presentation/src/main/java/daily/dayo/presentation/fragment/account/signin/LoginFragment.kt

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import android.util.Log
88
import android.view.LayoutInflater
99
import android.view.View
1010
import android.view.ViewGroup
11-
import androidx.compose.foundation.ExperimentalFoundationApi
1211
import androidx.compose.foundation.Image
1312
import androidx.compose.foundation.background
1413
import androidx.compose.foundation.layout.Arrangement
@@ -29,7 +28,6 @@ import androidx.compose.material.icons.Icons
2928
import androidx.compose.material.icons.filled.Email
3029
import androidx.compose.material3.ButtonDefaults
3130
import androidx.compose.material3.Icon
32-
import androidx.compose.material3.MaterialTheme
3331
import androidx.compose.material3.Text
3432
import androidx.compose.runtime.Composable
3533
import androidx.compose.runtime.getValue
@@ -67,15 +65,13 @@ import daily.dayo.presentation.R
6765
import daily.dayo.presentation.activity.MainActivity
6866
import daily.dayo.presentation.common.dialog.LoadingAlertDialog
6967
import daily.dayo.presentation.theme.Dark
68+
import daily.dayo.presentation.theme.DayoTheme
7069
import daily.dayo.presentation.theme.Gray4_C5CAD2
7170
import daily.dayo.presentation.theme.Gray6_F0F1F3
7271
import daily.dayo.presentation.theme.Primary_23C882
7372
import daily.dayo.presentation.theme.White_FFFFFF
74-
import daily.dayo.presentation.theme.b2
75-
import daily.dayo.presentation.theme.b5
76-
import daily.dayo.presentation.theme.caption3
73+
import daily.dayo.presentation.view.DayoTextButton
7774
import daily.dayo.presentation.view.FilledRoundedCornerButton
78-
import daily.dayo.presentation.view.TextButton
7975
import daily.dayo.presentation.viewmodel.AccountViewModel
8076

8177
@AndroidEntryPoint
@@ -92,7 +88,7 @@ class LoginFragment : Fragment() {
9288
return ComposeView(requireContext()).apply {
9389
setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
9490
setContent {
95-
MaterialTheme {
91+
DayoTheme {
9692
LoginScreen()
9793
}
9894
}
@@ -104,12 +100,11 @@ class LoginFragment : Fragment() {
104100
LoadingAlertDialog.hideLoadingDialog(loadingAlertDialog)
105101
}
106102

107-
@OptIn(ExperimentalFoundationApi::class)
108103
@Composable
109104
private fun LoginScreen() {
110105
Column(
111106
modifier = Modifier
112-
.background(White_FFFFFF)
107+
.background(DayoTheme.colorScheme.background)
113108
.fillMaxSize(),
114109
verticalArrangement = Arrangement.SpaceBetween
115110
) {
@@ -165,7 +160,7 @@ class LoginFragment : Fragment() {
165160
.padding(horizontal = 18.dp),
166161
color = ButtonDefaults.buttonColors(containerColor = Color(0xFFFBE44D), contentColor = Color(0xFF3B1F1E)),
167162
icon = { Icon(painter = painterResource(id = R.drawable.ic_kakao), "Kakao") },
168-
textStyle = MaterialTheme.typography.b5
163+
textStyle = DayoTheme.typography.b5
169164
)
170165

171166
Spacer(modifier = Modifier.height(12.dp))
@@ -179,7 +174,7 @@ class LoginFragment : Fragment() {
179174
.padding(horizontal = 18.dp),
180175
color = ButtonDefaults.buttonColors(containerColor = Dark, contentColor = White_FFFFFF),
181176
icon = { Icon(Icons.Filled.Email, "Email") },
182-
textStyle = MaterialTheme.typography.b5
177+
textStyle = DayoTheme.typography.b5
183178
)
184179

185180
// Policy Text
@@ -189,11 +184,11 @@ class LoginFragment : Fragment() {
189184
.padding(horizontal = 19.dp, vertical = 19.dp),
190185
horizontalArrangement = Arrangement.Center
191186
) {
192-
Text(text = "가입 시 DAYO의 ", style = MaterialTheme.typography.caption3.copy(Gray4_C5CAD2))
193-
TextButton(onClick = { onClickPolicyMessage(type = "terms") }, text = "이용약관", textStyle = MaterialTheme.typography.caption3.copy(Gray4_C5CAD2), underline = true)
194-
Text(text = "", style = MaterialTheme.typography.caption3.copy(Gray4_C5CAD2))
195-
TextButton(onClick = { onClickPolicyMessage(type = "privacy") }, text = "개인정보", textStyle = MaterialTheme.typography.caption3.copy(Gray4_C5CAD2), underline = true)
196-
Text(text = " 취급방침에 동의하게 됩니다.", style = MaterialTheme.typography.caption3.copy(Gray4_C5CAD2))
187+
Text(text = "가입 시 DAYO의 ", style = DayoTheme.typography.caption3.copy(Gray4_C5CAD2))
188+
DayoTextButton(onClick = { onClickPolicyMessage(type = "terms") }, text = "이용약관", textStyle = DayoTheme.typography.caption3.copy(Gray4_C5CAD2), underline = true)
189+
Text(text = "", style = DayoTheme.typography.caption3.copy(Gray4_C5CAD2))
190+
DayoTextButton(onClick = { onClickPolicyMessage(type = "privacy") }, text = "개인정보", textStyle = DayoTheme.typography.caption3.copy(Gray4_C5CAD2), underline = true)
191+
Text(text = " 취급방침에 동의하게 됩니다.", style = DayoTheme.typography.caption3.copy(Gray4_C5CAD2))
197192
}
198193
}
199194
}
@@ -266,7 +261,7 @@ class LoginFragment : Fragment() {
266261
text = annotatedString,
267262
modifier = if (page == 3) Modifier.padding(vertical = 116.dp) else Modifier,
268263
textAlign = TextAlign.Center,
269-
style = MaterialTheme.typography.b2
264+
style = DayoTheme.typography.b2
270265
)
271266
}
272267

@@ -383,7 +378,7 @@ class LoginFragment : Fragment() {
383378
@Composable
384379
@Preview(showBackground = true)
385380
private fun PreviewLoginScreen() {
386-
MaterialTheme {
381+
DayoTheme {
387382
LoginScreen()
388383
}
389384
}

presentation/src/main/java/daily/dayo/presentation/fragment/post/PostLikeUsersFragment.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ import androidx.compose.material3.CenterAlignedTopAppBar
2929
import androidx.compose.material3.ExperimentalMaterial3Api
3030
import androidx.compose.material3.Icon
3131
import androidx.compose.material3.IconButton
32-
import androidx.compose.material3.MaterialTheme
3332
import androidx.compose.material3.Scaffold
3433
import androidx.compose.material3.Surface
3534
import androidx.compose.material3.Text
@@ -63,19 +62,20 @@ import androidx.navigation.fragment.navArgs
6362
import androidx.paging.LoadState
6463
import androidx.paging.compose.LazyPagingItems
6564
import androidx.paging.compose.collectAsLazyPagingItems
65+
import com.skydoves.landscapist.ImageOptions
66+
import com.skydoves.landscapist.glide.GlideImage
67+
import dagger.hilt.android.AndroidEntryPoint
68+
import daily.dayo.domain.model.LikeUser
6669
import daily.dayo.presentation.BuildConfig
6770
import daily.dayo.presentation.R
6871
import daily.dayo.presentation.common.Event
6972
import daily.dayo.presentation.common.extension.clickableSingle
7073
import daily.dayo.presentation.common.extension.navigateSafe
7174
import daily.dayo.presentation.common.toSp
75+
import daily.dayo.presentation.theme.DayoTheme
76+
import daily.dayo.presentation.viewmodel.AccountViewModel
7277
import daily.dayo.presentation.viewmodel.FollowViewModel
7378
import daily.dayo.presentation.viewmodel.PostViewModel
74-
import com.skydoves.landscapist.ImageOptions
75-
import com.skydoves.landscapist.glide.GlideImage
76-
import dagger.hilt.android.AndroidEntryPoint
77-
import daily.dayo.domain.model.LikeUser
78-
import daily.dayo.presentation.viewmodel.AccountViewModel
7979

8080
@AndroidEntryPoint
8181
class PostLikeUsersFragment : Fragment() {
@@ -92,7 +92,7 @@ class PostLikeUsersFragment : Fragment() {
9292
return ComposeView(requireContext()).apply {
9393
setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
9494
setContent {
95-
MaterialTheme {
95+
DayoTheme {
9696
Scaffold(topBar = { SetPostLikeUsersActionbar() }) { contentPadding ->
9797
Box(modifier = Modifier.padding(contentPadding)) {
9898
SetPostLikeUsers()
@@ -156,7 +156,7 @@ class PostLikeUsersFragment : Fragment() {
156156
LazyColumn(
157157
modifier = Modifier
158158
.fillMaxSize()
159-
.background(color = colorResource(id = R.color.white_FFFFFF))
159+
.background(DayoTheme.colorScheme.background)
160160
) {
161161
items(likeUsers.itemCount) { index ->
162162
val item = likeUsers[index]
@@ -300,7 +300,7 @@ class PostLikeUsersFragment : Fragment() {
300300
@Composable
301301
@Preview
302302
private fun PreviewLikeUserLayout() {
303-
MaterialTheme {
303+
DayoTheme {
304304
LikeUserLayout(
305305
likeUser = LikeUser(
306306
false,
@@ -315,7 +315,7 @@ class PostLikeUsersFragment : Fragment() {
315315
@Composable
316316
@Preview
317317
private fun PreviewActionbarLayout() {
318-
MaterialTheme {
318+
DayoTheme {
319319
SetPostLikeUsersActionbar()
320320
}
321321
}

presentation/src/main/java/daily/dayo/presentation/screen/bookmark/BookmarkScreen.kt

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,13 @@ import androidx.compose.foundation.layout.Row
1111
import androidx.compose.foundation.layout.aspectRatio
1212
import androidx.compose.foundation.layout.fillMaxSize
1313
import androidx.compose.foundation.layout.fillMaxWidth
14+
import androidx.compose.foundation.layout.height
1415
import androidx.compose.foundation.layout.padding
1516
import androidx.compose.foundation.lazy.grid.GridCells
1617
import androidx.compose.foundation.lazy.grid.LazyVerticalGrid
1718
import androidx.compose.material.Text
1819
import androidx.compose.material3.Icon
1920
import androidx.compose.material3.IconButton
20-
import androidx.compose.material3.MaterialTheme
2121
import androidx.compose.material3.Scaffold
2222
import androidx.compose.runtime.Composable
2323
import androidx.compose.runtime.getValue
@@ -36,13 +36,10 @@ import daily.dayo.domain.model.BookmarkPost
3636
import daily.dayo.presentation.BuildConfig
3737
import daily.dayo.presentation.R
3838
import daily.dayo.presentation.common.extension.clickableSingle
39+
import daily.dayo.presentation.theme.DayoTheme
3940
import daily.dayo.presentation.theme.Gray1_50545B
4041
import daily.dayo.presentation.theme.Gray2_767B83
4142
import daily.dayo.presentation.theme.Primary_23C882
42-
import daily.dayo.presentation.theme.White_FFFFFF
43-
import daily.dayo.presentation.theme.b6
44-
import daily.dayo.presentation.theme.caption2
45-
import daily.dayo.presentation.theme.caption4
4643
import daily.dayo.presentation.view.DayoCheckbox
4744
import daily.dayo.presentation.view.FilledRoundedCornerButton
4845
import daily.dayo.presentation.view.RoundImageView
@@ -76,15 +73,16 @@ fun BookmarkScreen(
7673
label = stringResource(id = R.string.delete),
7774
enabled = bookmarkUiState.selectedBookmarks.isNotEmpty(),
7875
modifier = Modifier
79-
.fillMaxWidth()
8076
.padding(20.dp)
77+
.fillMaxWidth()
78+
.height(44.dp)
8179
)
8280
}
8381
}
8482
) { contentPadding ->
8583
Column(
8684
modifier = Modifier
87-
.background(color = White_FFFFFF)
85+
.background(DayoTheme.colorScheme.background)
8886
.fillMaxSize()
8987
.padding(contentPadding)
9088
) {
@@ -135,7 +133,7 @@ private fun BookmarkTopNavigation(
135133
onClick = onCancelClick
136134
),
137135
text = stringResource(id = R.string.cancel),
138-
style = MaterialTheme.typography.b6.copy(color = Gray1_50545B),
136+
style = DayoTheme.typography.b6.copy(color = Gray1_50545B),
139137
)
140138
}
141139
)
@@ -184,11 +182,11 @@ private fun BookmarkHeader(
184182
val dec = DecimalFormat("#,###")
185183
Text(
186184
text = " ${dec.format(bookmarkCount)} ",
187-
style = MaterialTheme.typography.caption2.copy(Primary_23C882),
185+
style = DayoTheme.typography.caption2.copy(Primary_23C882),
188186
)
189187
Text(
190188
text = stringResource(id = R.string.bookmark_count),
191-
style = MaterialTheme.typography.caption2.copy(Gray2_767B83)
189+
style = DayoTheme.typography.caption2.copy(Gray2_767B83)
192190
)
193191
}
194192

@@ -200,7 +198,7 @@ private fun BookmarkHeader(
200198
Text(
201199
modifier = Modifier.padding(vertical = 8.dp, horizontal = 12.dp),
202200
text = stringResource(id = R.string.bookmark_selected_count, selectedCount),
203-
style = MaterialTheme.typography.caption4.copy(color = Gray2_767B83),
201+
style = DayoTheme.typography.caption4.copy(color = Gray2_767B83),
204202
)
205203
} else {
206204
Text(
@@ -212,7 +210,7 @@ private fun BookmarkHeader(
212210
onClick = onEditClick
213211
),
214212
text = stringResource(id = R.string.bookmark_edit),
215-
style = MaterialTheme.typography.caption4.copy(color = Gray2_767B83),
213+
style = DayoTheme.typography.caption4.copy(color = Gray2_767B83),
216214
)
217215
}
218216
}

presentation/src/main/java/daily/dayo/presentation/screen/feed/FeedScreen.kt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import androidx.compose.material.ModalBottomSheetState
1616
import androidx.compose.material.pullrefresh.PullRefreshIndicator
1717
import androidx.compose.material.pullrefresh.pullRefresh
1818
import androidx.compose.material.pullrefresh.rememberPullRefreshState
19-
import androidx.compose.material3.MaterialTheme
2019
import androidx.compose.material3.Scaffold
2120
import androidx.compose.material3.SnackbarHostState
2221
import androidx.compose.material3.Text
@@ -40,11 +39,9 @@ import androidx.paging.compose.itemKey
4039
import daily.dayo.presentation.R
4140
import daily.dayo.presentation.screen.home.CategoryMenu
4241
import daily.dayo.presentation.theme.Dark
42+
import daily.dayo.presentation.theme.DayoTheme
4343
import daily.dayo.presentation.theme.Gray3_9FA5AE
4444
import daily.dayo.presentation.theme.Gray4_C5CAD2
45-
import daily.dayo.presentation.theme.b3
46-
import daily.dayo.presentation.theme.caption1
47-
import daily.dayo.presentation.theme.h1
4845
import daily.dayo.presentation.view.CategoryHorizontalGroup
4946
import daily.dayo.presentation.view.FeedPostView
5047
import daily.dayo.presentation.view.FilledButton
@@ -86,7 +83,7 @@ fun FeedScreen(
8683
Text(
8784
text = stringResource(id = R.string.feed),
8885
modifier = Modifier.padding(start = 18.dp),
89-
style = MaterialTheme.typography.h1.copy(
86+
style = DayoTheme.typography.h1.copy(
9087
color = Dark
9188
)
9289
)
@@ -177,9 +174,9 @@ private fun FeedEmptyView(onEmptyViewClick: () -> Unit) {
177174
Image(imageVector = ImageVector.vectorResource(id = R.drawable.ic_feed_empty), contentDescription = null)
178175
Spacer(modifier = Modifier.height(20.dp))
179176

180-
Text(text = stringResource(id = R.string.feed_empty_title), style = MaterialTheme.typography.b3.copy(Gray3_9FA5AE))
177+
Text(text = stringResource(id = R.string.feed_empty_title), style = DayoTheme.typography.b3.copy(Gray3_9FA5AE))
181178
Spacer(modifier = Modifier.height(2.dp))
182-
Text(text = stringResource(id = R.string.feed_empty_description), style = MaterialTheme.typography.caption1.copy(Gray4_C5CAD2))
179+
Text(text = stringResource(id = R.string.feed_empty_description), style = DayoTheme.typography.caption1.copy(Gray4_C5CAD2))
183180

184181
Spacer(modifier = Modifier.height(36.dp))
185182
FilledButton(onClick = onEmptyViewClick, label = stringResource(id = R.string.feed_empty_button))

presentation/src/main/java/daily/dayo/presentation/screen/home/HomeDayoPickScreen.kt

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ import androidx.compose.material.pullrefresh.pullRefresh
2727
import androidx.compose.material.pullrefresh.rememberPullRefreshState
2828
import androidx.compose.material3.Button
2929
import androidx.compose.material3.Icon
30-
import androidx.compose.material3.MaterialTheme
3130
import androidx.compose.material3.Text
3231
import androidx.compose.runtime.Composable
3332
import androidx.compose.runtime.getValue
@@ -46,14 +45,12 @@ import androidx.hilt.navigation.compose.hiltViewModel
4645
import androidx.lifecycle.compose.collectAsStateWithLifecycle
4746
import daily.dayo.presentation.R
4847
import daily.dayo.presentation.common.Status
48+
import daily.dayo.presentation.theme.DayoTheme
4949
import daily.dayo.presentation.theme.Gray2_767B83
5050
import daily.dayo.presentation.theme.Gray3_9FA5AE
5151
import daily.dayo.presentation.theme.Gray4_C5CAD2
5252
import daily.dayo.presentation.theme.Gray6_F0F1F3
5353
import daily.dayo.presentation.theme.White_FFFFFF
54-
import daily.dayo.presentation.theme.b3
55-
import daily.dayo.presentation.theme.caption1
56-
import daily.dayo.presentation.theme.caption3
5754
import daily.dayo.presentation.view.EmojiView
5855
import daily.dayo.presentation.view.FilledButton
5956
import daily.dayo.presentation.view.HomePostView
@@ -99,13 +96,13 @@ fun HomeDayoPickScreen(
9996
Row {
10097
EmojiView(
10198
emoji = "\uD83D\uDCA1",
102-
emojiSize = MaterialTheme.typography.bodyMedium.fontSize,
99+
emojiSize = DayoTheme.typography.b6.fontSize,
103100
modifier = Modifier.align(Alignment.CenterVertically)
104101
)
105102

106103
Text(
107104
text = stringResource(id = R.string.home_dayopick_description),
108-
style = MaterialTheme.typography.bodyMedium.copy(Color(0xFF73777C)),
105+
style = DayoTheme.typography.b6.copy(Color(0xFF73777C)),
109106
modifier = Modifier
110107
.padding(horizontal = 4.dp)
111108
.align(Alignment.CenterVertically)
@@ -174,9 +171,9 @@ private fun HomeDayoPickEmptyView() {
174171
Image(imageVector = ImageVector.vectorResource(id = R.drawable.ic_home_empty), contentDescription = null)
175172
Spacer(modifier = Modifier.height(20.dp))
176173

177-
Text(text = stringResource(id = R.string.home_dayopick_empty_title), style = MaterialTheme.typography.b3.copy(Gray3_9FA5AE))
174+
Text(text = stringResource(id = R.string.home_dayopick_empty_title), style = DayoTheme.typography.b3.copy(Gray3_9FA5AE))
178175
Spacer(modifier = Modifier.height(2.dp))
179-
Text(text = stringResource(id = R.string.home_dayopick_empty_detail), style = MaterialTheme.typography.caption1.copy(Gray4_C5CAD2))
176+
Text(text = stringResource(id = R.string.home_dayopick_empty_detail), style = DayoTheme.typography.caption1.copy(Gray4_C5CAD2))
180177

181178
Spacer(modifier = Modifier.height(28.dp))
182179
FilledButton(onClick = { /*TODO*/ }, label = stringResource(id = R.string.home_dayopick_empty_action))
@@ -198,7 +195,7 @@ fun CategoryButton(
198195
modifier = Modifier
199196
.border(1.dp, Gray6_F0F1F3, shape = RoundedCornerShape(8.dp))
200197
) {
201-
Text(text = selectedCategory, style = MaterialTheme.typography.caption3)
198+
Text(text = selectedCategory, style = DayoTheme.typography.caption3)
202199
Spacer(modifier = Modifier.width(8.dp))
203200
Icon(Icons.Filled.ArrowDropDown, "category menu")
204201
}

0 commit comments

Comments
 (0)