diff --git a/README.md b/README.md index 8a05b2098..dff4a2250 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,10 @@
+## DOWNLOAD + + + ## CONTRIBUTORS | ๐Ÿ‘‘์ด์œ ๋นˆ
([@leeeyubin](https://github.com/leeeyubin)) | ์ด์„์ค€
([@boiledEgg-s](https://github.com/boiledEgg-s)) | ๊น€์•„๋ฆฐ
([@arinming](https://github.com/arinming)) | ๋ฐ•ํšจ๋นˆ
([@Hyobeen-Park](https://github.com/Hyobeen-Park)) | |:---------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------:| @@ -28,7 +32,12 @@
+## DEPENDENCY GRAPH + + + ## MODULE & PACKAGE CONVENTION + ``` ๐Ÿ—ƒ๏ธapp @@ -41,6 +50,7 @@ โ”ฃ ๐Ÿ“‚extension โ”ฃ ๐Ÿ“‚navigation โ”ฃ ๐Ÿ“‚state + โ”ฃ ๐Ÿ“‚type โ”— ๐Ÿ“‚util ๐Ÿ—ƒ๏ธdata @@ -50,19 +60,19 @@ โ”ƒ โ”ฃ ๐Ÿ“‚response โ”ƒ โ”ฃ ๐Ÿ“‚request โ”ฃ ๐Ÿ“‚local + โ”ฃ ๐Ÿ“‚mapper โ”ฃ ๐Ÿ“‚repositoryImpl โ”— ๐Ÿ“‚service ๐Ÿ—ƒ๏ธdomain โ”ฃ ๐Ÿ“‚entity - โ”ƒ โ”ฃ ๐Ÿ“‚response - โ”ƒ โ”ฃ ๐Ÿ“‚request โ”— ๐Ÿ“‚repository ๐Ÿ—ƒ๏ธfeature โ”— ๐Ÿ“‚๊ธฐ๋Šฅ ๋ณ„ ํŒจํ‚ค์ง• ``` +
## TECH STACK @@ -78,6 +88,22 @@ | Other Tools | Discode, Notion, Figma |\
+## SCREENSHOTS +| ๋ทฐ | 1 | 2 | 3 | +|:-------------:|:---------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------:| +| ์˜จ๋ณด๋”ฉ
ํ•„ํ„ฐ๋ง ์„ค์ • | | | | | | +| ํ™ˆ
ํ•„ํ„ฐ๋ง ์žฌ์„ค์ • | | | | +| ์บ˜๋ฆฐ๋” ์›”๊ฐ„
์บ˜๋ฆฐ๋” ์ฃผ๊ฐ„ | | | | +| ํƒ์ƒ‰
๊ณต๊ณ  ์ƒ์„ธ ํŽ˜์ด์ง€ | | | | +| ๋งˆ์ดํŽ˜์ด์ง€
ํ”„๋กœํ•„ ์ˆ˜์ • | | | | + +
+ + +## DESIGN SYSTEM +๐Ÿ”— [TERNING DESIGN SYSTEM](https://teamterning.github.io/Terning-Android/index.html) + + ## KANBAN BOARD ๐Ÿ”— [TERNING PROJECT](https://github.com/orgs/teamterning/projects/1) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 77a3af4d2..d3be9d435 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -10,7 +10,7 @@ android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" - android:icon="@mipmap/ic_terning_launcher_foreground" + android:icon="@mipmap/ic_terning_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_terning_launcher_round" android:supportsRtl="true" diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml index 0d70c933c..4204e68af 100644 --- a/core/src/main/res/values/strings.xml +++ b/core/src/main/res/values/strings.xml @@ -64,9 +64,9 @@ 12์ž๋ฆฌ ์ด๋‚ด, ๋ฌธ์ž/์ˆซ์ž ๊ฐ€๋Šฅ, ํŠน์ˆ˜๋ฌธ์ž/๊ธฐํ˜ธ ์ž…๋ ฅ๋ถˆ๊ฐ€ - ์ด๋ฆ„์— ํŠน์ˆ˜๋ฌธ์ž๋Š” ์ž…๋ ฅํ•  ์ˆ˜ ์—†์–ด์š” - ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ด๋ฆ„์ด์—์š” - ์ด๋ฆ„์€ 12์ž๋ฆฌ ์ด๋‚ด๋กœ ์„ค์ •ํ•ด ์ฃผ์„ธ์š” + ๋‹‰๋„ค์ž„์— ํŠน์ˆ˜๋ฌธ์ž๋Š” ์ž…๋ ฅํ•  ์ˆ˜ ์—†์–ด์š” + ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋‹‰๋„ค์ž„์ด์—์š” + ๋‹‰๋„ค์ž„์€ 12์ž๋ฆฌ ์ด๋‚ด๋กœ ์„ค์ •ํ•ด ์ฃผ์„ธ์š” ํ•„ํ„ฐ๋ง ์žฌ์„ค์ • diff --git a/feature/src/main/java/com/terning/feature/calendar/calendar/component/CalendarDay.kt b/feature/src/main/java/com/terning/feature/calendar/calendar/component/CalendarDay.kt index 97af11389..297e42fa8 100644 --- a/feature/src/main/java/com/terning/feature/calendar/calendar/component/CalendarDay.kt +++ b/feature/src/main/java/com/terning/feature/calendar/calendar/component/CalendarDay.kt @@ -32,16 +32,19 @@ fun CalendarDay( onDateSelected: (LocalDate) -> Unit = {} ) { val backgroundColor = - if (isSelected) TerningMain else if (isToday) Grey200 else Color.Transparent + if (isSelected) + TerningMain + else if (isToday) Grey150 + else Color.Transparent + val textColor = - if (dayData.isOutDate) { - Grey150 - } else { - if (isSelected) - White - else - Black - } + if (dayData.isOutDate) + Grey200 + else if (isSelected) + White + else + Black + Box( modifier = modifier, diff --git a/feature/src/main/java/com/terning/feature/dialog/detail/ScrapDialog.kt b/feature/src/main/java/com/terning/feature/dialog/detail/ScrapDialog.kt index fbca9cf37..5ae677c64 100644 --- a/feature/src/main/java/com/terning/feature/dialog/detail/ScrapDialog.kt +++ b/feature/src/main/java/com/terning/feature/dialog/detail/ScrapDialog.kt @@ -89,6 +89,7 @@ fun ScrapDialog( is ScrapDialogSideEffect.PatchedScrap -> { onClickChangeColor() onDismissRequest(false) + context.toast(R.string.dialog_content_calendar_color_change_complete) } is ScrapDialogSideEffect.NavigateToDetail -> onClickNavigateButton( diff --git a/feature/src/main/java/com/terning/feature/intern/component/InternCompanyInfo.kt b/feature/src/main/java/com/terning/feature/intern/component/InternCompanyInfo.kt index 39d31b248..7d0f12731 100644 --- a/feature/src/main/java/com/terning/feature/intern/component/InternCompanyInfo.kt +++ b/feature/src/main/java/com/terning/feature/intern/component/InternCompanyInfo.kt @@ -61,7 +61,6 @@ fun InternCompanyInfo( contentScale = ContentScale.Fit, modifier = Modifier .fillMaxWidth() - .clip(CircleShape), ) } Column( diff --git a/feature/src/main/java/com/terning/feature/intern/component/InternTitle.kt b/feature/src/main/java/com/terning/feature/intern/component/InternTitle.kt index 9fa882d66..0108baf23 100644 --- a/feature/src/main/java/com/terning/feature/intern/component/InternTitle.kt +++ b/feature/src/main/java/com/terning/feature/intern/component/InternTitle.kt @@ -17,6 +17,8 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import com.terning.core.designsystem.component.image.TerningImage import com.terning.core.designsystem.theme.Black +import com.terning.core.designsystem.theme.Grey100 +import com.terning.core.designsystem.theme.Grey300 import com.terning.core.designsystem.theme.Grey375 import com.terning.core.designsystem.theme.TerningMain import com.terning.core.designsystem.theme.TerningSub3 @@ -38,7 +40,11 @@ fun InternTitle( Row( modifier = Modifier .background( - color = TerningSub3, + color = if (dDay != "์ง€์›๋งˆ๊ฐ") { + TerningSub3 + } else { + Grey100 + }, shape = RoundedCornerShape(size = 5.dp) ) .width(70.dp) @@ -49,7 +55,11 @@ fun InternTitle( Text( text = dDay, style = TerningTheme.typography.title3, - color = TerningMain, + color = if (dDay != "์ง€์›๋งˆ๊ฐ") { + TerningMain + } else { + Grey300 + } ) } diff --git a/feature/src/main/java/com/terning/feature/mypage/mypage/component/MyPageItem.kt b/feature/src/main/java/com/terning/feature/mypage/mypage/component/MyPageItem.kt index ff272a144..6867459f0 100644 --- a/feature/src/main/java/com/terning/feature/mypage/mypage/component/MyPageItem.kt +++ b/feature/src/main/java/com/terning/feature/mypage/mypage/component/MyPageItem.kt @@ -1,5 +1,6 @@ package com.terning.feature.mypage.mypage.component +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth @@ -9,6 +10,7 @@ import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.res.painterResource import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import com.terning.core.designsystem.component.image.TerningImage @@ -38,8 +40,9 @@ fun MyPageItem( Row( verticalAlignment = Alignment.CenterVertically ) { - TerningImage( - painter = icon, + Image( + painter = painterResource(id = icon), + contentDescription = "my page image", modifier = modifier.size(28.dp) ) Text( @@ -51,7 +54,7 @@ fun MyPageItem( if (version.isNotEmpty()) Text( text = version, - modifier = modifier.padding(end = 16.dp), + modifier = modifier.padding(end = 7.dp), style = TerningTheme.typography.button4, color = Grey350 ) diff --git a/feature/src/main/java/com/terning/feature/search/search/component/ImageSlider.kt b/feature/src/main/java/com/terning/feature/search/search/component/ImageSlider.kt index dac7391db..cd08de88e 100644 --- a/feature/src/main/java/com/terning/feature/search/search/component/ImageSlider.kt +++ b/feature/src/main/java/com/terning/feature/search/search/component/ImageSlider.kt @@ -27,18 +27,16 @@ fun ImageSlider( images: List, onAdvertisementClick: () -> Unit, ) { - val infiniteImages = remember { images + images + images } val pagerState = rememberPagerState( - initialPage = images.size, - initialPageOffsetFraction = 0f, - pageCount = { infiniteImages.size } + initialPage = 0, + pageCount = { Int.MAX_VALUE } ) val autoScroll = remember { mutableStateOf(true) } LaunchedEffect(autoScroll.value) { if (autoScroll.value) { while (true) { - delay(2000) + delay(3000) if (!pagerState.isScrollInProgress) { val nextPage = pagerState.currentPage + 1 pagerState.animateScrollToPage(nextPage) @@ -47,14 +45,6 @@ fun ImageSlider( } } - LaunchedEffect(pagerState.currentPage) { - if (pagerState.currentPage < images.size) { - pagerState.scrollToPage(pagerState.currentPage + images.size) - } else if (pagerState.currentPage >= 2 * images.size) { - pagerState.scrollToPage(pagerState.currentPage - images.size) - } - } - Column( modifier .fillMaxWidth() @@ -68,10 +58,11 @@ fun ImageSlider( HorizontalPager( state = pagerState, modifier = modifier, - beyondViewportPageCount = infiniteImages.size + beyondViewportPageCount = 1 ) { currentPage -> + val pageIndex = currentPage % images.size Image( - painter = painterResource(id = infiniteImages[currentPage % images.size]), + painter = painterResource(id = images[pageIndex]), contentDescription = null, modifier = modifier .fillMaxWidth() diff --git a/feature/src/main/java/com/terning/feature/search/searchprocess/SearchProcessRoute.kt b/feature/src/main/java/com/terning/feature/search/searchprocess/SearchProcessRoute.kt index 8ccadf8d5..c78994e39 100644 --- a/feature/src/main/java/com/terning/feature/search/searchprocess/SearchProcessRoute.kt +++ b/feature/src/main/java/com/terning/feature/search/searchprocess/SearchProcessRoute.kt @@ -254,7 +254,7 @@ fun SearchProcessScreen( } } - if (state.existSearchResults) { + if (internSearchResultData.isNotEmpty()) { LazyColumn( contentPadding = PaddingValues( top = 12.dp, @@ -319,6 +319,7 @@ fun SearchProcessScreen( color = Grey400, ) } + } } } diff --git a/feature/src/main/res/mipmap-hdpi/ic_terning_launcher.webp b/feature/src/main/res/mipmap-hdpi/ic_terning_launcher.webp index 1084fbe5f..d25fb5e4f 100644 Binary files a/feature/src/main/res/mipmap-hdpi/ic_terning_launcher.webp and b/feature/src/main/res/mipmap-hdpi/ic_terning_launcher.webp differ diff --git a/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_foreground.webp b/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_foreground.webp index bce3ea6a7..7ea3ea9c8 100644 Binary files a/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_foreground.webp and b/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_foreground.webp differ diff --git a/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_round.webp b/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_round.webp index 2855c27fe..78dcb435d 100644 Binary files a/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_round.webp and b/feature/src/main/res/mipmap-hdpi/ic_terning_launcher_round.webp differ diff --git a/feature/src/main/res/mipmap-mdpi/ic_terning_launcher.webp b/feature/src/main/res/mipmap-mdpi/ic_terning_launcher.webp index 54dedea0d..98d4dac64 100644 Binary files a/feature/src/main/res/mipmap-mdpi/ic_terning_launcher.webp and b/feature/src/main/res/mipmap-mdpi/ic_terning_launcher.webp differ diff --git a/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_foreground.webp b/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_foreground.webp index 4dbd01628..3b8a25353 100644 Binary files a/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_foreground.webp and b/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_foreground.webp differ diff --git a/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_round.webp b/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_round.webp index 9a5b6253c..8b24ed168 100644 Binary files a/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_round.webp and b/feature/src/main/res/mipmap-mdpi/ic_terning_launcher_round.webp differ diff --git a/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher.webp b/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher.webp index afc4e4ef3..92e791122 100644 Binary files a/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher.webp and b/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher.webp differ diff --git a/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_foreground.webp b/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_foreground.webp index 5d207b314..269a4f060 100644 Binary files a/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_foreground.webp and b/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_foreground.webp differ diff --git a/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_round.webp b/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_round.webp index 60c8592bd..7e72542f1 100644 Binary files a/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_round.webp and b/feature/src/main/res/mipmap-xhdpi/ic_terning_launcher_round.webp differ diff --git a/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher.webp b/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher.webp index 4737be0f5..082e008df 100644 Binary files a/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher.webp and b/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher.webp differ diff --git a/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_foreground.webp b/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_foreground.webp index f16dcc60b..85e61f3ba 100644 Binary files a/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_foreground.webp and b/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_foreground.webp differ diff --git a/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_round.webp b/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_round.webp index c4075cf9b..172498a96 100644 Binary files a/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_round.webp and b/feature/src/main/res/mipmap-xxhdpi/ic_terning_launcher_round.webp differ diff --git a/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher.webp b/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher.webp index 4a7cc147e..2960f176f 100644 Binary files a/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher.webp and b/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher.webp differ diff --git a/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_foreground.webp b/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_foreground.webp index f4c2c104d..58ba405c9 100644 Binary files a/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_foreground.webp and b/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_foreground.webp differ diff --git a/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_round.webp b/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_round.webp index 50484097e..58fe9aff8 100644 Binary files a/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_round.webp and b/feature/src/main/res/mipmap-xxxhdpi/ic_terning_launcher_round.webp differ diff --git a/feature/src/main/res/values/strings.xml b/feature/src/main/res/values/strings.xml index 61a377abc..7df248a3e 100644 --- a/feature/src/main/res/values/strings.xml +++ b/feature/src/main/res/values/strings.xml @@ -17,11 +17,11 @@ ๋กœ๊ทธ์ธ์„ ์ทจ์†Œํ•˜์˜€์Šต๋‹ˆ๋‹ค - ๋ฐ˜๊ฐ€์›Œ์š”!\n์ด๋ฆ„์„ ์•Œ๋ ค์ฃผ์„ธ์š” + ๋ฐ˜๊ฐ€์›Œ์š”!\n๋‹‰๋„ค์ž„์„ ์•Œ๋ ค์ฃผ์„ธ์š” ํ”„๋กœํ•„ ์ด๋ฏธ์ง€ ํ”„๋กœํ•„ ๋ฒ„ํŠผ - ์ด๋ฆ„ - ์ด๋ฆ„์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” + ๋‹‰๋„ค์ž„ + ๋‹‰๋„ค์ž„์„ ์ž…๋ ฅํ•ด ์ฃผ์„ธ์š” ๋‹ค์Œ์œผ๋กœ @@ -60,7 +60,7 @@ ๊ณต๊ณ ๋ฅผ ์บ˜๋ฆฐ๋”์— ์Šคํฌ๋žฉํ•˜์‹œ๊ฒ ์–ด์š”? ์Šคํฌ๋žฉ ์ƒ‰์ƒ ์ƒ‰์ƒ ๋ณ€๊ฒฝํ•˜๊ธฐ - ์ƒ‰์ƒ ๋ณ€๊ฒฝ์™„๋ฃŒ + ์Šคํฌ๋žฉ ์ƒ‰์ƒ์ด ๋ณ€๊ฒฝ๋˜์—ˆ์–ด์š”! ๋‚ด ์บ˜๋ฆฐ๋”์— ์Šคํฌ๋žฉํ•˜๊ธฐ ๊ด€์‹ฌ ๊ณต๊ณ ๊ฐ€ ์บ˜๋ฆฐ๋”์—์„œ ์‚ฌ๋ผ์ ธ์š”! ์Šคํฌ๋žฉ์„ ์ทจ์†Œํ•˜์‹œ๊ฒ ์–ด์š”? diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 2794f6091..cdd2ba70e 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,13 +2,13 @@ compileSdk = "34" minSdk = "28" targetSdk = "34" -versionName = "1.1.0" -versionCode = "10100" +versionName = "1.1.2" +versionCode = "10102" kotlinCompilerExtensionVersion = "1.5.0" jvmTarget = "1.8" ## Android gradle plugin -androidGradlePlugin = "8.6.0" +androidGradlePlugin = "8.5.0" androidDesugarJdkLibs = "2.0.4" ## AndroidX