From 9a3e13414fad3eb34a75819070b4dbab38812087 Mon Sep 17 00:00:00 2001 From: gaeun Date: Wed, 12 Jul 2023 21:22:23 +0900 Subject: [PATCH 01/51] =?UTF-8?q?[MOVE/#5]=20InvitationCode=20=ED=8C=A8?= =?UTF-8?q?=ED=82=A4=EC=A7=80=20=EC=9C=84=EC=B9=98=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 +- .../presentation/{main => }/invitationCode/InputCodeFragment.kt | 2 +- .../{main => }/invitationCode/InputProfileFragment.kt | 2 +- .../{main => }/invitationCode/InvitationCodeActivity.kt | 2 +- .../{main => }/invitationCode/InvitationCodeViewModel.kt | 2 +- app/src/main/res/layout/activity_invitation_code.xml | 2 +- app/src/main/res/layout/fragment_input_code.xml | 2 +- app/src/main/res/layout/fragment_input_profile.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/{main => }/invitationCode/InputCodeFragment.kt (94%) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/{main => }/invitationCode/InputProfileFragment.kt (91%) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/{main => }/invitationCode/InvitationCodeActivity.kt (93%) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/{main => }/invitationCode/InvitationCodeViewModel.kt (98%) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3aba44d5..612c8122 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -28,7 +28,7 @@ - diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InputCodeFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt similarity index 94% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InputCodeFragment.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt index fe9c2f7a..a3258e3f 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InputCodeFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt @@ -1,4 +1,4 @@ -package com.puzzling.puzzlingaos.presentation.main.invitationCode +package com.puzzling.puzzlingaos.presentation.invitationCode import android.os.Bundle import android.view.View diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InputProfileFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputProfileFragment.kt similarity index 91% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InputProfileFragment.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputProfileFragment.kt index fe92d9f9..70b0d06d 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InputProfileFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputProfileFragment.kt @@ -1,4 +1,4 @@ -package com.puzzling.puzzlingaos.presentation.main.invitationCode +package com.puzzling.puzzlingaos.presentation.invitationCode import android.os.Bundle import android.view.View diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InvitationCodeActivity.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt similarity index 93% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InvitationCodeActivity.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt index ad073326..bbbea809 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InvitationCodeActivity.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt @@ -1,4 +1,4 @@ -package com.puzzling.puzzlingaos.presentation.main.invitationCode +package com.puzzling.puzzlingaos.presentation.invitationCode import android.os.Bundle import androidx.activity.viewModels diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InvitationCodeViewModel.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt similarity index 98% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InvitationCodeViewModel.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt index 885fff90..f39e005c 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/invitationCode/InvitationCodeViewModel.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt @@ -1,4 +1,4 @@ -package com.puzzling.puzzlingaos.presentation.main.invitationCode +package com.puzzling.puzzlingaos.presentation.invitationCode import android.util.Log import androidx.lifecycle.* diff --git a/app/src/main/res/layout/activity_invitation_code.xml b/app/src/main/res/layout/activity_invitation_code.xml index 9dffb38c..820f496f 100644 --- a/app/src/main/res/layout/activity_invitation_code.xml +++ b/app/src/main/res/layout/activity_invitation_code.xml @@ -6,7 +6,7 @@ + type="com.puzzling.puzzlingaos.presentation.invitationCode.InvitationCodeViewModel" /> diff --git a/app/src/main/res/layout/fragment_input_code.xml b/app/src/main/res/layout/fragment_input_code.xml index b0c46ef6..769e6505 100644 --- a/app/src/main/res/layout/fragment_input_code.xml +++ b/app/src/main/res/layout/fragment_input_code.xml @@ -9,7 +9,7 @@ + type="com.puzzling.puzzlingaos.presentation.invitationCode.InvitationCodeViewModel" /> diff --git a/app/src/main/res/layout/fragment_input_profile.xml b/app/src/main/res/layout/fragment_input_profile.xml index 33632687..58ad97d2 100644 --- a/app/src/main/res/layout/fragment_input_profile.xml +++ b/app/src/main/res/layout/fragment_input_profile.xml @@ -9,7 +9,7 @@ + type="com.puzzling.puzzlingaos.presentation.invitationCode.InvitationCodeViewModel" /> From de0b9f6804db0e94238daf66abfd78000f7fa8b8 Mon Sep 17 00:00:00 2001 From: gaeun Date: Wed, 12 Jul 2023 21:35:25 +0900 Subject: [PATCH 02/51] =?UTF-8?q?[RENAME/#5]=20et=20->=20edt,=20toolbar=20?= =?UTF-8?q?->=20tb=20=EC=BB=A8=EB=B2=A4=EC=85=98=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/activity_invitation_code.xml | 4 ++-- app/src/main/res/layout/fragment_input_code.xml | 6 +++--- app/src/main/res/layout/fragment_input_profile.xml | 12 ++++++------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/src/main/res/layout/activity_invitation_code.xml b/app/src/main/res/layout/activity_invitation_code.xml index 820f496f..6dc95e3d 100644 --- a/app/src/main/res/layout/activity_invitation_code.xml +++ b/app/src/main/res/layout/activity_invitation_code.xml @@ -15,7 +15,7 @@ android:layout_height="match_parent"> + app:layout_constraintTop_toBottomOf="@id/tb_invitation_code" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_input_code.xml b/app/src/main/res/layout/fragment_input_code.xml index 769e6505..2a09d587 100644 --- a/app/src/main/res/layout/fragment_input_code.xml +++ b/app/src/main/res/layout/fragment_input_code.xml @@ -48,7 +48,7 @@ @@ -91,7 +91,7 @@ android:textAppearance="@style/Kor.Detail1.Regular" android:textColor="@color/gray_400" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/et_invitation_code" + app:layout_constraintTop_toBottomOf="@id/edt_invitation_code" tools:text="5/13" /> diff --git a/app/src/main/res/layout/fragment_input_profile.xml b/app/src/main/res/layout/fragment_input_profile.xml index 58ad97d2..f10baff8 100644 --- a/app/src/main/res/layout/fragment_input_profile.xml +++ b/app/src/main/res/layout/fragment_input_profile.xml @@ -61,7 +61,7 @@ app:layout_constraintTop_toTopOf="parent" /> @@ -100,7 +100,7 @@ android:textAppearance="@style/Kor.Detail1.Regular" android:textColor="@color/gray_400" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toBottomOf="@id/et_nickName" + app:layout_constraintTop_toBottomOf="@id/edt_nickName" tools:text="5/10" /> @@ -126,7 +126,7 @@ app:layout_constraintTop_toTopOf="parent" /> From a5019ac83de84bab32b3aa59b58839ad4c034513 Mon Sep 17 00:00:00 2001 From: gaeun Date: Wed, 12 Jul 2023 21:43:33 +0900 Subject: [PATCH 03/51] =?UTF-8?q?[RENAME/#11]=20Fragment=20name=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../puzzlingaos/presentation/home/MyPageFragment.kt | 7 +++++++ .../puzzling/puzzlingaos/presentation/home/TestFragment.kt | 7 ------- .../puzzling/puzzlingaos/presentation/main/MainActivity.kt | 4 ++-- .../res/layout/{fragment_test.xml => fragment_my_page.xml} | 0 4 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/MyPageFragment.kt delete mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/TestFragment.kt rename app/src/main/res/layout/{fragment_test.xml => fragment_my_page.xml} (100%) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/MyPageFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/MyPageFragment.kt new file mode 100644 index 00000000..f427d5cd --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/MyPageFragment.kt @@ -0,0 +1,7 @@ +package com.puzzling.puzzlingaos.presentation.home + +import com.puzzling.puzzlingaos.R +import com.puzzling.puzzlingaos.base.BaseFragment +import com.puzzling.puzzlingaos.databinding.FragmentMyPageBinding + +class MyPageFragment : BaseFragment(R.layout.fragment_my_page) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/TestFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/TestFragment.kt deleted file mode 100644 index 7f4b85d2..00000000 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/TestFragment.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.puzzling.puzzlingaos.presentation.home - -import com.puzzling.puzzlingaos.R -import com.puzzling.puzzlingaos.base.BaseFragment -import com.puzzling.puzzlingaos.databinding.FragmentTestBinding - -class TestFragment : BaseFragment(R.layout.fragment_test) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt index 195e784a..6f451f10 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt @@ -7,7 +7,7 @@ import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseActivity import com.puzzling.puzzlingaos.databinding.ActivityMainBinding import com.puzzling.puzzlingaos.presentation.home.HomeFragment -import com.puzzling.puzzlingaos.presentation.home.TestFragment +import com.puzzling.puzzlingaos.presentation.home.MyPageFragment class MainActivity : BaseActivity(R.layout.activity_main) { override fun onCreate(savedInstanceState: Bundle?) { @@ -28,7 +28,7 @@ class MainActivity : BaseActivity(R.layout.activity_main) { binding.bnvMain.setOnItemSelectedListener { menu -> when (menu.itemId) { R.id.menu_home -> navigateTo() - R.id.menu_mypage -> navigateTo() + R.id.menu_mypage -> navigateTo() } true } diff --git a/app/src/main/res/layout/fragment_test.xml b/app/src/main/res/layout/fragment_my_page.xml similarity index 100% rename from app/src/main/res/layout/fragment_test.xml rename to app/src/main/res/layout/fragment_my_page.xml From c8dccefe6528d7e5f25ae97e43a0d5a04e39570c Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 02:16:32 +0900 Subject: [PATCH 04/51] =?UTF-8?q?[MOVE/#11]=20MyPageFragment=20=ED=8C=A8?= =?UTF-8?q?=ED=82=A4=EC=A7=80=20=EC=9D=B4=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/home/{ => mypage}/MyPageFragment.kt | 2 +- .../com/puzzling/puzzlingaos/presentation/main/MainActivity.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/home/{ => mypage}/MyPageFragment.kt (80%) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/MyPageFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt similarity index 80% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/home/MyPageFragment.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt index f427d5cd..f5617d7c 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/MyPageFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt @@ -1,4 +1,4 @@ -package com.puzzling.puzzlingaos.presentation.home +package com.puzzling.puzzlingaos.presentation.home.mypage import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt index 6f451f10..80b628d2 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/main/MainActivity.kt @@ -7,7 +7,7 @@ import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseActivity import com.puzzling.puzzlingaos.databinding.ActivityMainBinding import com.puzzling.puzzlingaos.presentation.home.HomeFragment -import com.puzzling.puzzlingaos.presentation.home.MyPageFragment +import com.puzzling.puzzlingaos.presentation.home.mypage.MyPageFragment class MainActivity : BaseActivity(R.layout.activity_main) { override fun onCreate(savedInstanceState: Bundle?) { From dfc4d28c1509c75e8fa00915a622790a87dc1701 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 02:17:52 +0900 Subject: [PATCH 05/51] =?UTF-8?q?[ADD/#11]=20=EB=B0=B0=EA=B2=BD=20drawable?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/drawable/rect_blue100_fill_16.xml | 6 ++++++ app/src/main/res/drawable/rect_white_fill_16.xml | 6 ++++++ 2 files changed, 12 insertions(+) create mode 100644 app/src/main/res/drawable/rect_blue100_fill_16.xml create mode 100644 app/src/main/res/drawable/rect_white_fill_16.xml diff --git a/app/src/main/res/drawable/rect_blue100_fill_16.xml b/app/src/main/res/drawable/rect_blue100_fill_16.xml new file mode 100644 index 00000000..1db3c46b --- /dev/null +++ b/app/src/main/res/drawable/rect_blue100_fill_16.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/rect_white_fill_16.xml b/app/src/main/res/drawable/rect_white_fill_16.xml new file mode 100644 index 00000000..affe5931 --- /dev/null +++ b/app/src/main/res/drawable/rect_white_fill_16.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file From 0064e32c56b92798baaaa770e1dc53fb77c8cc31 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 02:18:13 +0900 Subject: [PATCH 06/51] =?UTF-8?q?[ADD/#11]=20=EB=A1=9C=EA=B7=B8=EC=95=84?= =?UTF-8?q?=EC=9B=83=20string=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/values/strings.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b410b42a..25da53bd 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -30,4 +30,5 @@ 학습과 자기 반성을 통해 향후 더 나은 결정을\n내릴 수 있게 해 주는 회고 방식이에요! 저장하기 취소 + 로그아웃 하기 \ No newline at end of file From c10fe571ea3b3f29e07b56140418489e036c94d5 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 02:28:02 +0900 Subject: [PATCH 07/51] =?UTF-8?q?[ADD/#11]=20MyPageFragment=20UI=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/fragment_my_page.xml | 83 ++++++++++++++++++-- 1 file changed, 76 insertions(+), 7 deletions(-) diff --git a/app/src/main/res/layout/fragment_my_page.xml b/app/src/main/res/layout/fragment_my_page.xml index 1cecbb44..1010fc89 100644 --- a/app/src/main/res/layout/fragment_my_page.xml +++ b/app/src/main/res/layout/fragment_my_page.xml @@ -1,21 +1,90 @@ - + tools:context=".presentation.home.mypage.MyPageFragment"> - - + android:layout_height="?attr/actionBarSize" + android:layout_marginTop="48dp" + app:contentInsetEnd="0dp" + app:contentInsetStart="0dp" + app:contentInsetStartWithNavigation="0dp" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + + + + + + + + + + + + + + + + - + \ No newline at end of file From 6d5bb23d57c29d1fccab1b8ce857feff406deb78 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 02:28:43 +0900 Subject: [PATCH 08/51] =?UTF-8?q?[ADD/#11]=20recyclerview=20item=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/item_my_project.xml | 72 +++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 app/src/main/res/layout/item_my_project.xml diff --git a/app/src/main/res/layout/item_my_project.xml b/app/src/main/res/layout/item_my_project.xml new file mode 100644 index 00000000..57df372c --- /dev/null +++ b/app/src/main/res/layout/item_my_project.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From a9e478d9e45b82e2cd7bb50f15db72928b84d0d1 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 03:04:16 +0900 Subject: [PATCH 09/51] =?UTF-8?q?[RENAME/#11]=20id=20naming=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/activity_invitation_code.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_invitation_code.xml b/app/src/main/res/layout/activity_invitation_code.xml index 6dc95e3d..8ee085ef 100644 --- a/app/src/main/res/layout/activity_invitation_code.xml +++ b/app/src/main/res/layout/activity_invitation_code.xml @@ -15,7 +15,7 @@ android:layout_height="match_parent"> Date: Thu, 13 Jul 2023 03:19:04 +0900 Subject: [PATCH 10/51] =?UTF-8?q?[FIX/#11]=20=EC=BD=94=EB=93=9C=EB=A6=AC?= =?UTF-8?q?=EB=B7=B0=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../invitationCode/InputCodeFragment.kt | 2 +- .../invitationCode/InvitationCodeActivity.kt | 14 +++++++++----- .../main/res/layout/activity_invitation_code.xml | 4 ++-- app/src/main/res/layout/fragment_input_code.xml | 3 +-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt index a3258e3f..710f34a9 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt @@ -29,7 +29,7 @@ class InputCodeFragment : BaseFragment(R.layout.fragme viewModel.isCodeSuccess.collect { if (it != null && it) { requireActivity().supportFragmentManager.beginTransaction() - .replace(R.id.fc_invitation, InputProfileFragment()) + .replace(R.id.fcv_invitation_main, InputProfileFragment()) .commit() } } diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt index bbbea809..a5144c72 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt @@ -15,13 +15,17 @@ class InvitationCodeActivity : override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - val currentFragment = supportFragmentManager.findFragmentById(R.id.fc_invitation) - if (currentFragment == null) { - supportFragmentManager.beginTransaction() - .add(R.id.fc_invitation, InputCodeFragment()).commit() - } + initFragment() binding.vm = viewModel binding.lifecycleOwner = this@InvitationCodeActivity } + + private fun initFragment() { + val currentFragment = supportFragmentManager.findFragmentById(R.id.fcv_invitation_main) + if (currentFragment == null) { + supportFragmentManager.beginTransaction() + .add(R.id.fcv_invitation_main, InputCodeFragment()).commit() + } + } } diff --git a/app/src/main/res/layout/activity_invitation_code.xml b/app/src/main/res/layout/activity_invitation_code.xml index 8ee085ef..388f1cc3 100644 --- a/app/src/main/res/layout/activity_invitation_code.xml +++ b/app/src/main/res/layout/activity_invitation_code.xml @@ -51,13 +51,13 @@ + app:layout_constraintTop_toBottomOf="@id/tb_invitation_main" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_input_code.xml b/app/src/main/res/layout/fragment_input_code.xml index 2a09d587..5e2b1184 100644 --- a/app/src/main/res/layout/fragment_input_code.xml +++ b/app/src/main/res/layout/fragment_input_code.xml @@ -64,8 +64,7 @@ app:flow_verticalAlign="center" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintTop_toBottomOf="@id/tv_invitation_code" - tools:background="@drawable/rect_red200_line_16" /> + app:layout_constraintTop_toBottomOf="@id/tv_invitation_code" /> Date: Thu, 13 Jul 2023 13:07:55 +0900 Subject: [PATCH 11/51] =?UTF-8?q?[ADD/#11]=20=EB=82=B4=20=ED=9A=8C?= =?UTF-8?q?=EA=B3=A0=20=EB=B7=B0=20toolbar=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 ++ .../home/mypage/MyRetrospectActivity.kt | 37 +++++++++++++++++ .../res/layout/activity_my_retrospect.xml | 41 +++++++++++++++++++ 3 files changed, 81 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt create mode 100644 app/src/main/res/layout/activity_my_retrospect.xml diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 612c8122..1033c1ff 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,6 +31,9 @@ + + \ No newline at end of file diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt new file mode 100644 index 00000000..14e020ac --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt @@ -0,0 +1,37 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage + +import android.content.Intent +import android.os.Bundle +import android.view.MenuItem +import com.puzzling.puzzlingaos.R +import com.puzzling.puzzlingaos.base.BaseActivity +import com.puzzling.puzzlingaos.databinding.ActivityMyRetrospectBinding +import com.puzzling.puzzlingaos.presentation.main.MainActivity + +class MyRetrospectActivity : + BaseActivity(R.layout.activity_my_retrospect) { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + initToolbar() + } + + private fun initToolbar() { + setSupportActionBar(binding.tbMyRetrospectMain) + supportActionBar?.setDisplayHomeAsUpEnabled(true) + supportActionBar?.setDisplayShowTitleEnabled(false) + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + when (item.itemId) { + android.R.id.home -> { + val intent = Intent(this, MainActivity::class.java) + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK) + startActivity(intent) + finish() + } + } + + return super.onOptionsItemSelected(item) + } +} diff --git a/app/src/main/res/layout/activity_my_retrospect.xml b/app/src/main/res/layout/activity_my_retrospect.xml new file mode 100644 index 00000000..53251bcb --- /dev/null +++ b/app/src/main/res/layout/activity_my_retrospect.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From e0725a191a7337630d144883090205cc045bd08b Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 13:10:26 +0900 Subject: [PATCH 12/51] =?UTF-8?q?[FIX/#5]=20=EC=A4=91=EB=B3=B5=EB=90=9C=20?= =?UTF-8?q?lifecycleOwner=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/invitationCode/InvitationCodeActivity.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt index a5144c72..92c47a71 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeActivity.kt @@ -18,7 +18,6 @@ class InvitationCodeActivity : initFragment() binding.vm = viewModel - binding.lifecycleOwner = this@InvitationCodeActivity } private fun initFragment() { From 929b3254ad87acc3b405bab8672874ce4142e1a3 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 13:47:31 +0900 Subject: [PATCH 13/51] =?UTF-8?q?[FEAT/#11]=20=EB=82=B4=20=ED=9A=8C?= =?UTF-8?q?=EA=B3=A0=20default=20view=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/layout/activity_my_retrospect.xml | 41 ++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_my_retrospect.xml b/app/src/main/res/layout/activity_my_retrospect.xml index 53251bcb..f40b1037 100644 --- a/app/src/main/res/layout/activity_my_retrospect.xml +++ b/app/src/main/res/layout/activity_my_retrospect.xml @@ -25,7 +25,7 @@ + + + + + + + + + + + + + \ No newline at end of file From b08249de6ab31407e26eb3a3d7735df900350d34 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 13:48:20 +0900 Subject: [PATCH 14/51] =?UTF-8?q?[FIX/#11]=20rcv=20height=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/activity_my_retrospect.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/layout/activity_my_retrospect.xml b/app/src/main/res/layout/activity_my_retrospect.xml index f40b1037..c9885acc 100644 --- a/app/src/main/res/layout/activity_my_retrospect.xml +++ b/app/src/main/res/layout/activity_my_retrospect.xml @@ -70,7 +70,7 @@ Date: Thu, 13 Jul 2023 17:35:47 +0900 Subject: [PATCH 15/51] =?UTF-8?q?[FEAT/#5]=20=EC=A0=95=EA=B7=9C=EC=8B=9D?= =?UTF-8?q?=20=EA=B3=B5=EB=B0=B1=20=ED=97=88=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/invitationCode/InvitationCodeViewModel.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt index f39e005c..9296502e 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt @@ -113,8 +113,8 @@ class InvitationCodeViewModel : ViewModel() { } companion object { - const val EMOJI_PATTERN = - "^[ㄱ-ㅣ가-힣a-zA-Z0-9\\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55]+$" + const val EMOJI_PATTERN: String = + "^[ㄱ-ㅣ가-힣a-zA-Z0-9 \\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55]+$" const val INPUT_CODE_ERROR = "유효하지 않은 초대코드에요. 코드를 확인해주세요." const val EMOJI_ERROR = "특수문자, 이모지를 사용할 수 없어요." const val NICKNAME_ALREADY_INUSE = "이미 사용 중인 닉네임이에요." From 8732cb2b440f30344c7255d860cb701767304eca Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:23:09 +0900 Subject: [PATCH 16/51] =?UTF-8?q?[DELETE/#11]=20manifest=20activity=20?= =?UTF-8?q?=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1033c1ff..612c8122 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -31,9 +31,6 @@ - - \ No newline at end of file From b6b41dd468ea6089b7b5fec31985953fc63e42e5 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:23:34 +0900 Subject: [PATCH 17/51] =?UTF-8?q?[ADD/#11]=20BaseResponse=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/model/response/BaseResponse.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/data/model/response/BaseResponse.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/BaseResponse.kt b/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/BaseResponse.kt new file mode 100644 index 00000000..6929f22b --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/BaseResponse.kt @@ -0,0 +1,14 @@ +package com.puzzling.puzzlingaos.data.model.response + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class BaseResponse( + @SerialName("status") + val status: Int, + @SerialName("message") + val message: String, + @SerialName("data") + val data: T? = null, +) From 9e759a0f27d95a2d6a0507cbc7d0e877f7cf6e13 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:24:01 +0900 Subject: [PATCH 18/51] =?UTF-8?q?[ADD/#11]=20BottomAdapter=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../puzzlingaos/presentation/home/mypage/BottomAdapter.kt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt new file mode 100644 index 00000000..fc816aa9 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt @@ -0,0 +1,4 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage + +class BottomAdapter { +} \ No newline at end of file From c0373b16e77e762f91a8295e60dc326654b329da Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:24:56 +0900 Subject: [PATCH 19/51] =?UTF-8?q?[FIX/#11]=20margin=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../{activity_my_retrospect.xml => fragment_my_retrospect.xml} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename app/src/main/res/layout/{activity_my_retrospect.xml => fragment_my_retrospect.xml} (98%) diff --git a/app/src/main/res/layout/activity_my_retrospect.xml b/app/src/main/res/layout/fragment_my_retrospect.xml similarity index 98% rename from app/src/main/res/layout/activity_my_retrospect.xml rename to app/src/main/res/layout/fragment_my_retrospect.xml index c9885acc..02ba494f 100644 --- a/app/src/main/res/layout/activity_my_retrospect.xml +++ b/app/src/main/res/layout/fragment_my_retrospect.xml @@ -44,7 +44,7 @@ android:layout_height="wrap_content" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tb_myRetrospect_main" - android:layout_marginStart="16dp" + android:layout_marginStart="20dp" android:layout_marginTop="16dp" android:background="@drawable/rect_gray050_fill_16"> From 73138c865c953848b09b89bcbde7c57c64032c1b Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:25:32 +0900 Subject: [PATCH 20/51] =?UTF-8?q?[FIX/#11]=20textView=20id=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/item_my_project.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/src/main/res/layout/item_my_project.xml b/app/src/main/res/layout/item_my_project.xml index 57df372c..e11a513c 100644 --- a/app/src/main/res/layout/item_my_project.xml +++ b/app/src/main/res/layout/item_my_project.xml @@ -26,6 +26,7 @@ app:layout_constraintTop_toTopOf="parent" /> Date: Thu, 13 Jul 2023 21:26:39 +0900 Subject: [PATCH 21/51] =?UTF-8?q?[FIX/#11]=20activity=20->=20fragment=20?= =?UTF-8?q?=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/MyRetrospectActivity.kt | 37 ------------------ .../home/mypage/MyRetrospectFragment.kt | 39 +++++++++++++++++++ 2 files changed, 39 insertions(+), 37 deletions(-) delete mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt deleted file mode 100644 index 14e020ac..00000000 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectActivity.kt +++ /dev/null @@ -1,37 +0,0 @@ -package com.puzzling.puzzlingaos.presentation.home.mypage - -import android.content.Intent -import android.os.Bundle -import android.view.MenuItem -import com.puzzling.puzzlingaos.R -import com.puzzling.puzzlingaos.base.BaseActivity -import com.puzzling.puzzlingaos.databinding.ActivityMyRetrospectBinding -import com.puzzling.puzzlingaos.presentation.main.MainActivity - -class MyRetrospectActivity : - BaseActivity(R.layout.activity_my_retrospect) { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - initToolbar() - } - - private fun initToolbar() { - setSupportActionBar(binding.tbMyRetrospectMain) - supportActionBar?.setDisplayHomeAsUpEnabled(true) - supportActionBar?.setDisplayShowTitleEnabled(false) - } - - override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { - android.R.id.home -> { - val intent = Intent(this, MainActivity::class.java) - intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK) - startActivity(intent) - finish() - } - } - - return super.onOptionsItemSelected(item) - } -} diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt new file mode 100644 index 00000000..0f98d3fd --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt @@ -0,0 +1,39 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage + +import android.os.Bundle +import android.view.MenuItem +import android.view.View +import androidx.appcompat.app.AppCompatActivity +import com.puzzling.puzzlingaos.R +import com.puzzling.puzzlingaos.base.BaseFragment +import com.puzzling.puzzlingaos.databinding.FragmentMyRetrospectBinding + +class MyRetrospectFragment : + BaseFragment(R.layout.fragment_my_retrospect) { + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + initToolbar() + } + + private fun initToolbar() { + val activity = requireActivity() as AppCompatActivity + activity.setSupportActionBar(binding.tbMyRetrospectMain) + activity.supportActionBar?.apply { + setDisplayHomeAsUpEnabled(true) + setDisplayShowTitleEnabled(false) + } + } + + override fun onOptionsItemSelected(item: MenuItem): Boolean { + when (item.itemId) { + android.R.id.home -> { + requireActivity().supportFragmentManager.beginTransaction() + .replace(R.id.fcv_main_container, MyPageFragment()) + .commit() + } + } + + return super.onOptionsItemSelected(item) + } +} From 46c49d95caa7d81b2aa13ba46e5bd010680c8941 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:30:58 +0900 Subject: [PATCH 22/51] =?UTF-8?q?[ADD/#11]=20ResponseMyPageProjectDto.kt?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/response/ResponseMyPageProjectDto.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyPageProjectDto.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyPageProjectDto.kt b/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyPageProjectDto.kt new file mode 100644 index 00000000..4b5642b8 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyPageProjectDto.kt @@ -0,0 +1,14 @@ +package com.puzzling.puzzlingaos.data.model.response // ktlint-disable filename + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class ResponseMyPageProjectDto( + @SerialName("projectName") + val projectName: String, + @SerialName("startDate") + val startDate: String, + @SerialName("projectId") + val projectId: Int, +) From 634f34ba59807d0a1faebe256b26e30317fa7503 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:32:51 +0900 Subject: [PATCH 23/51] =?UTF-8?q?[ADD/#11]=20MyProjectAdapter.kt=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/MyProjectAdapter.kt | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt new file mode 100644 index 00000000..22672095 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt @@ -0,0 +1,43 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.ListAdapter +import androidx.recyclerview.widget.RecyclerView +import androidx.recyclerview.widget.RecyclerView.ViewHolder +import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto +import com.puzzling.puzzlingaos.databinding.ItemMyProjectBinding +import com.puzzling.puzzlingaos.util.ItemDiffCallback + +class MyProjectAdapter() : + ListAdapter( + diffCallback, + ) { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyProjectViewHolder { + val binding: ItemMyProjectBinding = + ItemMyProjectBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return MyProjectViewHolder(binding) + } + + override fun onBindViewHolder(holder: MyProjectViewHolder, position: Int) { + return holder.onBind(currentList[position]) + } + + class MyProjectViewHolder(private val binding: ItemMyProjectBinding) : + RecyclerView.ViewHolder(binding.root) { + fun onBind(item: ResponseMyPageProjectDto) { + with(binding) { + tvMyPageProjectName.text = item.projectName + } + } + } + + companion object { + private val diffCallback = + ItemDiffCallback( + onContentsTheSame = { old, new -> old == new }, + onItemsTheSame = { old, new -> old == new }, + ) + } +} From b47b853fd96eba421429b722ce4792a59d3f2463 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:33:29 +0900 Subject: [PATCH 24/51] =?UTF-8?q?[ADD/#11]=20toolbar=20margin=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/fragment_my_page.xml | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/app/src/main/res/layout/fragment_my_page.xml b/app/src/main/res/layout/fragment_my_page.xml index 1010fc89..c9fcb8e3 100644 --- a/app/src/main/res/layout/fragment_my_page.xml +++ b/app/src/main/res/layout/fragment_my_page.xml @@ -15,6 +15,7 @@ - + Date: Thu, 13 Jul 2023 21:34:48 +0900 Subject: [PATCH 25/51] =?UTF-8?q?[FEAT/#11]=20=EB=A7=88=EC=9D=B4=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=ED=9A=8C=EA=B3=A0=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20Adapter=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/MyPageFragment.kt | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt index f5617d7c..21549c42 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt @@ -1,7 +1,36 @@ package com.puzzling.puzzlingaos.presentation.home.mypage +import android.os.Bundle +import android.view.View +import androidx.recyclerview.widget.LinearLayoutManager import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment +import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto import com.puzzling.puzzlingaos.databinding.FragmentMyPageBinding -class MyPageFragment : BaseFragment(R.layout.fragment_my_page) +class MyPageFragment : BaseFragment(R.layout.fragment_my_page) { + + private val dummyItemList = mutableListOf( + ResponseMyPageProjectDto("Piickle", "2023-07-03", 2), + ResponseMyPageProjectDto("HARA", "2023-07-28", 3), + ResponseMyPageProjectDto("낫투두", "2023-07-12", 4), + ResponseMyPageProjectDto("PEEKABOOK", "2023-07-20", 5), + ResponseMyPageProjectDto("킵고잇", "2023-06-25", 8), + ResponseMyPageProjectDto("킵고잇", "2023-06-25", 8), + ) + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + initAdapter() + } + + private fun initAdapter() { + val myProjectAdapter = MyProjectAdapter() + with(binding) { + rcvMyPageMain.adapter = myProjectAdapter + rcvMyPageMain.layoutManager = LinearLayoutManager(activity) + } + myProjectAdapter.submitList(dummyItemList) + } +} From e5c7c1a7eaedc4927eb22edb3301acabd2153066 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:54:48 +0900 Subject: [PATCH 26/51] =?UTF-8?q?[FEAT/#11]=20TopAdapter=20item=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/res/layout/item_mypage_nickname.xml | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 app/src/main/res/layout/item_mypage_nickname.xml diff --git a/app/src/main/res/layout/item_mypage_nickname.xml b/app/src/main/res/layout/item_mypage_nickname.xml new file mode 100644 index 00000000..7e106844 --- /dev/null +++ b/app/src/main/res/layout/item_mypage_nickname.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + \ No newline at end of file From 4a8f13052f523c4f8c865f92ea85fd1417d69b61 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 21:55:29 +0900 Subject: [PATCH 27/51] =?UTF-8?q?[FEAT/#11]=20concatAdapter=EC=9D=84=20?= =?UTF-8?q?=EC=9D=B4=EC=9A=A9=ED=95=B4=20adapter=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/MyPageFragment.kt | 5 +++- .../presentation/home/mypage/TopAdapter.kt | 30 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt index 21549c42..b1f6d77a 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt @@ -2,6 +2,7 @@ package com.puzzling.puzzlingaos.presentation.home.mypage import android.os.Bundle import android.view.View +import androidx.recyclerview.widget.ConcatAdapter import androidx.recyclerview.widget.LinearLayoutManager import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment @@ -27,8 +28,10 @@ class MyPageFragment : BaseFragment(R.layout.fragment_my_ private fun initAdapter() { val myProjectAdapter = MyProjectAdapter() + val concatAdapter = ConcatAdapter(TopAdapter("지니"), myProjectAdapter) + with(binding) { - rcvMyPageMain.adapter = myProjectAdapter + rcvMyPageMain.adapter = concatAdapter rcvMyPageMain.layoutManager = LinearLayoutManager(activity) } myProjectAdapter.submitList(dummyItemList) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt new file mode 100644 index 00000000..22f48899 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt @@ -0,0 +1,30 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.puzzling.puzzlingaos.databinding.ItemMypageNicknameBinding + +class TopAdapter(private val nickName: String) : RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TopViewHolder { + val binding: ItemMypageNicknameBinding = + ItemMypageNicknameBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return TopViewHolder(binding) + } + + override fun getItemCount(): Int { + return 1 + } + + override fun onBindViewHolder(holder: TopViewHolder, position: Int) { + holder.onBind(nickName) + } + + class TopViewHolder(private val binding: ItemMypageNicknameBinding) : + RecyclerView.ViewHolder(binding.root) { + fun onBind(nickName: String) { + binding.tvMyPageNickName.text = nickName+"님 안녕하세요 :)" + } + } +} From b086762122d8bc1c47ecebb749b32c7202637040 Mon Sep 17 00:00:00 2001 From: gaeun Date: Thu, 13 Jul 2023 22:00:40 +0900 Subject: [PATCH 28/51] =?UTF-8?q?[FIX/#11]=20ktlint=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt index 22f48899..c3fa719b 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt @@ -24,7 +24,7 @@ class TopAdapter(private val nickName: String) : RecyclerView.Adapter Date: Thu, 13 Jul 2023 22:27:08 +0900 Subject: [PATCH 29/51] =?UTF-8?q?[FEAT/#11]=20BottomAdapter=EC=9D=84=20?= =?UTF-8?q?=EC=9D=B4=EC=9A=A9=ED=95=9C=20=EB=A1=9C=EA=B7=B8=EC=95=84?= =?UTF-8?q?=EC=9B=83=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/home/mypage/BottomAdapter.kt | 27 +++++++++++++++++-- .../home/mypage/MyPageFragment.kt | 2 +- app/src/main/res/layout/fragment_my_page.xml | 9 ------- .../main/res/layout/item_bottom_logout.xml | 25 +++++++++++++++++ 4 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 app/src/main/res/layout/item_bottom_logout.xml diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt index fc816aa9..1fb1d74e 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt @@ -1,4 +1,27 @@ package com.puzzling.puzzlingaos.presentation.home.mypage -class BottomAdapter { -} \ No newline at end of file +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.puzzling.puzzlingaos.databinding.ItemBottomLogoutBinding +import com.puzzling.puzzlingaos.databinding.ItemMypageNicknameBinding + +class BottomAdapter() : + RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BottomViewHolder { + val binding: ItemBottomLogoutBinding = + ItemBottomLogoutBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return BottomViewHolder(binding) + } + + override fun getItemCount(): Int { + return 1 + } + + override fun onBindViewHolder(holder: BottomViewHolder, position: Int) { + } + + class BottomViewHolder(private val binding: ItemBottomLogoutBinding) : + RecyclerView.ViewHolder(binding.root) +} diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt index b1f6d77a..c5020d19 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt @@ -28,7 +28,7 @@ class MyPageFragment : BaseFragment(R.layout.fragment_my_ private fun initAdapter() { val myProjectAdapter = MyProjectAdapter() - val concatAdapter = ConcatAdapter(TopAdapter("지니"), myProjectAdapter) + val concatAdapter = ConcatAdapter(TopAdapter("지니"), myProjectAdapter, BottomAdapter()) with(binding) { rcvMyPageMain.adapter = concatAdapter diff --git a/app/src/main/res/layout/fragment_my_page.xml b/app/src/main/res/layout/fragment_my_page.xml index c9fcb8e3..512e51e3 100644 --- a/app/src/main/res/layout/fragment_my_page.xml +++ b/app/src/main/res/layout/fragment_my_page.xml @@ -68,15 +68,6 @@ app:layout_constraintTop_toBottomOf="@id/tb_myPage" tools:listitem="@layout/item_my_project" /> - - \ No newline at end of file diff --git a/app/src/main/res/layout/item_bottom_logout.xml b/app/src/main/res/layout/item_bottom_logout.xml new file mode 100644 index 00000000..da32a796 --- /dev/null +++ b/app/src/main/res/layout/item_bottom_logout.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file From 6666b6e0e1676792a9f0cbe826b8583d9c9f335d Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 02:49:53 +0900 Subject: [PATCH 30/51] =?UTF-8?q?[FEAT/#11]=20=EB=82=A0=EC=A7=9C=20?= =?UTF-8?q?=EA=B3=84=EC=82=B0=EC=9D=84=20=ED=86=B5=ED=95=9C=20=EB=94=94?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/home/mypage/MyProjectAdapter.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt index 22672095..26fa6fd2 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt @@ -4,10 +4,12 @@ import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView -import androidx.recyclerview.widget.RecyclerView.ViewHolder import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto import com.puzzling.puzzlingaos.databinding.ItemMyProjectBinding import com.puzzling.puzzlingaos.util.ItemDiffCallback +import java.lang.Math.abs +import java.text.SimpleDateFormat +import java.util.* class MyProjectAdapter() : ListAdapter( @@ -26,9 +28,21 @@ class MyProjectAdapter() : class MyProjectViewHolder(private val binding: ItemMyProjectBinding) : RecyclerView.ViewHolder(binding.root) { + fun onBind(item: ResponseMyPageProjectDto) { with(binding) { tvMyPageProjectName.text = item.projectName + + val now = Date() + val startDate = + SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(item.startDate) + val timeDiff = (now.time - startDate.time) / (24 * 60 * 60 * 1000) + + if (timeDiff < 0) { + binding.tvMyPageStartDate.text = "D - ${kotlin.math.abs(timeDiff - 1)}" + } else { + binding.tvMyPageStartDate.text = "D + ${timeDiff.toString()}" + } } } } From a096373c9bd07033c746f8e86176f8f27e8d708a Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 03:13:07 +0900 Subject: [PATCH 31/51] =?UTF-8?q?[FEAT/#11]=20=EB=82=B4=20=ED=9A=8C?= =?UTF-8?q?=EA=B3=A0=20=EC=A1=B0=ED=9A=8C=20UI=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/drawable/ic_right.xml | 13 +++++ .../res/layout/fragment_my_retrospect.xml | 32 ++---------- .../main/res/layout/item_myretro_project.xml | 47 ++++++++++++++++++ .../main/res/layout/item_myretro_retro.xml | 49 +++++++++++++++++++ 4 files changed, 112 insertions(+), 29 deletions(-) create mode 100644 app/src/main/res/drawable/ic_right.xml create mode 100644 app/src/main/res/layout/item_myretro_project.xml create mode 100644 app/src/main/res/layout/item_myretro_retro.xml diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml new file mode 100644 index 00000000..3bd6882c --- /dev/null +++ b/app/src/main/res/drawable/ic_right.xml @@ -0,0 +1,13 @@ + + + diff --git a/app/src/main/res/layout/fragment_my_retrospect.xml b/app/src/main/res/layout/fragment_my_retrospect.xml index 02ba494f..9aea3716 100644 --- a/app/src/main/res/layout/fragment_my_retrospect.xml +++ b/app/src/main/res/layout/fragment_my_retrospect.xml @@ -38,42 +38,16 @@ - - - - - - - - diff --git a/app/src/main/res/layout/item_myretro_project.xml b/app/src/main/res/layout/item_myretro_project.xml new file mode 100644 index 00000000..7d606f7a --- /dev/null +++ b/app/src/main/res/layout/item_myretro_project.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_myretro_retro.xml b/app/src/main/res/layout/item_myretro_retro.xml new file mode 100644 index 00000000..7fd7fd96 --- /dev/null +++ b/app/src/main/res/layout/item_myretro_retro.xml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file From 3262f8dd4ab9f533dd721771831afaccb9822010 Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 03:17:33 +0900 Subject: [PATCH 32/51] =?UTF-8?q?[RENAME/#11]=20adapter=20=ED=8C=A8?= =?UTF-8?q?=ED=82=A4=EC=A7=80=EB=A1=9C=20=EC=98=AE=EA=B9=80=20&=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../puzzlingaos/presentation/home/mypage/MyPageFragment.kt | 5 ++++- .../home/mypage/{ => adapter}/MyProjectAdapter.kt | 3 +-- .../MyProjectBottomAdapter.kt} | 7 +++---- .../{TopAdapter.kt => adapter/MyProjectTopAdapter.kt} | 4 ++-- 4 files changed, 10 insertions(+), 9 deletions(-) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/{ => adapter}/MyProjectAdapter.kt (96%) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/{BottomAdapter.kt => adapter/MyProjectBottomAdapter.kt} (77%) rename app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/{TopAdapter.kt => adapter/MyProjectTopAdapter.kt} (83%) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt index c5020d19..71bd3f8e 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt @@ -8,6 +8,9 @@ import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto import com.puzzling.puzzlingaos.databinding.FragmentMyPageBinding +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectBottomAdapter +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectAdapter +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectTopAdapter class MyPageFragment : BaseFragment(R.layout.fragment_my_page) { @@ -28,7 +31,7 @@ class MyPageFragment : BaseFragment(R.layout.fragment_my_ private fun initAdapter() { val myProjectAdapter = MyProjectAdapter() - val concatAdapter = ConcatAdapter(TopAdapter("지니"), myProjectAdapter, BottomAdapter()) + val concatAdapter = ConcatAdapter(MyProjectTopAdapter("지니"), myProjectAdapter, MyProjectBottomAdapter()) with(binding) { rcvMyPageMain.adapter = concatAdapter diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectAdapter.kt similarity index 96% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectAdapter.kt index 26fa6fd2..45f9350b 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyProjectAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectAdapter.kt @@ -1,4 +1,4 @@ -package com.puzzling.puzzlingaos.presentation.home.mypage +package com.puzzling.puzzlingaos.presentation.home.mypage.adapter import android.view.LayoutInflater import android.view.ViewGroup @@ -7,7 +7,6 @@ import androidx.recyclerview.widget.RecyclerView import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto import com.puzzling.puzzlingaos.databinding.ItemMyProjectBinding import com.puzzling.puzzlingaos.util.ItemDiffCallback -import java.lang.Math.abs import java.text.SimpleDateFormat import java.util.* diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectBottomAdapter.kt similarity index 77% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectBottomAdapter.kt index 1fb1d74e..21dda641 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/BottomAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectBottomAdapter.kt @@ -1,13 +1,12 @@ -package com.puzzling.puzzlingaos.presentation.home.mypage +package com.puzzling.puzzlingaos.presentation.home.mypage.adapter import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.puzzling.puzzlingaos.databinding.ItemBottomLogoutBinding -import com.puzzling.puzzlingaos.databinding.ItemMypageNicknameBinding -class BottomAdapter() : - RecyclerView.Adapter() { +class MyProjectBottomAdapter() : + RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): BottomViewHolder { val binding: ItemBottomLogoutBinding = diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectTopAdapter.kt similarity index 83% rename from app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt rename to app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectTopAdapter.kt index c3fa719b..ddae684d 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/TopAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectTopAdapter.kt @@ -1,11 +1,11 @@ -package com.puzzling.puzzlingaos.presentation.home.mypage +package com.puzzling.puzzlingaos.presentation.home.mypage.adapter import android.view.LayoutInflater import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.puzzling.puzzlingaos.databinding.ItemMypageNicknameBinding -class TopAdapter(private val nickName: String) : RecyclerView.Adapter() { +class MyProjectTopAdapter(private val nickName: String) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): TopViewHolder { val binding: ItemMypageNicknameBinding = From 72e50570829fd65d4069d7568fcb932dd39139ef Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 04:05:21 +0900 Subject: [PATCH 33/51] =?UTF-8?q?[ADD/#11]=20view=20id=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/fragment_my_retrospect.xml | 1 + app/src/main/res/layout/item_myretro_project.xml | 1 + app/src/main/res/layout/item_myretro_retro.xml | 1 + 3 files changed, 3 insertions(+) diff --git a/app/src/main/res/layout/fragment_my_retrospect.xml b/app/src/main/res/layout/fragment_my_retrospect.xml index 9aea3716..8d4d7dc6 100644 --- a/app/src/main/res/layout/fragment_my_retrospect.xml +++ b/app/src/main/res/layout/fragment_my_retrospect.xml @@ -41,6 +41,7 @@ Date: Fri, 14 Jul 2023 04:10:35 +0900 Subject: [PATCH 34/51] =?UTF-8?q?[ADD/#11]=20ResponseMyRetroListDto.kt=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/model/response/ResponseMyRetroListDto.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyRetroListDto.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyRetroListDto.kt b/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyRetroListDto.kt new file mode 100644 index 00000000..a18725b1 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/data/model/response/ResponseMyRetroListDto.kt @@ -0,0 +1,14 @@ +package com.puzzling.puzzlingaos.data.model.response + +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +data class ResponseMyRetroListDto( + @SerialName("reviewId") + val reviewId: Int, + @SerialName("reviewDate") + val reviewDate: String, + @SerialName("contents") + val contents: String, +) From 24a29cb4b8eaeb5879c245b3164750a0ec94c3d2 Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 04:10:54 +0900 Subject: [PATCH 35/51] =?UTF-8?q?[ADD/#11]=20=EB=82=B4=20=ED=9A=8C?= =?UTF-8?q?=EA=B3=A0=20Adapter=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/adapter/MyRetroAdapter.kt | 39 +++++++++++++++++++ .../home/mypage/adapter/MyRetroTopAdapter.kt | 30 ++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroAdapter.kt create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroAdapter.kt new file mode 100644 index 00000000..41a28d64 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroAdapter.kt @@ -0,0 +1,39 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.ListAdapter +import androidx.recyclerview.widget.RecyclerView +import com.puzzling.puzzlingaos.data.model.response.ResponseMyRetroListDto +import com.puzzling.puzzlingaos.databinding.ItemMyretroRetroBinding +import com.puzzling.puzzlingaos.util.ItemDiffCallback + +class MyRetroAdapter() : ListAdapter( + diffCallback, +) { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyRetroViewHolder { + val binding: ItemMyretroRetroBinding = + ItemMyretroRetroBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return MyRetroViewHolder(binding) + } + + override fun onBindViewHolder(holder: MyRetroViewHolder, position: Int) { + return holder.onBind(currentList[position]) + } + + class MyRetroViewHolder(private val binding: ItemMyretroRetroBinding) : + RecyclerView.ViewHolder(binding.root) { + fun onBind(item: ResponseMyRetroListDto) { + binding.tvMyretroDate.text = item.reviewDate + } + } + + companion object { + private val diffCallback = + ItemDiffCallback( + onContentsTheSame = { old, new -> old == new }, + onItemsTheSame = { old, new -> old == new }, + ) + } +} diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt new file mode 100644 index 00000000..ec2a9fba --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt @@ -0,0 +1,30 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage.adapter + +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.puzzling.puzzlingaos.databinding.ItemMyretroProjectBinding + +class MyRetroTopAdapter(private val projectName: String) : + RecyclerView.Adapter() { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyRetroTopViewHolder { + val binding : ItemMyretroProjectBinding = ItemMyretroProjectBinding.inflate(LayoutInflater.from(parent.context),parent,false) + return MyRetroTopViewHolder(binding) + } + + override fun getItemCount(): Int { + return 1 + } + + override fun onBindViewHolder(holder: MyRetroTopViewHolder, position: Int) { + holder.onBind(projectName) + } + + class MyRetroTopViewHolder(private val binding: ItemMyretroProjectBinding) : + RecyclerView.ViewHolder(binding.root) { + fun onBind(projectName: String) { + binding.tvMyretroProjectName.text = projectName + } + } +} From 5ceaf9bb15a6de16bc70ec7dec66c939220b7f7f Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 04:17:20 +0900 Subject: [PATCH 36/51] =?UTF-8?q?[FEAT/#11]=20=EB=82=B4=20=ED=9A=8C?= =?UTF-8?q?=EA=B3=A0=20UI=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/MyRetrospectFragment.kt | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt index 0f98d3fd..fe43bcdf 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt @@ -4,16 +4,32 @@ import android.os.Bundle import android.view.MenuItem import android.view.View import androidx.appcompat.app.AppCompatActivity +import androidx.recyclerview.widget.ConcatAdapter +import androidx.recyclerview.widget.LinearLayoutManager import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment +import com.puzzling.puzzlingaos.data.model.response.ResponseMyRetroListDto import com.puzzling.puzzlingaos.databinding.FragmentMyRetrospectBinding +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectTopAdapter +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyRetroAdapter class MyRetrospectFragment : BaseFragment(R.layout.fragment_my_retrospect) { + + private val dummyItemList = mutableListOf( + ResponseMyRetroListDto(23, "2023-07-12", "여기는 20글자 정도 노출되고,,"), + ResponseMyRetroListDto(12, "2023-07-24", "유저가 회고 템플릿에서 가장 첫 번째 인풋창에 입력한 값 노출.. "), + ResponseMyRetroListDto(5, "2023-07-27", "여기는18글자정도노출되고나머지부분..."), + ResponseMyRetroListDto(7, "2023-07-5", "여기는18글자정도노출되고나머지부분..."), + ResponseMyRetroListDto(8, "2023-08-02", "여기는18글자정도노출되고나머지부분..."), + ResponseMyRetroListDto(10, "2023-06-22", "여기는18글자정도노출되고나머지부분..."), + ) + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) initToolbar() + initAdapter() } private fun initToolbar() { @@ -36,4 +52,15 @@ class MyRetrospectFragment : return super.onOptionsItemSelected(item) } + + private fun initAdapter() { + val myRetroAdapter = MyRetroAdapter() + val concatAdapter = ConcatAdapter(MyProjectTopAdapter("Piickle"), myRetroAdapter) + + with(binding) { + rcvMyRetroMain.adapter = concatAdapter + rcvMyRetroMain.layoutManager = LinearLayoutManager(activity) + } + myRetroAdapter.submitList(dummyItemList) + } } From cef2451eb1154c64f4717f7f01e8a101022830fd Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 04:59:07 +0900 Subject: [PATCH 37/51] =?UTF-8?q?[FEAT/#11]=20recyclerview=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=ED=81=B4=EB=A6=AD=EC=8B=9C=20fragment=20=EC=A0=84?= =?UTF-8?q?=ED=99=98=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/MyPageFragment.kt | 13 +++++-- .../home/mypage/MyRetrospectFragment.kt | 14 ++------ .../home/mypage/adapter/MyProjectAdapter.kt | 34 ++++++++++++++----- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt index 71bd3f8e..324d2d0c 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyPageFragment.kt @@ -8,8 +8,8 @@ import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto import com.puzzling.puzzlingaos.databinding.FragmentMyPageBinding -import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectBottomAdapter import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectAdapter +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectBottomAdapter import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectTopAdapter class MyPageFragment : BaseFragment(R.layout.fragment_my_page) { @@ -31,12 +31,21 @@ class MyPageFragment : BaseFragment(R.layout.fragment_my_ private fun initAdapter() { val myProjectAdapter = MyProjectAdapter() - val concatAdapter = ConcatAdapter(MyProjectTopAdapter("지니"), myProjectAdapter, MyProjectBottomAdapter()) + val concatAdapter = + ConcatAdapter(MyProjectTopAdapter("지니"), myProjectAdapter, MyProjectBottomAdapter()) with(binding) { rcvMyPageMain.adapter = concatAdapter rcvMyPageMain.layoutManager = LinearLayoutManager(activity) } myProjectAdapter.submitList(dummyItemList) + + myProjectAdapter.setOnItemClickListener(object : MyProjectAdapter.OnItemClickListener { + override fun onItemClick(v: View, data: ResponseMyPageProjectDto, pos: Int) { + requireActivity().supportFragmentManager.beginTransaction() + .replace(R.id.fcv_main_container, MyRetrospectFragment()).addToBackStack(null) + .commit() + } + }) } } diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt index fe43bcdf..334fe9b7 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt @@ -1,7 +1,6 @@ package com.puzzling.puzzlingaos.presentation.home.mypage import android.os.Bundle -import android.view.MenuItem import android.view.View import androidx.appcompat.app.AppCompatActivity import androidx.recyclerview.widget.ConcatAdapter @@ -39,18 +38,9 @@ class MyRetrospectFragment : setDisplayHomeAsUpEnabled(true) setDisplayShowTitleEnabled(false) } - } - - override fun onOptionsItemSelected(item: MenuItem): Boolean { - when (item.itemId) { - android.R.id.home -> { - requireActivity().supportFragmentManager.beginTransaction() - .replace(R.id.fcv_main_container, MyPageFragment()) - .commit() - } + binding.tbMyRetrospectMain.setNavigationOnClickListener { + requireActivity().supportFragmentManager.popBackStack() } - - return super.onOptionsItemSelected(item) } private fun initAdapter() { diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectAdapter.kt index 45f9350b..e4edeb9c 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyProjectAdapter.kt @@ -1,6 +1,7 @@ package com.puzzling.puzzlingaos.presentation.home.mypage.adapter import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView @@ -25,27 +26,42 @@ class MyProjectAdapter() : return holder.onBind(currentList[position]) } - class MyProjectViewHolder(private val binding: ItemMyProjectBinding) : + private var listener: OnItemClickListener? = null + + inner class MyProjectViewHolder(private val binding: ItemMyProjectBinding) : RecyclerView.ViewHolder(binding.root) { fun onBind(item: ResponseMyPageProjectDto) { + val now = Date() + val startDate = + SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(item.startDate) + val timeDiff = (now.time - startDate.time) / (24 * 60 * 60 * 1000) + with(binding) { tvMyPageProjectName.text = item.projectName - - val now = Date() - val startDate = - SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(item.startDate) - val timeDiff = (now.time - startDate.time) / (24 * 60 * 60 * 1000) - if (timeDiff < 0) { - binding.tvMyPageStartDate.text = "D - ${kotlin.math.abs(timeDiff - 1)}" + tvMyPageStartDate.text = "D - ${kotlin.math.abs(timeDiff - 1)}" } else { - binding.tvMyPageStartDate.text = "D + ${timeDiff.toString()}" + tvMyPageStartDate.text = "D + $timeDiff" + } + } + + if (bindingAdapterPosition != RecyclerView.NO_POSITION) { + binding.btnMyPageAllRetrospect.setOnClickListener { + listener?.onItemClick(itemView, item, bindingAdapterPosition) } } } } + interface OnItemClickListener { + fun onItemClick(v: View, data: ResponseMyPageProjectDto, pos: Int) + } + + fun setOnItemClickListener(listener: OnItemClickListener) { + this.listener = listener + } + companion object { private val diffCallback = ItemDiffCallback( From 838059c4cef0a6799678a3c9fd3a78ca5f604d7c Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 16:25:02 +0900 Subject: [PATCH 38/51] =?UTF-8?q?[FIX/#11]=20=EC=96=B4=EB=8C=91=ED=84=B0?= =?UTF-8?q?=20=EC=9E=98=EB=AA=BB=20=EC=97=B0=EA=B2=B0=EB=90=9C=EA=B1=B0=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/home/mypage/MyRetrospectFragment.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt index 334fe9b7..65f0a9a6 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt @@ -11,6 +11,7 @@ import com.puzzling.puzzlingaos.data.model.response.ResponseMyRetroListDto import com.puzzling.puzzlingaos.databinding.FragmentMyRetrospectBinding import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectTopAdapter import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyRetroAdapter +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyRetroTopAdapter class MyRetrospectFragment : BaseFragment(R.layout.fragment_my_retrospect) { @@ -45,7 +46,7 @@ class MyRetrospectFragment : private fun initAdapter() { val myRetroAdapter = MyRetroAdapter() - val concatAdapter = ConcatAdapter(MyProjectTopAdapter("Piickle"), myRetroAdapter) + val concatAdapter = ConcatAdapter(MyRetroTopAdapter("Piickle"), myRetroAdapter) with(binding) { rcvMyRetroMain.adapter = concatAdapter From a69582e02b7efb10aa61206c21c9e50ae4ca979b Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:03:24 +0900 Subject: [PATCH 39/51] =?UTF-8?q?[ADD/#11]=20=ED=95=84=EC=9A=94=ED=95=9C?= =?UTF-8?q?=20drawable=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/drawable/ic_selected_project.xml | 9 +++++++++ app/src/main/res/drawable/rect_gray200_line_0.xml | 7 +++++++ 2 files changed, 16 insertions(+) create mode 100644 app/src/main/res/drawable/ic_selected_project.xml create mode 100644 app/src/main/res/drawable/rect_gray200_line_0.xml diff --git a/app/src/main/res/drawable/ic_selected_project.xml b/app/src/main/res/drawable/ic_selected_project.xml new file mode 100644 index 00000000..dbefd178 --- /dev/null +++ b/app/src/main/res/drawable/ic_selected_project.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/rect_gray200_line_0.xml b/app/src/main/res/drawable/rect_gray200_line_0.xml new file mode 100644 index 00000000..2275083f --- /dev/null +++ b/app/src/main/res/drawable/rect_gray200_line_0.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file From 49880096236f83723725d2efda8dc80480ce3f00 Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:07:47 +0900 Subject: [PATCH 40/51] =?UTF-8?q?[ADD/#11]=20bottomSheet=20=ED=94=84?= =?UTF-8?q?=EB=A1=9C=EC=A0=9D=ED=8A=B8=20default=20UI=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../layout/fragment_myretro_projectlist.xml | 35 ++++++++++++++++++ .../res/layout/item_myretro_all_projects.xml | 21 +++++++++++ .../layout/item_myretro_current_project.xml | 36 +++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 app/src/main/res/layout/fragment_myretro_projectlist.xml create mode 100644 app/src/main/res/layout/item_myretro_all_projects.xml create mode 100644 app/src/main/res/layout/item_myretro_current_project.xml diff --git a/app/src/main/res/layout/fragment_myretro_projectlist.xml b/app/src/main/res/layout/fragment_myretro_projectlist.xml new file mode 100644 index 00000000..dc642637 --- /dev/null +++ b/app/src/main/res/layout/fragment_myretro_projectlist.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_myretro_all_projects.xml b/app/src/main/res/layout/item_myretro_all_projects.xml new file mode 100644 index 00000000..445c8cbf --- /dev/null +++ b/app/src/main/res/layout/item_myretro_all_projects.xml @@ -0,0 +1,21 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_myretro_current_project.xml b/app/src/main/res/layout/item_myretro_current_project.xml new file mode 100644 index 00000000..0921bdb1 --- /dev/null +++ b/app/src/main/res/layout/item_myretro_current_project.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + \ No newline at end of file From d4639fac365e3e738524e9fc1ea556ed1d4c5acf Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:09:50 +0900 Subject: [PATCH 41/51] =?UTF-8?q?[FEAT/#5]=20=EC=B4=88=EB=8C=80=EC=BD=94?= =?UTF-8?q?=EB=93=9C=20=EB=B7=B0=20ViewModelFactory.kt=20=EC=9E=84?= =?UTF-8?q?=EC=8B=9C=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/invitationCode/InputCodeFragment.kt | 3 ++- .../presentation/invitationCode/InvitationCodeViewModel.kt | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt index 710f34a9..4dcce101 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InputCodeFragment.kt @@ -7,6 +7,7 @@ import androidx.lifecycle.lifecycleScope import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment import com.puzzling.puzzlingaos.databinding.FragmentInputCodeBinding +import com.puzzling.puzzlingaos.util.ViewModelFactory import kotlinx.coroutines.flow.collect import kotlinx.coroutines.launch @@ -17,7 +18,7 @@ class InputCodeFragment : BaseFragment(R.layout.fragme override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - viewModel = ViewModelProvider(requireActivity())[InvitationCodeViewModel::class.java] + viewModel = ViewModelProvider(requireActivity(), ViewModelFactory(requireContext()))[InvitationCodeViewModel::class.java] binding.vm = viewModel binding.lifecycleOwner = viewLifecycleOwner diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt index 9296502e..380b03f4 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/invitationCode/InvitationCodeViewModel.kt @@ -1,12 +1,13 @@ package com.puzzling.puzzlingaos.presentation.invitationCode +import android.content.Context import android.util.Log import androidx.lifecycle.* import com.puzzling.puzzlingaos.data.model.response.ResponseInvitationCodeDto import kotlinx.coroutines.flow.* import kotlinx.coroutines.launch -class InvitationCodeViewModel : ViewModel() { +class InvitationCodeViewModel(context: Context) : ViewModel() { // inputCode 관련 val inputCode = MutableStateFlow("") From 21cec54bb1430817ad90d53d5293d15a718dc372 Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:28:02 +0900 Subject: [PATCH 42/51] =?UTF-8?q?[FIX/#5]=20git=20=EC=B6=A9=EB=8F=8C=20?= =?UTF-8?q?=ED=95=B4=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit string 추가 --- app/src/main/res/values/strings.xml | 30 +++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4e48316b..0784568f 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1,5 +1,35 @@ Puzzling AOS + + RegisterActivity + + First Fragment + Second Fragment + Next + Previous + + Hello first fragment + Hello second fragment. Arg: %1$s + 프로젝트 등록하기 + 프로젝트 이름 + 프로젝트 이름을 설정해주세요 + 프로젝트 한줄소개 + 프로젝트에 대해 간단히 소개해 주세요 + 프로젝트 시작날짜 + 0000/00/00 + 내 역할 + 역할을 입력해 주세요(ex. ios 개발자) + 닉네임 입력 + 닉네임을 입력해 주세요 + 회고 주기 + 회고는 매주 반복되며, 중복 체크가 가능해요 + + + + + + + %s/13 초대코드 입력하기 프로필 작성하기 From bbd1445af7224b9aee60331c1631ba5beb36a827 Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:39:21 +0900 Subject: [PATCH 43/51] =?UTF-8?q?[RENAME/#11]=20layout=20=EC=9D=B4?= =?UTF-8?q?=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...myretro_projectlist.xml => fragment_bottom_choose_project.xml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/src/main/res/layout/{fragment_myretro_projectlist.xml => fragment_bottom_choose_project.xml} (100%) diff --git a/app/src/main/res/layout/fragment_myretro_projectlist.xml b/app/src/main/res/layout/fragment_bottom_choose_project.xml similarity index 100% rename from app/src/main/res/layout/fragment_myretro_projectlist.xml rename to app/src/main/res/layout/fragment_bottom_choose_project.xml From 1125c3f6460de5b61292a4e19e90b04dd2c8886f Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:39:45 +0900 Subject: [PATCH 44/51] =?UTF-8?q?[ADD/#11]=20ChooseProjectBottomFragment.k?= =?UTF-8?q?t=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/ChooseProjectBottomFragment.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt new file mode 100644 index 00000000..b4735187 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt @@ -0,0 +1,14 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage + +import android.os.Bundle +import android.view.View +import com.puzzling.puzzlingaos.R +import com.puzzling.puzzlingaos.base.BottomSheetDialogFragment +import com.puzzling.puzzlingaos.databinding.FragmentBottomChooseProjectBinding + +class ChooseProjectBottomFragment : BottomSheetDialogFragment(R.layout.fragment_bottom_choose_project) { + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + } +} From 23ffd57c432e9144cc07cfc71df0479b86673adf Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:40:05 +0900 Subject: [PATCH 45/51] =?UTF-8?q?[ADD/#11]=20ChooseProjectAdapter.kt=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/home/mypage/adapter/ChooseProjectAdapter.kt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt new file mode 100644 index 00000000..e8188057 --- /dev/null +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt @@ -0,0 +1,4 @@ +package com.puzzling.puzzlingaos.presentation.home.mypage.adapter + +class ChooseProjectAdapter { +} \ No newline at end of file From 29d88a25c849a8c510ec49fe4be247824b42d696 Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 17:52:49 +0900 Subject: [PATCH 46/51] =?UTF-8?q?[ADD/#11]=20view=20id=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../res/layout/item_myretro_all_projects.xml | 1 + .../layout/item_myretro_current_project.xml | 29 ++++++++++--------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/app/src/main/res/layout/item_myretro_all_projects.xml b/app/src/main/res/layout/item_myretro_all_projects.xml index 445c8cbf..40c31b99 100644 --- a/app/src/main/res/layout/item_myretro_all_projects.xml +++ b/app/src/main/res/layout/item_myretro_all_projects.xml @@ -6,6 +6,7 @@ android:background="@drawable/rect_gray200_line_0"> + android:id="@+id/tv_myRetro_projectName" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginVertical="18dp" + android:layout_marginStart="16dp" + android:text="프로젝트" + android:textAppearance="@style/Kor.Body1.Bold" + android:textColor="@color/gray_600" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintTop_toTopOf="parent" /> \ No newline at end of file From 9014d9ad426c064cb150855b7aa1ca8e0a2c3c1c Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 18:19:58 +0900 Subject: [PATCH 47/51] =?UTF-8?q?[ADD/#11]=20view=20id=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/fragment_bottom_choose_project.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/res/layout/fragment_bottom_choose_project.xml b/app/src/main/res/layout/fragment_bottom_choose_project.xml index dc642637..cd045a7c 100644 --- a/app/src/main/res/layout/fragment_bottom_choose_project.xml +++ b/app/src/main/res/layout/fragment_bottom_choose_project.xml @@ -22,6 +22,7 @@ app:layout_constraintTop_toTopOf="parent" /> Date: Fri, 14 Jul 2023 19:17:07 +0900 Subject: [PATCH 48/51] =?UTF-8?q?[FEAT/#11]=20bottomSheet=EB=82=B4=20recyc?= =?UTF-8?q?lerview=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mypage/ChooseProjectBottomFragment.kt | 23 +++++- .../mypage/adapter/ChooseProjectAdapter.kt | 80 ++++++++++++++++++- .../layout/fragment_bottom_choose_project.xml | 13 ++- 3 files changed, 109 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt index b4735187..3170bf4b 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/ChooseProjectBottomFragment.kt @@ -4,11 +4,32 @@ import android.os.Bundle import android.view.View import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BottomSheetDialogFragment +import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto import com.puzzling.puzzlingaos.databinding.FragmentBottomChooseProjectBinding +import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.ChooseProjectAdapter -class ChooseProjectBottomFragment : BottomSheetDialogFragment(R.layout.fragment_bottom_choose_project) { +class ChooseProjectBottomFragment : + BottomSheetDialogFragment(R.layout.fragment_bottom_choose_project) { + + private val dummyItemList = mutableListOf( + ResponseMyPageProjectDto("Piickle", "2023-07-03", 2), + ResponseMyPageProjectDto("HARA", "2023-07-28", 3), + ResponseMyPageProjectDto("낫투두", "2023-07-12", 4), + ResponseMyPageProjectDto("PEEKABOOK", "2023-07-20", 5), + ResponseMyPageProjectDto("킵고잇", "2023-06-25", 8), + ResponseMyPageProjectDto("킵고잇", "2023-06-25", 8), + ) override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + + initAdapter() + } + + private fun initAdapter() { + val chooseProjectAdapter = ChooseProjectAdapter("낫투두") + + binding.rcvMyRetroChooseProject.adapter = chooseProjectAdapter + chooseProjectAdapter.setItemList(dummyItemList) } } diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt index e8188057..88c851d8 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/ChooseProjectAdapter.kt @@ -1,4 +1,80 @@ package com.puzzling.puzzlingaos.presentation.home.mypage.adapter -class ChooseProjectAdapter { -} \ No newline at end of file +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import com.puzzling.puzzlingaos.data.model.response.ResponseMyPageProjectDto +import com.puzzling.puzzlingaos.databinding.ItemMyretroAllProjectsBinding +import com.puzzling.puzzlingaos.databinding.ItemMyretroCurrentProjectBinding + +class ChooseProjectAdapter(private val currentProject: String) : + RecyclerView.Adapter() { + + private var itemList = mutableListOf() + + override fun getItemViewType(position: Int): Int { + return when (itemList[position].projectName) { + currentProject -> CURRENT_PROJECT + else -> CHOOSE_PROJECT + } + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder { + when (viewType) { + CURRENT_PROJECT -> { + val binding: ItemMyretroCurrentProjectBinding = + ItemMyretroCurrentProjectBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false, + ) + return CurrentProjectViewHolder(binding) + } + else -> { + val binding: ItemMyretroAllProjectsBinding = ItemMyretroAllProjectsBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false, + ) + return ChooseProjectViewHolder(binding) + } + } + } + + override fun getItemCount() = itemList.size + + override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) { + when (holder) { + is CurrentProjectViewHolder -> { + holder.onBind(itemList[position]) + } + is ChooseProjectViewHolder -> { + holder.onBind(itemList[position]) + } + } + } + + class CurrentProjectViewHolder(private val binding: ItemMyretroCurrentProjectBinding) : + RecyclerView.ViewHolder(binding.root) { + fun onBind(item: ResponseMyPageProjectDto) { + binding.tvMyRetroProjectName.text = item.projectName + } + } + + class ChooseProjectViewHolder(private val binding: ItemMyretroAllProjectsBinding) : + RecyclerView.ViewHolder(binding.root) { + fun onBind(item: ResponseMyPageProjectDto) { + binding.tvMyRetroProjectName.text = item.projectName + } + } + + fun setItemList(newItemList: MutableList) { + itemList = newItemList + notifyDataSetChanged() + } + + companion object { + const val CURRENT_PROJECT = 0 + const val CHOOSE_PROJECT = 1 + } +} diff --git a/app/src/main/res/layout/fragment_bottom_choose_project.xml b/app/src/main/res/layout/fragment_bottom_choose_project.xml index cd045a7c..c0d0ece3 100644 --- a/app/src/main/res/layout/fragment_bottom_choose_project.xml +++ b/app/src/main/res/layout/fragment_bottom_choose_project.xml @@ -1,6 +1,7 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> @@ -8,7 +9,8 @@ + android:layout_height="200dp" + android:background="@color/white_000"> + app:layout_constraintTop_toBottomOf="@id/linear_myretro_deco" + tools:listitem="@layout/item_myretro_all_projects" /> From cdb1a0f6992b4e4560283dcc72c74cfdc17eebaf Mon Sep 17 00:00:00 2001 From: gaeun Date: Fri, 14 Jul 2023 19:17:28 +0900 Subject: [PATCH 49/51] =?UTF-8?q?[FEAT/#11]=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=ED=81=B4=EB=A6=AD=EC=8B=9C=20bottomSheet=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../home/mypage/MyRetrospectFragment.kt | 14 ++++++++++--- .../home/mypage/adapter/MyRetroTopAdapter.kt | 21 +++++++++++++++++-- 2 files changed, 30 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt index 65f0a9a6..8ccf79ee 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/MyRetrospectFragment.kt @@ -9,7 +9,6 @@ import com.puzzling.puzzlingaos.R import com.puzzling.puzzlingaos.base.BaseFragment import com.puzzling.puzzlingaos.data.model.response.ResponseMyRetroListDto import com.puzzling.puzzlingaos.databinding.FragmentMyRetrospectBinding -import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyProjectTopAdapter import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyRetroAdapter import com.puzzling.puzzlingaos.presentation.home.mypage.adapter.MyRetroTopAdapter @@ -46,12 +45,21 @@ class MyRetrospectFragment : private fun initAdapter() { val myRetroAdapter = MyRetroAdapter() - val concatAdapter = ConcatAdapter(MyRetroTopAdapter("Piickle"), myRetroAdapter) + val myRetroTopAdapter = MyRetroTopAdapter("Piickle") + + myRetroAdapter.submitList(dummyItemList) + + myRetroTopAdapter.setOnItemClickListener(object : MyRetroTopAdapter.OnItemClickListener { + override fun onItemClick(v: View, data: String, pos: Int) { + val chooseProjectBottomFragment = ChooseProjectBottomFragment() + chooseProjectBottomFragment.show(requireActivity().supportFragmentManager, "show") + } + }) + val concatAdapter = ConcatAdapter(myRetroTopAdapter, myRetroAdapter) with(binding) { rcvMyRetroMain.adapter = concatAdapter rcvMyRetroMain.layoutManager = LinearLayoutManager(activity) } - myRetroAdapter.submitList(dummyItemList) } } diff --git a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt index ec2a9fba..6e6069b4 100644 --- a/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt +++ b/app/src/main/java/com/puzzling/puzzlingaos/presentation/home/mypage/adapter/MyRetroTopAdapter.kt @@ -1,6 +1,7 @@ package com.puzzling.puzzlingaos.presentation.home.mypage.adapter import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.puzzling.puzzlingaos.databinding.ItemMyretroProjectBinding @@ -8,8 +9,10 @@ import com.puzzling.puzzlingaos.databinding.ItemMyretroProjectBinding class MyRetroTopAdapter(private val projectName: String) : RecyclerView.Adapter() { + private var listener: OnItemClickListener? = null + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyRetroTopViewHolder { - val binding : ItemMyretroProjectBinding = ItemMyretroProjectBinding.inflate(LayoutInflater.from(parent.context),parent,false) + val binding: ItemMyretroProjectBinding = ItemMyretroProjectBinding.inflate(LayoutInflater.from(parent.context), parent, false) return MyRetroTopViewHolder(binding) } @@ -21,10 +24,24 @@ class MyRetroTopAdapter(private val projectName: String) : holder.onBind(projectName) } - class MyRetroTopViewHolder(private val binding: ItemMyretroProjectBinding) : + inner class MyRetroTopViewHolder(private val binding: ItemMyretroProjectBinding) : RecyclerView.ViewHolder(binding.root) { fun onBind(projectName: String) { binding.tvMyretroProjectName.text = projectName + + if (bindingAdapterPosition != RecyclerView.NO_POSITION) { + binding.containerMyPageProject.setOnClickListener { + listener?.onItemClick(itemView, projectName, bindingAdapterPosition) + } + } } } + + interface OnItemClickListener { + fun onItemClick(v: View, data: String, pos: Int) + } + + fun setOnItemClickListener(listener: OnItemClickListener) { + this.listener = listener + } } From 75f0bcfccb5c7ad998396467533037d0219e3f4a Mon Sep 17 00:00:00 2001 From: gaeun Date: Sat, 15 Jul 2023 00:18:19 +0900 Subject: [PATCH 50/51] =?UTF-8?q?[FIX/#11]=20text=20default=20=ED=8C=A8?= =?UTF-8?q?=EB=94=A9=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/item_myretro_all_projects.xml | 1 + app/src/main/res/layout/item_myretro_current_project.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/app/src/main/res/layout/item_myretro_all_projects.xml b/app/src/main/res/layout/item_myretro_all_projects.xml index 40c31b99..b6ba1810 100644 --- a/app/src/main/res/layout/item_myretro_all_projects.xml +++ b/app/src/main/res/layout/item_myretro_all_projects.xml @@ -12,6 +12,7 @@ android:layout_marginVertical="18dp" app:layout_constraintBottom_toBottomOf="parent" android:layout_marginStart="16dp" + android:includeFontPadding="false" android:text="프로젝트" android:textAppearance="@style/Kor.Body1.Bold" android:textColor="@color/gray_600" diff --git a/app/src/main/res/layout/item_myretro_current_project.xml b/app/src/main/res/layout/item_myretro_current_project.xml index dee9d527..47bcf72a 100644 --- a/app/src/main/res/layout/item_myretro_current_project.xml +++ b/app/src/main/res/layout/item_myretro_current_project.xml @@ -18,6 +18,7 @@ android:layout_marginVertical="18dp" android:layout_marginStart="16dp" android:text="프로젝트" + android:includeFontPadding="false" android:textAppearance="@style/Kor.Body1.Bold" android:textColor="@color/gray_600" app:layout_constraintBottom_toBottomOf="parent" From e8a0eae5d9ef71ebf6ecedd015544c2deaa88162 Mon Sep 17 00:00:00 2001 From: gaeun Date: Sat, 15 Jul 2023 01:56:19 +0900 Subject: [PATCH 51/51] =?UTF-8?q?[UI/#11]=20bottomSheet=20background=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/res/layout/fragment_bottom_choose_project.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/res/layout/fragment_bottom_choose_project.xml b/app/src/main/res/layout/fragment_bottom_choose_project.xml index c0d0ece3..0bc8d484 100644 --- a/app/src/main/res/layout/fragment_bottom_choose_project.xml +++ b/app/src/main/res/layout/fragment_bottom_choose_project.xml @@ -8,9 +8,11 @@ + android:background="@drawable/rect_white_fill_top16" + app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">