From d39148653841ed7a34a8f0c1e2b5fc3310ba2137 Mon Sep 17 00:00:00 2001 From: sujin-kk Date: Sun, 19 Jun 2022 00:44:34 +0900 Subject: [PATCH 1/8] =?UTF-8?q?=EC=85=8B=ED=8C=85=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=EC=BD=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../housekeeper/ui/ManageHouseFragment.kt | 20 +++++++++++ app/src/main/res/drawable/ic_account.xml | 9 +++++ app/src/main/res/drawable/ic_info.xml | 12 +++---- app/src/main/res/drawable/ic_management.xml | 21 ++++++++++++ .../main/res/layout/fragment_manage_house.xml | 14 ++++++++ app/src/main/res/layout/fragment_setting.xml | 8 ++--- .../main/res/layout/layout_setting_row.xml | 33 +++++++++++++++++++ app/src/main/res/values/strings.xml | 2 +- 8 files changed, 108 insertions(+), 11 deletions(-) create mode 100644 app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt create mode 100644 app/src/main/res/drawable/ic_account.xml create mode 100644 app/src/main/res/drawable/ic_management.xml create mode 100644 app/src/main/res/layout/fragment_manage_house.xml create mode 100644 app/src/main/res/layout/layout_setting_row.xml diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt new file mode 100644 index 00000000..8214a43a --- /dev/null +++ b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt @@ -0,0 +1,20 @@ +package com.depromeet.housekeeper.ui + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.depromeet.housekeeper.R + +class ManageHouseFragment : Fragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + // Inflate the layout for this fragment + return inflater.inflate(R.layout.fragment_manage_house, container, false) + } + +} \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_account.xml b/app/src/main/res/drawable/ic_account.xml new file mode 100644 index 00000000..854018d0 --- /dev/null +++ b/app/src/main/res/drawable/ic_account.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_info.xml b/app/src/main/res/drawable/ic_info.xml index 00173a37..dc5ef10d 100644 --- a/app/src/main/res/drawable/ic_info.xml +++ b/app/src/main/res/drawable/ic_info.xml @@ -1,9 +1,9 @@ + android:width="18dp" + android:height="18dp" + android:viewportWidth="18" + android:viewportHeight="18"> + android:pathData="M8.1641,11.4998H9.8307V13.1665H8.1641V11.4998ZM8.1641,4.8332H9.8307V9.8332H8.1641V4.8332ZM8.9891,0.6665C4.3891,0.6665 0.6641,4.3998 0.6641,8.9998C0.6641,13.5998 4.3891,17.3332 8.9891,17.3332C13.5974,17.3332 17.3307,13.5998 17.3307,8.9998C17.3307,4.3998 13.5974,0.6665 8.9891,0.6665ZM8.9974,15.6665C5.3141,15.6665 2.3307,12.6832 2.3307,8.9998C2.3307,5.3165 5.3141,2.3332 8.9974,2.3332C12.6807,2.3332 15.6641,5.3165 15.6641,8.9998C15.6641,12.6832 12.6807,15.6665 8.9974,15.6665Z" + android:fillColor="#323232"/> diff --git a/app/src/main/res/drawable/ic_management.xml b/app/src/main/res/drawable/ic_management.xml new file mode 100644 index 00000000..88900080 --- /dev/null +++ b/app/src/main/res/drawable/ic_management.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/app/src/main/res/layout/fragment_manage_house.xml b/app/src/main/res/layout/fragment_manage_house.xml new file mode 100644 index 00000000..20d5a5d8 --- /dev/null +++ b/app/src/main/res/layout/fragment_manage_house.xml @@ -0,0 +1,14 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_setting.xml b/app/src/main/res/layout/fragment_setting.xml index 0d3be6e5..1d0b088d 100644 --- a/app/src/main/res/layout/fragment_setting.xml +++ b/app/src/main/res/layout/fragment_setting.xml @@ -43,7 +43,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" - android:drawableStart="@drawable/ic_my_page" + android:drawableStart="@drawable/ic_account" android:drawablePadding="12dp" android:text="@string/setting_account_row_text" style="@style/Body.B2" @@ -72,7 +72,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" - android:drawableStart="@drawable/ic_my_page" + android:drawableStart="@drawable/ic_management" android:drawablePadding="12dp" android:text="@string/setting_space_row_text" style="@style/Body.B2" @@ -101,7 +101,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" - android:drawableStart="@drawable/ic_my_page" + android:drawableStart="@drawable/ic_info" android:drawablePadding="12dp" android:text="@string/setting_contact_row_text" style="@style/Body.B2" @@ -130,7 +130,7 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" - android:drawableStart="@drawable/ic_my_page" + android:drawableStart="@drawable/ic_info" android:drawablePadding="12dp" android:text="@string/setting_info_row_text" style="@style/Body.B2" diff --git a/app/src/main/res/layout/layout_setting_row.xml b/app/src/main/res/layout/layout_setting_row.xml new file mode 100644 index 00000000..0ea6c86a --- /dev/null +++ b/app/src/main/res/layout/layout_setting_row.xml @@ -0,0 +1,33 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 559903df..0b44173b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -106,7 +106,7 @@ 설정 계정 - 공간관리 + 하우스 관리 문의하기 정보 버전 From 4517e70312ba1df9cd7b510021dd1759bf23a17b Mon Sep 17 00:00:00 2001 From: sujin-kk Date: Sun, 19 Jun 2022 01:12:24 +0900 Subject: [PATCH 2/8] create manage house fragment and set navigation --- .../housekeeper/ui/ManageHouseFragment.kt | 33 +++++- .../housekeeper/ui/SettingFragment.kt | 2 +- .../main/res/layout/fragment_manage_house.xml | 106 ++++++++++++++++-- .../main/res/layout/layout_setting_row.xml | 33 ------ app/src/main/res/navigation/nav_graph.xml | 27 ++++- app/src/main/res/values/strings.xml | 7 ++ 6 files changed, 162 insertions(+), 46 deletions(-) delete mode 100644 app/src/main/res/layout/layout_setting_row.xml diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt index 8214a43a..2339bebb 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt @@ -5,16 +5,45 @@ import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.databinding.DataBindingUtil +import androidx.navigation.findNavController import com.depromeet.housekeeper.R +import com.depromeet.housekeeper.databinding.FragmentManageHouseBinding +import com.depromeet.housekeeper.model.enums.SignViewType class ManageHouseFragment : Fragment() { - + lateinit var binding: FragmentManageHouseBinding override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_manage_house, container, false) + binding = DataBindingUtil.inflate(inflater, R.layout.fragment_manage_house, container, false) + binding.lifecycleOwner = this.viewLifecycleOwner + + initListener() + + return binding.root + } + + private fun initListener() { + binding.manageHouseHeader.apply { + defaultHeaderTitleTv.text = resources.getString(R.string.manage_house_header_title) + + defaultHeaderBackBtn.setOnClickListener { + it.findNavController().navigateUp() + } + } + + binding.renameHouseRow.setOnClickListener { + it.findNavController().navigate(ManageHouseFragmentDirections.actionManageHouseFragmentToSignNameFragment(SignViewType.ModifyGroupName)) + } + + binding.inviteRow.setOnClickListener { + it.findNavController().navigate(ManageHouseFragmentDirections.actionManageHouseFragmentToInviteFragment()) + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/SettingFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/SettingFragment.kt index c3c90d9a..eab222ea 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/SettingFragment.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/SettingFragment.kt @@ -53,7 +53,7 @@ class SettingFragment : Fragment() { } binding.spaceRow.setOnClickListener { - it.findNavController().navigate(SettingFragmentDirections.actionSettingFragmentToInviteFragment()) + it.findNavController().navigate(SettingFragmentDirections.actionSettingFragmentToManageHouseFragment()) } binding.contactRow.setOnClickListener { diff --git a/app/src/main/res/layout/fragment_manage_house.xml b/app/src/main/res/layout/fragment_manage_house.xml index 20d5a5d8..c349b22e 100644 --- a/app/src/main/res/layout/fragment_manage_house.xml +++ b/app/src/main/res/layout/fragment_manage_house.xml @@ -1,14 +1,104 @@ - + xmlns:app="http://schemas.android.com/apk/res-auto"> - - + + + + + + + + tools:context=".ui.ManageHouseFragment" + android:background="@drawable/main_white_background"> + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/layout_setting_row.xml b/app/src/main/res/layout/layout_setting_row.xml deleted file mode 100644 index 0ea6c86a..00000000 --- a/app/src/main/res/layout/layout_setting_row.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 9edb0841..6abff7f2 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -199,6 +199,29 @@ app:destination="@id/signNameFragment" /> + + + + + + + 하우스 이름 변경 + + 하우스 관리 + 하우스 이름 변경 + 초대하기 + 하우스에서 나가기 + + \ No newline at end of file From 33d27ef4b8b5d580cf99c75bb6e5890b9bd43a36 Mon Sep 17 00:00:00 2001 From: sujin-kk Date: Sun, 19 Jun 2022 02:02:37 +0900 Subject: [PATCH 3/8] modify invite fragment --- .../housekeeper/ui/InviteFragment.kt | 31 ++++++++++++- .../housekeeper/ui/InviteViewModel.kt | 5 ++ .../housekeeper/ui/ManageHouseFragment.kt | 4 ++ app/src/main/res/drawable/ic_info_fill.xml | 9 ++++ app/src/main/res/layout/fragment_invite.xml | 46 +++++++++++++------ .../main/res/layout/fragment_join_group.xml | 4 +- app/src/main/res/values/strings.xml | 9 ++-- 7 files changed, 88 insertions(+), 20 deletions(-) create mode 100644 app/src/main/res/drawable/ic_info_fill.xml diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt index 2a839585..a303a8f2 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt @@ -5,7 +5,12 @@ import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.content.Context.CLIPBOARD_SERVICE +import android.graphics.Color import android.os.Bundle +import android.text.Spannable +import android.text.SpannableString +import android.text.SpannableStringBuilder +import android.text.style.ForegroundColorSpan import android.view.Gravity import android.view.LayoutInflater import android.view.View @@ -14,6 +19,7 @@ import android.widget.Toast import androidx.databinding.DataBindingUtil import androidx.fragment.app.Fragment import androidx.fragment.app.viewModels +import androidx.lifecycle.lifecycleScope import androidx.navigation.findNavController import androidx.navigation.fragment.findNavController import com.depromeet.housekeeper.R @@ -23,6 +29,7 @@ import com.kakao.sdk.link.LinkClient import com.kakao.sdk.link.WebSharerClient import com.kakao.sdk.template.model.Link import com.kakao.sdk.template.model.TextTemplate +import kotlinx.coroutines.flow.collect import timber.log.Timber class InviteFragment : Fragment() { @@ -45,6 +52,27 @@ class InviteFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) initListener() + bindingVm() + } + + private fun bindingVm() { + viewModel.groupName.value.apply { + val format = String.format(getString(R.string.invite_group_name_text), this) + val spannerString = SpannableString(format).apply { + setSpan( + ForegroundColorSpan(requireActivity().getColor(R.color.highlight)), + 0, + this.indexOf("의"), + SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE + ) + } + binding.inviteGroupNameTv.text = spannerString + } + + // 유효기간 + // TODO: API 호출 필요 + val validText = getString(R.string.invite_code_valid_period_text, viewModel.inviteCodeValidPeriod.value) + binding.inviteValidPeriodTv.text = validText } private fun initListener() { @@ -75,11 +103,12 @@ class InviteFragment : Fragment() { val clip = ClipData.newPlainText("INVITE_CODE", code) clipboard.setPrimaryClip(clip) - val toast = Toast.makeText(requireContext(), "코드를 클립보드에 복사했습니다.", Toast.LENGTH_SHORT) + val toast = Toast.makeText(requireContext(), getString(R.string.invite_code_copy_toast_text), Toast.LENGTH_SHORT) toast.setGravity(Gravity.CENTER, Gravity.CENTER_HORIZONTAL, Gravity.CENTER_VERTICAL) toast.show() } + private fun onKakaoShare(context: Context) { // TODO("템플릿 변경 필요") diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt b/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt index 81e50e01..860f3081 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt @@ -15,4 +15,9 @@ class InviteViewModel : ViewModel() { MutableStateFlow("ABCDEFG") val inviteCode: StateFlow get() = _inviteCode + + private val _inviteCodeValidPeriod: MutableStateFlow = + MutableStateFlow("2022년 6월 20 18시 23분") + val inviteCodeValidPeriod: StateFlow + get() = _inviteCodeValidPeriod } \ No newline at end of file diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt index 2339bebb..861b311e 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt @@ -43,6 +43,10 @@ class ManageHouseFragment : Fragment() { it.findNavController().navigate(ManageHouseFragmentDirections.actionManageHouseFragmentToInviteFragment()) } + binding.exitHouseRow.setOnClickListener { + // ToDo: 하우스 나가기 API 연동 (hasTeam 정보 필요) + } + } diff --git a/app/src/main/res/drawable/ic_info_fill.xml b/app/src/main/res/drawable/ic_info_fill.xml new file mode 100644 index 00000000..e24ef4e1 --- /dev/null +++ b/app/src/main/res/drawable/ic_info_fill.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/layout/fragment_invite.xml b/app/src/main/res/layout/fragment_invite.xml index 105131b2..d1b0b3ec 100644 --- a/app/src/main/res/layout/fragment_invite.xml +++ b/app/src/main/res/layout/fragment_invite.xml @@ -53,23 +53,12 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/Title.T1" - android:textColor="@color/highlight" - android:text="@{vm.groupName}" + android:textColor="@color/gray_600" + android:text="@string/invite_group_name_text" android:layout_marginStart="24dp" android:layout_marginTop="24dp" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/invite_main_desc_tv"/> - - + app:layout_constraintTop_toBottomOf="@id/invite_main_desc_tv" /> + + + + @@ -123,7 +123,7 @@ android:id="@+id/join_group_join_space_info" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:src="@drawable/ic_info" + android:src="@drawable/ic_info_fill" app:layout_constraintStart_toStartOf="@id/join_group_main_text" app:layout_constraintTop_toBottomOf="@id/join_group_join_space_button" android:layout_marginTop="11dp"/> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index d517d888..2613a725 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -113,13 +113,16 @@ 로그아웃 - 공간에 사람을 초대해주세요. + 하우스에 사람을 초대해주세요. 앞으로 함께 집안일을 관리할 가족, 친구, 룸메이트 누구든 초대해주세요! - 즐거운 우리집 - 의 초대코드 + %s의 초대코드 초대코드 복사하기 카카오톡 공유하기 건너뛰기 + 코드를 클립보드에 복사했습니다. + %1$s까지 유효한 코드 + 초대받은 사람은 해당 초대코드가 생성된 24시간 안에 입력하셔야 합니다. + 문의하기 From 0143e3e2c21a28d90f1a1e98a0ff24f73769b854 Mon Sep 17 00:00:00 2001 From: sujin-kk Date: Sun, 19 Jun 2022 02:38:11 +0900 Subject: [PATCH 4/8] =?UTF-8?q?=EC=B4=88=EB=8C=80=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=ED=99=94=EB=A9=B4=20=EB=B6=84=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../housekeeper/model/enums/InviteViewType.kt | 5 +++++ .../housekeeper/ui/InviteFragment.kt | 18 +++++++++++++--- .../housekeeper/ui/InviteViewModel.kt | 10 +++++++++ .../housekeeper/ui/ManageHouseFragment.kt | 3 ++- .../housekeeper/ui/SignNameFragment.kt | 7 +++++-- app/src/main/res/layout/fragment_invite.xml | 21 +++++++------------ .../res/layout/layout_main_footer_button.xml | 7 ++++--- app/src/main/res/navigation/nav_graph.xml | 15 +++++++++++-- 8 files changed, 62 insertions(+), 24 deletions(-) create mode 100644 app/src/main/java/com/depromeet/housekeeper/model/enums/InviteViewType.kt diff --git a/app/src/main/java/com/depromeet/housekeeper/model/enums/InviteViewType.kt b/app/src/main/java/com/depromeet/housekeeper/model/enums/InviteViewType.kt new file mode 100644 index 00000000..d2a8805d --- /dev/null +++ b/app/src/main/java/com/depromeet/housekeeper/model/enums/InviteViewType.kt @@ -0,0 +1,5 @@ +package com.depromeet.housekeeper.model.enums + +enum class InviteViewType { + SIGN, SETTING +} \ No newline at end of file diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt index a303a8f2..a51d57bd 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/InviteFragment.kt @@ -22,8 +22,10 @@ import androidx.fragment.app.viewModels import androidx.lifecycle.lifecycleScope import androidx.navigation.findNavController import androidx.navigation.fragment.findNavController +import androidx.navigation.fragment.navArgs import com.depromeet.housekeeper.R import com.depromeet.housekeeper.databinding.FragmentInviteBinding +import com.depromeet.housekeeper.model.enums.InviteViewType import com.kakao.sdk.common.util.KakaoCustomTabsClient import com.kakao.sdk.link.LinkClient import com.kakao.sdk.link.WebSharerClient @@ -36,6 +38,7 @@ class InviteFragment : Fragment() { lateinit var binding:FragmentInviteBinding lateinit var clipboard: ClipboardManager private val viewModel: InviteViewModel by viewModels() + private val navArgs by navArgs() override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, @@ -56,6 +59,17 @@ class InviteFragment : Fragment() { } private fun bindingVm() { + // invite fragment 분기 - 건너뛰기 유무 + viewModel.setViewType(navArgs.viewType) + when(viewModel.viewType.value) { + InviteViewType.SIGN -> { + binding.inviteSkipBtn.visibility = View.VISIBLE + } + InviteViewType.SETTING -> { + binding.inviteSkipBtn.visibility = View.GONE + } + } + viewModel.groupName.value.apply { val format = String.format(getString(R.string.invite_group_name_text), this) val spannerString = SpannableString(format).apply { @@ -103,9 +117,7 @@ class InviteFragment : Fragment() { val clip = ClipData.newPlainText("INVITE_CODE", code) clipboard.setPrimaryClip(clip) - val toast = Toast.makeText(requireContext(), getString(R.string.invite_code_copy_toast_text), Toast.LENGTH_SHORT) - toast.setGravity(Gravity.CENTER, Gravity.CENTER_HORIZONTAL, Gravity.CENTER_VERTICAL) - toast.show() + val toast = Toast.makeText(requireContext(), getString(R.string.invite_code_copy_toast_text), Toast.LENGTH_SHORT).show() } diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt b/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt index 860f3081..b53df728 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/InviteViewModel.kt @@ -1,11 +1,21 @@ package com.depromeet.housekeeper.ui import androidx.lifecycle.ViewModel +import com.depromeet.housekeeper.model.enums.InviteViewType import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow class InviteViewModel : ViewModel() { + private val _viewType: MutableStateFlow = + MutableStateFlow(InviteViewType.SIGN) + val viewType: StateFlow + get() = _viewType + + fun setViewType(viewType: InviteViewType) { + _viewType.value = viewType + } + private val _groupName: MutableStateFlow = MutableStateFlow("즐거운 우리집") val groupName: StateFlow diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt index 861b311e..521f6b01 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/ManageHouseFragment.kt @@ -9,6 +9,7 @@ import androidx.databinding.DataBindingUtil import androidx.navigation.findNavController import com.depromeet.housekeeper.R import com.depromeet.housekeeper.databinding.FragmentManageHouseBinding +import com.depromeet.housekeeper.model.enums.InviteViewType import com.depromeet.housekeeper.model.enums.SignViewType class ManageHouseFragment : Fragment() { @@ -40,7 +41,7 @@ class ManageHouseFragment : Fragment() { } binding.inviteRow.setOnClickListener { - it.findNavController().navigate(ManageHouseFragmentDirections.actionManageHouseFragmentToInviteFragment()) + it.findNavController().navigate(ManageHouseFragmentDirections.actionManageHouseFragmentToInviteFragment(InviteViewType.SETTING)) } binding.exitHouseRow.setOnClickListener { diff --git a/app/src/main/java/com/depromeet/housekeeper/ui/SignNameFragment.kt b/app/src/main/java/com/depromeet/housekeeper/ui/SignNameFragment.kt index 3fb09967..78fc0c99 100644 --- a/app/src/main/java/com/depromeet/housekeeper/ui/SignNameFragment.kt +++ b/app/src/main/java/com/depromeet/housekeeper/ui/SignNameFragment.kt @@ -13,6 +13,7 @@ import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import com.depromeet.housekeeper.R import com.depromeet.housekeeper.databinding.FragmentSignNameBinding +import com.depromeet.housekeeper.model.enums.InviteViewType import com.depromeet.housekeeper.model.enums.ProfileViewType import com.depromeet.housekeeper.model.enums.SignViewType @@ -60,8 +61,10 @@ class SignNameFragment : Fragment() { name = viewmodel.inputName.value,viewType = ProfileViewType.Sign)) } SignViewType.GroupName -> { - findNavController().navigate(R.id.action_signNameFragment_to_inviteFragment) - } + findNavController().navigate(SignNameFragmentDirections.actionSignNameFragmentToInviteFragment( + viewType = InviteViewType.SIGN + )) + } SignViewType.InviteCode -> { findNavController().navigate(R.id.action_signNameFragment_to_mainFragment) } diff --git a/app/src/main/res/layout/fragment_invite.xml b/app/src/main/res/layout/fragment_invite.xml index d1b0b3ec..8ea4a936 100644 --- a/app/src/main/res/layout/fragment_invite.xml +++ b/app/src/main/res/layout/fragment_invite.xml @@ -9,12 +9,14 @@ + - - - + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintBottom_toBottomOf="parent"/> \ No newline at end of file diff --git a/app/src/main/res/layout/layout_main_footer_button.xml b/app/src/main/res/layout/layout_main_footer_button.xml index 43bd9cf9..b8811c8c 100644 --- a/app/src/main/res/layout/layout_main_footer_button.xml +++ b/app/src/main/res/layout/layout_main_footer_button.xml @@ -10,16 +10,17 @@