Skip to content

Commit ede4275

Browse files
committed
Merge remote-tracking branch 'origin/develop' into fix/#330-calendar_touch_area
2 parents 02f1a2f + 86e087f commit ede4275

24 files changed

Lines changed: 190 additions & 149 deletions

File tree

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
package com.terning.core.designsystem.util
22

3+
import com.terning.core.designsystem.extension.currentMonth
4+
import com.terning.core.designsystem.extension.currentYear
5+
import java.util.Calendar
6+
37
object CalendarDefaults {
48
const val START_YEAR = 2010
5-
const val END_YEAR = 2030
9+
val END_YEAR =
10+
if (Calendar.getInstance().currentMonth >= 10) Calendar.getInstance().currentYear + 1
11+
else Calendar.getInstance().currentYear
612
const val START_MONTH = 1
713
const val END_MONTH = 12
814
}

data/search/src/main/java/com/terning/data/search/datasource/SearchDataSource.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ package com.terning.data.search.datasource
33
import com.terning.core.network.BaseResponse
44
import com.terning.data.search.dto.request.SearchRequestDto
55
import com.terning.data.search.dto.response.SearchAnnouncementResponseDto
6+
import com.terning.data.search.dto.response.SearchBannersResponseDto
67
import com.terning.data.search.dto.response.SearchResultResponseDto
78

89
interface SearchDataSource {
910
suspend fun getSearch(request: SearchRequestDto): BaseResponse<SearchResultResponseDto>
1011
suspend fun getSearchViews(): BaseResponse<SearchAnnouncementResponseDto>
1112
suspend fun getSearchScraps(): BaseResponse<SearchAnnouncementResponseDto>
13+
suspend fun getSearchBanners(): BaseResponse<SearchBannersResponseDto>
1214
}

data/search/src/main/java/com/terning/data/search/datasourceimpl/SearchDataSourceImpl.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import com.terning.core.network.BaseResponse
44
import com.terning.data.search.datasource.SearchDataSource
55
import com.terning.data.search.dto.request.SearchRequestDto
66
import com.terning.data.search.dto.response.SearchAnnouncementResponseDto
7+
import com.terning.data.search.dto.response.SearchBannersResponseDto
78
import com.terning.data.search.dto.response.SearchResultResponseDto
89
import com.terning.data.search.service.SearchService
910
import javax.inject.Inject
@@ -26,4 +27,7 @@ class SearchDataSourceImpl @Inject constructor(
2627

2728
override suspend fun getSearchScraps(): BaseResponse<SearchAnnouncementResponseDto> =
2829
searchService.getSearchScrapsList()
30+
31+
override suspend fun getSearchBanners(): BaseResponse<SearchBannersResponseDto> =
32+
searchService.getSearchBannerList()
2933
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.terning.data.search.dto.response
2+
3+
import kotlinx.serialization.SerialName
4+
import kotlinx.serialization.Serializable
5+
6+
@Serializable
7+
data class SearchBannersResponseDto(
8+
@SerialName("banners")
9+
val banners: List<BannerDto>,
10+
) {
11+
@Serializable
12+
data class BannerDto(
13+
@SerialName("imageUrl")
14+
val imageUrl: String,
15+
@SerialName("link")
16+
val link: String,
17+
)
18+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.terning.data.search.mapper
2+
3+
import com.terning.data.search.dto.response.SearchBannersResponseDto
4+
import com.terning.domain.search.entity.SearchBanner
5+
6+
fun SearchBannersResponseDto.toSearchBannerList(): List<SearchBanner> {
7+
return banners.map {
8+
SearchBanner(
9+
imageUrl = it.imageUrl,
10+
url = it.link,
11+
)
12+
}
13+
}

data/search/src/main/java/com/terning/data/search/repositoryimpl/SearchRepositoryImpl.kt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ package com.terning.data.search.repositoryimpl
22

33
import com.terning.data.search.datasource.SearchDataSource
44
import com.terning.data.search.dto.request.SearchRequestDto
5+
import com.terning.data.search.mapper.toSearchBannerList
56
import com.terning.data.search.mapper.toSearchPopularAnnouncementList
67
import com.terning.data.search.mapper.toSearchResultList
8+
import com.terning.domain.search.entity.SearchBanner
79
import com.terning.domain.search.entity.SearchPopularAnnouncement
810
import com.terning.domain.search.entity.SearchResult
911
import com.terning.domain.search.repository.SearchRepository
@@ -39,4 +41,9 @@ class SearchRepositoryImpl @Inject constructor(
3941
runCatching {
4042
searchDataSource.getSearchScraps().result.toSearchPopularAnnouncementList()
4143
}
44+
45+
override suspend fun getSearchBannersList(): Result<List<SearchBanner>> =
46+
kotlin.runCatching {
47+
searchDataSource.getSearchBanners().result.toSearchBannerList()
48+
}
4249
}

data/search/src/main/java/com/terning/data/search/service/SearchService.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.terning.data.search.service
22

33
import com.terning.core.network.BaseResponse
44
import com.terning.data.search.dto.response.SearchAnnouncementResponseDto
5+
import com.terning.data.search.dto.response.SearchBannersResponseDto
56
import com.terning.data.search.dto.response.SearchResultResponseDto
67
import retrofit2.http.GET
78
import retrofit2.http.Query
@@ -20,4 +21,7 @@ interface SearchService {
2021

2122
@GET("api/v1/search/scraps")
2223
suspend fun getSearchScrapsList(): BaseResponse<SearchAnnouncementResponseDto>
24+
25+
@GET("api/v1/search/banners")
26+
suspend fun getSearchBannerList(): BaseResponse<SearchBannersResponseDto>
2327
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.terning.domain.search.entity
22

33
data class SearchBanner(
4-
val imageRes: Int,
5-
val url: String
4+
val imageUrl: String,
5+
val url: String,
66
)

domain/search/src/main/java/com/terning/domain/search/repository/SearchRepository.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.terning.domain.search.repository
22

3+
import com.terning.domain.search.entity.SearchBanner
34
import com.terning.domain.search.entity.SearchPopularAnnouncement
45
import com.terning.domain.search.entity.SearchResult
56

@@ -10,6 +11,8 @@ interface SearchRepository {
1011
page: Int,
1112
size: Int,
1213
): Result<List<SearchResult>>
14+
1315
suspend fun getSearchViewsList(): Result<List<SearchPopularAnnouncement>>
1416
suspend fun getSearchScrapsList(): Result<List<SearchPopularAnnouncement>>
17+
suspend fun getSearchBannersList(): Result<List<SearchBanner>>
1518
}

feature/filtering/src/main/java/com/terning/feature/filtering/startfiltering/StartFilteringRoute.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ fun StartFilteringScreen(
106106
onStartClick = onStartClick,
107107
onLaterClick = onLaterClick
108108
)
109-
Spacer(modifier = Modifier.height((24 * screenHeight).dp))
109+
Spacer(modifier = Modifier.height((16 * screenHeight).dp))
110110
}
111111
}
112112

@@ -133,7 +133,7 @@ private fun ButtonAnimation(
133133
cornerRadius = 10.dp,
134134
modifier = Modifier.padding(horizontal = 24.dp)
135135
)
136-
Spacer(modifier = Modifier.height(12.dp))
136+
Spacer(modifier = Modifier.height(20.dp))
137137
Text(
138138
text = stringResource(R.string.start_filtering_later),
139139
style = TerningTheme.typography.detail3.copy(

0 commit comments

Comments
 (0)