diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkEvent.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkEvent.kt index c2686cabd..ed3113735 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkEvent.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkEvent.kt @@ -2,4 +2,5 @@ package com.festago.festago.presentation.ui.home.bookmarklist.artistbookmark sealed interface ArtistBookmarkEvent { class ShowArtistDetail(val artist: ArtistBookmarkUiState) : ArtistBookmarkEvent + object ShowSignIn : ArtistBookmarkEvent } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkFragment.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkFragment.kt index 0405a6582..d1e2033e3 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkFragment.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkFragment.kt @@ -10,6 +10,7 @@ import androidx.navigation.fragment.findNavController import com.festago.festago.presentation.databinding.FragmentArtistBookmarkBinding import com.festago.festago.presentation.ui.artistdetail.ArtistDetailArgs import com.festago.festago.presentation.ui.home.bookmarklist.BookmarkListFragmentDirections +import com.festago.festago.presentation.ui.signin.SignInActivity import com.festago.festago.presentation.util.repeatOnStarted import com.festago.festago.presentation.util.safeNavigate import dagger.hilt.android.AndroidEntryPoint @@ -44,31 +45,29 @@ class ArtistBookmarkFragment : Fragment() { binding.uiState = vm.uiState.value binding.refreshListener = { vm.fetchBookmarkList() } + binding.loginListener = { vm.logIn() } artistBookmarkAdapter = ArtistBookmarkAdapter() binding.rvArtistBookmarkList.adapter = artistBookmarkAdapter } private fun initObserve() { - repeatOnStarted(this) { + repeatOnStarted(viewLifecycleOwner) { vm.uiState.collect { uiState -> binding.uiState = uiState when (uiState) { - is ArtistBookmarkListUiState.Loading -> { - // Handle loading - } + is ArtistBookmarkListUiState.NotLoggedIn, + is ArtistBookmarkListUiState.Loading, + is ArtistBookmarkListUiState.Error, + -> Unit is ArtistBookmarkListUiState.Success -> { artistBookmarkAdapter.submitList(uiState.artistBookmarks) } - - is ArtistBookmarkListUiState.Error -> { - // Handle error - } } } } - repeatOnStarted(this) { + repeatOnStarted(viewLifecycleOwner) { vm.uiEvent.collect { event -> when (event) { is ArtistBookmarkEvent.ShowArtistDetail -> { @@ -80,6 +79,10 @@ class ArtistBookmarkFragment : Fragment() { ), ) } + + is ArtistBookmarkEvent.ShowSignIn -> { + startActivity(SignInActivity.getIntent(requireContext())) + } } } } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkListUiState.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkListUiState.kt index 9b1d45711..a3663a85e 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkListUiState.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkListUiState.kt @@ -1,7 +1,7 @@ package com.festago.festago.presentation.ui.home.bookmarklist.artistbookmark -interface ArtistBookmarkListUiState { - object NotLoggedIn : ArtistBookmarkListUiState +sealed interface ArtistBookmarkListUiState { + class NotLoggedIn(val logIn: () -> Unit) : ArtistBookmarkListUiState object Loading : ArtistBookmarkListUiState diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkViewModel.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkViewModel.kt index 23d07d2be..50a31958b 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkViewModel.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/artistbookmark/ArtistBookmarkViewModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.festago.festago.domain.model.bookmark.ArtistBookmark import com.festago.festago.domain.repository.BookmarkRepository +import com.festago.festago.domain.repository.UserRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow @@ -16,6 +17,7 @@ import javax.inject.Inject @HiltViewModel class ArtistBookmarkViewModel @Inject constructor( private val bookmarkRepository: BookmarkRepository, + private val userRepository: UserRepository, ) : ViewModel() { private val _uiState = MutableStateFlow(ArtistBookmarkListUiState.Loading) @@ -27,6 +29,12 @@ class ArtistBookmarkViewModel @Inject constructor( fun fetchBookmarkList() { viewModelScope.launch { _uiState.value = ArtistBookmarkListUiState.Loading + + if (!userRepository.isSigned()) { + _uiState.value = ArtistBookmarkListUiState.NotLoggedIn(::logIn) + return@launch + } + bookmarkRepository.getArtistBookmarks().onSuccess { artistBookmarks -> _uiState.value = ArtistBookmarkListUiState.Success( artistBookmarks.map { it.toUiState() }, @@ -37,6 +45,12 @@ class ArtistBookmarkViewModel @Inject constructor( } } + fun logIn() { + viewModelScope.launch { + _uiEvent.emit(ArtistBookmarkEvent.ShowSignIn) + } + } + private fun ArtistBookmark.toUiState(): ArtistBookmarkUiState { return ArtistBookmarkUiState( id = artist.id, diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkEvent.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkEvent.kt index 87f7ec914..294d5f00b 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkEvent.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkEvent.kt @@ -6,4 +6,5 @@ import com.festago.festago.presentation.ui.home.bookmarklist.festivalbookmark.ui sealed interface FestivalBookmarkEvent { class ShowFestivalDetail(val festival: FestivalBookmarkItemUiState) : FestivalBookmarkEvent class ShowArtistDetail(val artist: ArtistUiState) : FestivalBookmarkEvent + object ShowSignIn : FestivalBookmarkEvent } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkFragment.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkFragment.kt index 07d362f1d..2941d7319 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkFragment.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkFragment.kt @@ -13,6 +13,7 @@ import com.festago.festago.presentation.ui.festivaldetail.FestivalDetailArgs import com.festago.festago.presentation.ui.home.bookmarklist.BookmarkListFragmentDirections import com.festago.festago.presentation.ui.home.bookmarklist.festivalbookmark.adapater.FestivalBookmarkViewAdapter import com.festago.festago.presentation.ui.home.bookmarklist.festivalbookmark.uistate.FestivalBookmarkUiState +import com.festago.festago.presentation.ui.signin.SignInActivity import com.festago.festago.presentation.util.repeatOnStarted import com.festago.festago.presentation.util.safeNavigate import dagger.hilt.android.AndroidEntryPoint @@ -50,13 +51,15 @@ class FestivalBookmarkFragment : Fragment() { binding.uiState = vm.uiState.value binding.refreshListener = { vm.fetchBookmarkList() } + binding.loginListener = { vm.logIn() } } private fun initObserve() { - repeatOnStarted(this) { + repeatOnStarted(viewLifecycleOwner) { vm.uiState.collect { uiState -> binding.uiState = uiState when (uiState) { + is FestivalBookmarkUiState.NotLoggedIn, is FestivalBookmarkUiState.Loading, is FestivalBookmarkUiState.Error, -> Unit @@ -67,8 +70,8 @@ class FestivalBookmarkFragment : Fragment() { } } - repeatOnStarted(this) { - vm.uiEvent.collect { event -> + repeatOnStarted(viewLifecycleOwner) { + vm.event.collect { event -> when (event) { is FestivalBookmarkEvent.ShowFestivalDetail -> { findNavController().safeNavigate( @@ -85,6 +88,10 @@ class FestivalBookmarkFragment : Fragment() { ), ) } + + is FestivalBookmarkEvent.ShowSignIn -> { + startActivity(SignInActivity.getIntent(requireContext())) + } } } } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkViewModel.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkViewModel.kt index 832b313fc..b6767de37 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkViewModel.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/FestivalBookmarkViewModel.kt @@ -6,6 +6,7 @@ import com.festago.festago.domain.model.artist.Artist import com.festago.festago.domain.model.bookmark.FestivalBookmark import com.festago.festago.domain.model.bookmark.FestivalBookmarkOrder import com.festago.festago.domain.repository.BookmarkRepository +import com.festago.festago.domain.repository.UserRepository import com.festago.festago.presentation.ui.home.bookmarklist.festivalbookmark.artistadapter.ArtistUiState import com.festago.festago.presentation.ui.home.bookmarklist.festivalbookmark.uistate.FestivalBookmarkItemUiState import com.festago.festago.presentation.ui.home.bookmarklist.festivalbookmark.uistate.FestivalBookmarkUiState @@ -21,19 +22,29 @@ import javax.inject.Inject @HiltViewModel class FestivalBookmarkViewModel @Inject constructor( private val bookmarkRepository: BookmarkRepository, + private val userRepository: UserRepository, ) : ViewModel() { private val _uiState = MutableStateFlow(FestivalBookmarkUiState.Loading) val uiState: StateFlow = _uiState.asStateFlow() - private val _uiEvent = MutableSharedFlow() - val uiEvent = _uiEvent.asSharedFlow() + private val _event = MutableSharedFlow() + val event = _event.asSharedFlow() fun fetchBookmarkList() { viewModelScope.launch { _uiState.value = FestivalBookmarkUiState.Loading + + if (!userRepository.isSigned()) { + _uiState.value = FestivalBookmarkUiState.NotLoggedIn + return@launch + } + val bookmarkIds = bookmarkRepository.getFestivalBookmarkIds() - .getOrElse { _uiState.value = FestivalBookmarkUiState.Error; return@launch } + .getOrElse { + _uiState.value = FestivalBookmarkUiState.Error + return@launch + } if (bookmarkIds.isEmpty()) { _uiState.value = FestivalBookmarkUiState.Success(emptyList()) @@ -50,6 +61,12 @@ class FestivalBookmarkViewModel @Inject constructor( } } + fun logIn() { + viewModelScope.launch { + _event.emit(FestivalBookmarkEvent.ShowSignIn) + } + } + private fun FestivalBookmark.toUiState(): FestivalBookmarkItemUiState { return FestivalBookmarkItemUiState( id = festival.id, @@ -60,7 +77,7 @@ class FestivalBookmarkViewModel @Inject constructor( artists = festival.artists.map { it.toUiState() }, onFestivalDetail = { festival -> viewModelScope.launch { - _uiEvent.emit(FestivalBookmarkEvent.ShowFestivalDetail(festival)) + _event.emit(FestivalBookmarkEvent.ShowFestivalDetail(festival)) } }, ) @@ -73,7 +90,7 @@ class FestivalBookmarkViewModel @Inject constructor( imageUrl = imageUrl, onArtistDetail = { artist -> viewModelScope.launch { - _uiEvent.emit(FestivalBookmarkEvent.ShowArtistDetail(artist)) + _event.emit(FestivalBookmarkEvent.ShowArtistDetail(artist)) } }, ) diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/uistate/FestivalBookmarkUiState.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/uistate/FestivalBookmarkUiState.kt index 708ec304b..7cd9470c5 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/uistate/FestivalBookmarkUiState.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/festivalbookmark/uistate/FestivalBookmarkUiState.kt @@ -1,6 +1,6 @@ package com.festago.festago.presentation.ui.home.bookmarklist.festivalbookmark.uistate -interface FestivalBookmarkUiState { +sealed interface FestivalBookmarkUiState { object NotLoggedIn : FestivalBookmarkUiState object Loading : FestivalBookmarkUiState diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkEvent.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkEvent.kt index f3c0d7440..2a7dc59e0 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkEvent.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkEvent.kt @@ -2,4 +2,5 @@ package com.festago.festago.presentation.ui.home.bookmarklist.schoolbookmark sealed interface SchoolBookmarkEvent { class ShowSchoolDetail(val school: SchoolBookmarkUiState) : SchoolBookmarkEvent + object ShowSignIn : SchoolBookmarkEvent } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkFragment.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkFragment.kt index 15986f49a..d8fb5606a 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkFragment.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkFragment.kt @@ -10,6 +10,7 @@ import androidx.navigation.fragment.findNavController import com.festago.festago.presentation.databinding.FragmentSchoolBookmarkBinding import com.festago.festago.presentation.ui.home.bookmarklist.BookmarkListFragmentDirections import com.festago.festago.presentation.ui.schooldetail.SchoolDetailArgs +import com.festago.festago.presentation.ui.signin.SignInActivity import com.festago.festago.presentation.util.repeatOnStarted import com.festago.festago.presentation.util.safeNavigate import dagger.hilt.android.AndroidEntryPoint @@ -44,31 +45,28 @@ class SchoolBookmarkFragment : Fragment() { binding.uiState = vm.uiState.value binding.refreshListener = { vm.fetchBookmarkList() } - + binding.loginListener = { vm.logIn() } schoolBookmarkAdapter = SchoolBookmarkAdapter() binding.rvSchoolBookmarkList.adapter = schoolBookmarkAdapter } private fun initObserve() { - repeatOnStarted(this) { + repeatOnStarted(viewLifecycleOwner) { vm.uiState.collect { uiState -> binding.uiState = uiState when (uiState) { - is SchoolBookmarkListUiState.Loading -> { - // Handle loading - } + is SchoolBookmarkListUiState.Loading, + is SchoolBookmarkListUiState.Error, + is SchoolBookmarkListUiState.NotLoggedIn, + -> Unit is SchoolBookmarkListUiState.Success -> { schoolBookmarkAdapter.submitList(uiState.schoolBookmarks) } - - is SchoolBookmarkListUiState.Error -> { - // Handle error - } } } } - repeatOnStarted(this) { + repeatOnStarted(viewLifecycleOwner) { vm.uiEvent.collect { event -> when (event) { is SchoolBookmarkEvent.ShowSchoolDetail -> { @@ -78,6 +76,10 @@ class SchoolBookmarkFragment : Fragment() { ), ) } + + is SchoolBookmarkEvent.ShowSignIn -> { + startActivity(SignInActivity.getIntent(requireContext())) + } } } } diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkListUiState.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkListUiState.kt index f0cefe82e..8109e5f2c 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkListUiState.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkListUiState.kt @@ -1,6 +1,6 @@ package com.festago.festago.presentation.ui.home.bookmarklist.schoolbookmark -interface SchoolBookmarkListUiState { +sealed interface SchoolBookmarkListUiState { object NotLoggedIn : SchoolBookmarkListUiState object Loading : SchoolBookmarkListUiState diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkViewModel.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkViewModel.kt index 84a26d561..430de5f2b 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkViewModel.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/home/bookmarklist/schoolbookmark/SchoolBookmarkViewModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.festago.festago.domain.model.bookmark.SchoolBookmark import com.festago.festago.domain.repository.BookmarkRepository +import com.festago.festago.domain.repository.UserRepository import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow @@ -16,6 +17,7 @@ import javax.inject.Inject @HiltViewModel class SchoolBookmarkViewModel @Inject constructor( private val bookmarkRepository: BookmarkRepository, + private val userRepository: UserRepository, ) : ViewModel() { private val _uiState = MutableStateFlow(SchoolBookmarkListUiState.Loading) @@ -27,6 +29,10 @@ class SchoolBookmarkViewModel @Inject constructor( fun fetchBookmarkList() { viewModelScope.launch { _uiState.value = SchoolBookmarkListUiState.Loading + if (!userRepository.isSigned()) { + _uiState.value = SchoolBookmarkListUiState.NotLoggedIn + return@launch + } bookmarkRepository.getSchoolBookmarks().onSuccess { schoolBookmarks -> _uiState.value = SchoolBookmarkListUiState.Success( schoolBookmarks.map { it.toUiState() }, @@ -37,6 +43,12 @@ class SchoolBookmarkViewModel @Inject constructor( } } + fun logIn() { + viewModelScope.launch { + _uiEvent.emit(SchoolBookmarkEvent.ShowSignIn) + } + } + private fun SchoolBookmark.toUiState(): SchoolBookmarkUiState { return SchoolBookmarkUiState( id = school.id, diff --git a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/signin/SignInActivity.kt b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/signin/SignInActivity.kt index 0c44f8604..747a26a77 100644 --- a/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/signin/SignInActivity.kt +++ b/android/festago/presentation/src/main/java/com/festago/festago/presentation/ui/signin/SignInActivity.kt @@ -89,8 +89,8 @@ class SignInActivity : AppCompatActivity() { } private fun navigateToHome() { + finishAffinity() startActivity(HomeActivity.getIntent(this)) - finish() } private fun handleSignInFailure() { diff --git a/android/festago/presentation/src/main/res/layout/fragment_artist_bookmark.xml b/android/festago/presentation/src/main/res/layout/fragment_artist_bookmark.xml index e5ec5f87e..8e18e2bad 100644 --- a/android/festago/presentation/src/main/res/layout/fragment_artist_bookmark.xml +++ b/android/festago/presentation/src/main/res/layout/fragment_artist_bookmark.xml @@ -51,7 +51,7 @@ visibility="@{uiState.shouldShowEmpty}" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@string/fragmentl_bookmark_artist_bookmark" + android:text="@string/bookmark_list_tv_artist_bookmark" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/android/festago/presentation/src/main/res/layout/fragment_bookmark_list.xml b/android/festago/presentation/src/main/res/layout/fragment_bookmark_list.xml index 4edace1c0..6cecb3457 100644 --- a/android/festago/presentation/src/main/res/layout/fragment_bookmark_list.xml +++ b/android/festago/presentation/src/main/res/layout/fragment_bookmark_list.xml @@ -32,29 +32,36 @@ app:tabIndicatorFullWidth="false" app:tabIndicatorHeight="2dp" app:tabSelectedTextColor="@color/contents_gray_07" - app:tabTextAppearance="@style/H1Bold20Lh20" - app:tabTextColor="@color/contents_gray_04"> + app:tabTextAppearance="@style/H4Bold16Lh20" + app:tabTextColor="@color/contents_gray_07"> + android:text="@string/bookmark_list_tv_festival" /> + android:text="@string/bookmark_list_tv_artist" /> + android:text="@string/bookmark_list_tv_school" /> + + + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + @@ -14,67 +16,74 @@ android:layout_width="match_parent" android:layout_height="match_parent"> - + + + app:layout_constraintTop_toTopOf="parent" /> - + - + + + android:text="@string/layout_network_error_refresh" + android:textColor="@color/primary_blue_07" /> - - - - - - - + android:layout_marginStart="4dp" + android:src="@drawable/ic_refresh" /> + diff --git a/android/festago/presentation/src/main/res/layout/layout_require_login.xml b/android/festago/presentation/src/main/res/layout/layout_require_login.xml index ccc66b9a0..343d970cc 100644 --- a/android/festago/presentation/src/main/res/layout/layout_require_login.xml +++ b/android/festago/presentation/src/main/res/layout/layout_require_login.xml @@ -15,53 +15,50 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + + + - + android:text="@string/layout_require_login_go_to_login" + android:textColor="@color/primary_blue_07" /> - - - - - - - + android:layout_marginStart="4dp" + android:src="@drawable/ic_next" /> diff --git a/android/festago/presentation/src/main/res/values/strings.xml b/android/festago/presentation/src/main/res/values/strings.xml index 8fe3664cd..2f7ccc0d2 100644 --- a/android/festago/presentation/src/main/res/values/strings.xml +++ b/android/festago/presentation/src/main/res/values/strings.xml @@ -71,7 +71,7 @@ 업데이트 알림 새로운 페스타고를 사용하기 위해 업데이트 해주세요! 업데이트 후 정상 사용가능합니다. - 페스타고 실행 중 문제가 발생했습니다. 페스타고로 문의해주세요. + 인터넷 연결 및 최신 버전을 확인해주세요 확인 @@ -88,9 +88,12 @@ 로그인 하러 가기 - 관심있는 아티스트를 북마크 할 수 있어요 - 관심있는 축제를 북마크 할 수 있어요 - 관심있는 학교를 북마크 할 수 있어요 + 관심있는 아티스트를 북마크 할 수 있어요 + 관심있는 축제를 북마크 할 수 있어요 + 관심있는 학교를 북마크 할 수 있어요 + 축제 + 아티스트 + 학교 페스타고,\n대학축제를\n더욱 즐겁게! @@ -98,4 +101,5 @@ 로그인하지 않고 둘러보기 로그인 할 수 없습니다. 다시 로그인 하거나 앱을 재실행 해주세요. +