Skip to content

Commit 9a1dd08

Browse files
committed
[NDGL-122] feat: 홈 화면 추천 여행 섹션 타이틀에 닉네임 추가
1 parent 7a5ccd2 commit 9a1dd08

3 files changed

Lines changed: 26 additions & 0 deletions

File tree

data/auth/src/main/java/com/yapp/ndgl/data/auth/local/LocalAuthDataSource.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,28 @@ class LocalAuthDataSource @Inject constructor(
4545
}
4646
}
4747

48+
suspend fun getNickname(): String = dataStore.data
49+
.handleException()
50+
.map { preferences -> preferences[NICKNAME_KEY] ?: "" }
51+
.first()
52+
53+
suspend fun setNickname(nickname: String) {
54+
dataStore.edit { preferences ->
55+
preferences[NICKNAME_KEY] = nickname
56+
}
57+
}
58+
4859
suspend fun clearSession() {
4960
dataStore.edit { preferences ->
5061
preferences.remove(ACCESS_TOKEN_KEY)
5162
preferences.remove(UUID_KEY)
63+
preferences.remove(NICKNAME_KEY)
5264
}
5365
}
5466

5567
private companion object {
5668
private val ACCESS_TOKEN_KEY = stringPreferencesKey("access_token")
5769
private val UUID_KEY = stringPreferencesKey("uuid")
70+
private val NICKNAME_KEY = stringPreferencesKey("nickname")
5871
}
5972
}

data/auth/src/main/java/com/yapp/ndgl/data/auth/repository/AuthRepository.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ class AuthRepository @Inject constructor(
3939

4040
localAuthDataSource.setAccessToken(response.accessToken)
4141
localAuthDataSource.setUuid(response.uuid)
42+
localAuthDataSource.setNickname(response.nickname)
4243
return isFirstUser
4344
}
4445

@@ -66,5 +67,7 @@ class AuthRepository @Inject constructor(
6667
}
6768
}
6869

70+
suspend fun getNickname(): String = localAuthDataSource.getNickname()
71+
6972
suspend fun getIdentifierCode(): String = localAuthDataSource.getUuid()
7073
}

feature/home/src/main/java/com/yapp/ndgl/feature/home/main/HomeViewModel.kt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.yapp.ndgl.feature.home.main
33
import androidx.lifecycle.viewModelScope
44
import com.yapp.ndgl.core.base.BaseViewModel
55
import com.yapp.ndgl.core.util.suspendRunCatching
6+
import com.yapp.ndgl.data.auth.repository.AuthRepository
67
import com.yapp.ndgl.data.travel.model.TravelProgram
78
import com.yapp.ndgl.data.travel.model.TravelTemplateSummary
89
import com.yapp.ndgl.data.travel.repository.TravelProgramRepository
@@ -21,17 +22,26 @@ import javax.inject.Inject
2122

2223
@HiltViewModel
2324
class HomeViewModel @Inject constructor(
25+
private val authRepository: AuthRepository,
2426
private val travelProgramRepository: TravelProgramRepository,
2527
private val travelTemplateRepository: TravelTemplateRepository,
2628
private val userTravelRepository: UserTravelRepository,
2729
) : BaseViewModel<HomeState, HomeIntent, HomeSideEffect>(
2830
initialState = HomeState(),
2931
) {
3032
init {
33+
loadUserName()
3134
loadHomeContents()
3235
subscribeToTravelCreatedEvent()
3336
}
3437

38+
private fun loadUserName() {
39+
viewModelScope.launch {
40+
val nickname = authRepository.getNickname()
41+
reduce { copy(userName = nickname) }
42+
}
43+
}
44+
3545
private fun loadHomeContents() {
3646
loadMyTravel()
3747
loadPopularTemplates()

0 commit comments

Comments
 (0)