From 4b662886e4fe257e11104987bee7f8469362ddd3 Mon Sep 17 00:00:00 2001 From: aksworns22 Date: Wed, 11 Feb 2026 17:53:55 +0900 Subject: [PATCH 1/3] =?UTF-8?q?design:=20=EC=9E=89=ED=81=AC=20=ED=85=8D?= =?UTF-8?q?=EC=8A=A4=ED=8A=B8=EC=97=90=20id=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/fragment_store.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/fragment_store.xml b/app/src/main/res/layout/fragment_store.xml index 9138f3c8..e7002e55 100644 --- a/app/src/main/res/layout/fragment_store.xml +++ b/app/src/main/res/layout/fragment_store.xml @@ -56,12 +56,12 @@ android:src="@drawable/ink_icon" /> From bfa590c4ec70162bdb40691de3506c2f368ab819 Mon Sep 17 00:00:00 2001 From: aksworns22 Date: Wed, 11 Feb 2026 17:54:10 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat:=20=EC=9E=89=ED=81=AC=EC=A0=95?= =?UTF-8?q?=EB=B3=B4=EB=A5=BC=20ui=EC=97=90=20=EC=B6=9C=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/egobook/app/ui/shop/StoreFragment.kt | 7 +++++++ .../com/egobook/app/ui/shop/StoreViewModel.kt | 17 ++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/egobook/app/ui/shop/StoreFragment.kt b/app/src/main/java/com/egobook/app/ui/shop/StoreFragment.kt index ef47b353..0dedca7c 100644 --- a/app/src/main/java/com/egobook/app/ui/shop/StoreFragment.kt +++ b/app/src/main/java/com/egobook/app/ui/shop/StoreFragment.kt @@ -88,6 +88,13 @@ class StoreFragment: Fragment() { viewModel.loadEquippedItems() } + lifecycleScope.launch { + viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.ink.collect { ink -> + binding.tvInk.text = ink.value.toString() + } + } + } viewLifecycleOwner.lifecycleScope.launch { diff --git a/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt b/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt index feedbbdf..febe91ab 100644 --- a/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt +++ b/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt @@ -3,6 +3,8 @@ package com.egobook.app.ui.shop import android.util.Log import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope +import com.egobook.app.ui.home.repository.UserRepository +import com.egobook.app.ui.home.user.Ink import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.flow.MutableSharedFlow import kotlinx.coroutines.flow.MutableStateFlow @@ -22,9 +24,15 @@ data class CustomItemState( ) @HiltViewModel class StoreViewModel @Inject constructor( - private val storeRepository: StoreRepository + private val storeRepository: StoreRepository, + private val userRepository: UserRepository ) : ViewModel() { + init { + loadInk() + } + private val _ink = MutableStateFlow(Ink(0)) + val ink: StateFlow = _ink.asStateFlow() private val _toastEvent = MutableSharedFlow() val toastEvent = _toastEvent.asSharedFlow() private val _equippedItems = MutableStateFlow>(emptyList()) @@ -66,6 +74,13 @@ class StoreViewModel @Inject constructor( } } + fun loadInk() { + viewModelScope.launch { + val user = userRepository.load() + _ink.update { user.ink } + } + } + fun loadEquippedItems() { viewModelScope.launch { _equippedItems.value = storeRepository.loadEquippedItems() From 36d41480cfe4ab2b5734dd2e645611705ad82be9 Mon Sep 17 00:00:00 2001 From: aksworns22 Date: Wed, 11 Feb 2026 17:55:48 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=EC=83=81=ED=92=88=20=EA=B5=AC?= =?UTF-8?q?=EB=A7=A4=20=EC=8B=9C=20=EC=9E=89=ED=81=AC=20=EC=A0=95=EB=B3=B4?= =?UTF-8?q?=EB=A5=BC=20=EB=8B=A4=EC=8B=9C=20=EB=A1=9C=EB=93=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt b/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt index febe91ab..316b1abe 100644 --- a/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt +++ b/app/src/main/java/com/egobook/app/ui/shop/StoreViewModel.kt @@ -113,6 +113,7 @@ class StoreViewModel @Inject constructor( val purchaseState = storeRepository.purchaseItems(item) if (purchaseState.isSuccess) { loadItems(item.type, true) + loadInk() _toastEvent.emit("구매가 완료되었어요") } else { _toastEvent.emit("잉크가 부족해요")