From 6962e010d4172defdbe225638be0c446285868f5 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sat, 18 Jan 2025 17:08:08 +0900 Subject: [PATCH 01/25] =?UTF-8?q?[chore]=20=EA=B8=B0=EB=B3=B8=20=EB=B0=B0?= =?UTF-8?q?=EA=B2=BD=20=EC=84=A0=EC=96=B8=20=EC=9C=84=EC=B9=98=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt | 3 --- .../java/com/sopt/gongbaek/presentation/ui/main/MainScreen.kt | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt index 187c50a2..4530aabc 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt @@ -1,6 +1,5 @@ package com.sopt.gongbaek.presentation.ui.main -import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.fillMaxSize @@ -18,7 +17,6 @@ import com.sopt.gongbaek.presentation.ui.home.navigation.homeNavGraph import com.sopt.gongbaek.presentation.ui.mygroup.navigation.myGroupNavGraph import com.sopt.gongbaek.presentation.ui.onboarding.navigation.onboardingNavGraph import com.sopt.gongbaek.presentation.ui.splash.SplashScreen -import com.sopt.gongbaek.ui.theme.GongBaekTheme @Composable fun MainNavHost( @@ -29,7 +27,6 @@ fun MainNavHost( Box( modifier = modifier .fillMaxSize() - .background(GongBaekTheme.colors.white) .padding(paddingValues) ) { NavHost( diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainScreen.kt index db865f77..236fbbfd 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainScreen.kt @@ -9,6 +9,7 @@ import androidx.compose.material3.Scaffold import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import com.sopt.gongbaek.presentation.type.MainBottomNavBarTabType +import com.sopt.gongbaek.ui.theme.GongBaekTheme @Composable fun MainScreen( @@ -26,6 +27,7 @@ fun MainScreen( onBottomNavBarTabSelected = { navigator.navigate(it) } ) }, + containerColor = GongBaekTheme.colors.white, content = { paddingValues -> MainNavHost( navigator = navigator, From ae7d7fc44b98139442ccee59f46c7ec3b3e92e40 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sat, 18 Jan 2025 23:32:40 +0900 Subject: [PATCH 02/25] =?UTF-8?q?[add]=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=82=AC=EC=A7=84=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 --- .../presentation/type/ImageSelectorType.kt | 12 ++++++------ app/src/main/res/drawable/img_profile_0_104.png | Bin 0 -> 2382 bytes app/src/main/res/drawable/img_profile_1_104.png | Bin 0 -> 2402 bytes app/src/main/res/drawable/img_profile_2_104.png | Bin 0 -> 2488 bytes app/src/main/res/drawable/img_profile_3_104.png | Bin 0 -> 2436 bytes app/src/main/res/drawable/img_profile_4_104.png | Bin 0 -> 2475 bytes app/src/main/res/drawable/img_profile_5_104.png | Bin 0 -> 2346 bytes 7 files changed, 6 insertions(+), 6 deletions(-) create mode 100644 app/src/main/res/drawable/img_profile_0_104.png create mode 100644 app/src/main/res/drawable/img_profile_1_104.png create mode 100644 app/src/main/res/drawable/img_profile_2_104.png create mode 100644 app/src/main/res/drawable/img_profile_3_104.png create mode 100644 app/src/main/res/drawable/img_profile_4_104.png create mode 100644 app/src/main/res/drawable/img_profile_5_104.png diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/type/ImageSelectorType.kt b/app/src/main/java/com/sopt/gongbaek/presentation/type/ImageSelectorType.kt index 01736101..7cc1d08c 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/type/ImageSelectorType.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/type/ImageSelectorType.kt @@ -9,12 +9,12 @@ enum class ImageSelectorType( ) { Profile( imageButtonResIdList = listOf( - R.drawable.img_image_button_sample, - R.drawable.img_image_button_sample, - R.drawable.img_image_button_sample, - R.drawable.img_image_button_sample, - R.drawable.img_image_button_sample, - R.drawable.img_image_button_sample + R.drawable.img_profile_0_104, + R.drawable.img_profile_1_104, + R.drawable.img_profile_2_104, + R.drawable.img_profile_3_104, + R.drawable.img_profile_4_104, + R.drawable.img_profile_5_104 ), chunkedCount = 3 ), diff --git a/app/src/main/res/drawable/img_profile_0_104.png b/app/src/main/res/drawable/img_profile_0_104.png new file mode 100644 index 0000000000000000000000000000000000000000..924e9b96525f6a5772dd8e574ca3689c33aad39b GIT binary patch literal 2382 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/img_profile_3_104.png b/app/src/main/res/drawable/img_profile_3_104.png new file mode 100644 index 0000000000000000000000000000000000000000..58bf0eb9bfa1d5c0c5610df88fec698ee8e2a513 GIT binary patch literal 2436 zcmd5;ZB)|d8^$+CjoitZPSbLmwdFKR&6iYsD|1C@nM> zFOf?V-{uRb16?|sCAlCZ5X9w%X#<*sqyqkbefpoX4_ofjK0N0+&wZcgJm$>in z9C0)ZYG!K&0)e36heD5oKnC7#)&?*TnII|Az-F3uC?*30as(2N-UbJ*?@0uL1{uf0 zf1JzeC#SL z8W}Y;L+T5ta6I`X=yJw4s(gj|nrnfAcxOa2N1fC7Eiz6>lW;iPnn)z-(iNpRZ}tjjov}hKh^^vFsn7#-Yp-GsitD_wR$j z5b)oo`*LU33#ot2)(^5oW&qNJg~UTE2$~ zG21?oWaqupx-fKqkx}V~X@Q><86}x+edq8@;VDDN$Y$^D*M|%`jW?A#{pVAjF&lr9 z6=zM#DhJRusOi`B{Wqd9H&eF7HmQ-CNw*`^mD}GPt#wWfD6+dI50SR0zfd-xt_r~A z{$VJnqd16ElK5CFrekNQ$=d^P{{4Xt7BfO8oVOiW(#)YxiAY&^G(APiiWugyCqIX= zX<*OgUoR)QQ4`t)yTOa|hb#EsPQMI3z$Vc7?71t}#p`Ygv^2y4E&| zM7Ueh(A691j@8k?J$hAMO889b~83fBgK9f#5-X95y-|9#4vf`FOl0e zqseA}FB!Ar|JRntk{4RiXb*AkDQmX13scbb;>_}za)^@d43S};94W|d$l-vuN!`En z#n^e~FUCR9QBs=MgKS9Z`NlW@1@|m-ksmC}VqgSptKfNc-ZHDkficvYs#x&P{e3wM zt$JBx``PuTb!j^Kj^KqF^Rw&V(itc^`O+hD1?CA+KcZ6$XEjzt3IX*iz*>P@il25k zHec3Y`{dr&?fed5@%mh22gc%Dm;)5ONK={Q315w6c;Xl0ptk^C4s#272`Zu3d?|G1 zAg!DGFD;j|*q48d*SAIGblcTQ``4Q`x1*^6D+3o?QkCXnXlz$=jdpA5vRx(cT2k{*_ zX%vg;lK^!9d&yTv!KvEYB@F{-qPQRJeVM)ypm3I}kw4)=$9>5LxzxpjXuX~i?S)^W zEKGXo6N+oRSCto)!86QeRKi;Q3~F6Qa{hhf^G~sD1lmA%tecr}>c&=oRo5E?z_^EG zUXM~ZYeE~^Y_%@iUwDd~CDANi|~wmHk-WK<>I>K3cR+f&ROu z!F{Zx~l4RP*&gLl)-qAPl69g zudSwbHNoc#c*Gdj!p97;hx{@Dc}s^pd-iM&fk0sSIAqa52Tx@@dzEFqJAv3Dsb%KQ z0s}%G{I{A>{FN<38_>^|?s2)?vd`L&#jSF7q+`7*SG&pL5DvfE&<6TYUOUx;!@!B^ z1bMAk&XDToWRJ`_e27^hHgCX3w)CRqAs2&Z%OfEc4sl|UD3>mz<#n@5C3-`fTT6^~ r5hCK8t8#o|VlY!SUXAq&T0w-=^yF~Jjn2T(1PVWJG_)-^@#6mgS9~>v literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/img_profile_4_104.png b/app/src/main/res/drawable/img_profile_4_104.png new file mode 100644 index 0000000000000000000000000000000000000000..d2d63af8056615051f7dea54201bd26ef8fb1356 GIT binary patch literal 2475 zcmdT`c~H~W77jrcO$C)&ED4LEQi}qeBoM`xr7SWj@XXT$jO-wqKv*K+15&V^yl55E z*5}g1z(a}%F`>u{5HJEN1Zrc9@C#emO;}rZe(KXWskc&YgSC+_~pF z-#Onsm;V+OzIBV!77z%uHR4zZ1_ZJ|tuI?^vqfB@A(*$#*~enZAkc2JV>iko^yX)Y zW}^ie6CMoWzJSe{51Z11B7;Dn20COd$;x~oFd`)A#03kLEFj|!^<&}hGsXG8TxNCe zw28PkaS`hic%#}915f?8;46<8?zj18>f8n3Oddbzm*G$+Vzh$z0viLJLmdp=;M6y430*l zr56dt<`l{~@T@eyv3PK4mbJXR91zFPmA@SrZP1_eD@Wx_Ep>KwYM58jA&CzKfJQ&Q zR`*idUi>uCXP2tMP|1Hc4ZdA0Mv4ma($dm2I@O5l(X}$u7TGjCz{pfQUp^Ciuyn3r zFhot2%jJYU`mt}JCWjVDIiBL;S9&h5Y3O>}?}^cBcW{3K&-Z;;}!_fHf zeWlXzJB`@BoKmfYzEUd+M{k!(f*N~vf4ZUkBDYWf$Q77I2+DVj_5EwV)-v`%*hKB% zV!avb7l!*Jqrn@X-f$Jf&_5{Wdi}@w20|2;!Y36YMpMf7@5#1l!vj*mBuR9a>)XON zV)D{RU+3)qvadR)Nfa@$ZRh*bF6d0mj&a7v`{UvU+j+4?IPa7A>7#1NV8uDuA_7Kc zm8D<@hB#$c0IB=8>4YSCYF^SEp&|39OF0qYLfbCs3bnP3cRUU?eEfDBqP=+D_{5YY z%kz!;By4dt3=Iv(4iL1z5drDmO)oZ*r2WZ^9@Gk&4UETfeC_P>=f{ksNaoW?QsbKw zc=8pMbO6Bw@_d_ri4hnvJP9*PPrjZyZ&~nW?iQOfD$=&*%&8c@Pnpa-iXoVXbh-$4 zqQcSLaq0BWO@-PTpIpyqLCh5oasPwdOItS76p_zbe&&4EJ$N+*fhHl2oR!MfgcU@t z{6W2Yz-e|>bUE8gwmh)PE6`$iIaw$Q+2pco2HD!qlMLyQo6Y1EFg+?EXmt7+lGkw0 zfU8SxsoAqT zBC?Wd8xMT4=;^`sB%|3ZL;J|JTPwa-7o9#I9IA_zLO-ykg?dKc@lRNYTYWtR4fVG> ze(^8X2VnhCWR(IJ1x!uM%|CG$X`BsTzulUZDIEjQ096p}4H!it#>qwG(~q!GQVEX? zNIe|K?>CtX0qp1g&kD-vW?wHXem(3==QkwL`3cxv@O#S~alYpAk|U1I8C$~yJsew0 zR%X6lNUTw-G*Sd}rNg;MAwTl4729Dt^^f_kRWx)J4_&XGNI32OhC~#b<+BTh6=KDY zu$d}KVXYm_AE2^CT7t62exRF?CR{?9IcUQ}0jXKf0IEbuPP%$L74P6fIJZa9Sq2xY zblqJI@kitMMU)j6_~@>gvh%Pi)!W%&KI6tvIYlX7s+;^bL-wE%1j_w&<7X)dHBB_**z-z=>f zJZ74pB6$JCO^C;FPxFgSfA7C{zCGh{hGWOl2#KLn%m$Y%i8=V@CRfUmM4%{^L9Beb z81_*m6zx3Fe$7koD!VZAf@RO>L6#|5he{9hKU0Z_16)=~w!pOD$LtY|gs8(D_!Yi5 zM@Zt447yI{a&6?8>ABuX)$8n^|AsDN;h1dk&W_Zg=EF0(MH^bRy^_)w&03#2vQcZH zjp2F>#iec9>Sd)QA)(9|SQ$HpkB>Kw%AenA*IB+Qv3$_kt789<{JnX$0!4&Ig>Zut GzxgjX$XG@I literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/img_profile_5_104.png b/app/src/main/res/drawable/img_profile_5_104.png new file mode 100644 index 0000000000000000000000000000000000000000..c7e9761d1b4b6fd2d516544c6549aaaf5a9b3408 GIT binary patch literal 2346 zcmcgueNfV89RHz_4cqK;H(H8Wt-6%78Y!FPOQ)rox|xWSBs!DCMC~`B1jU!@#WSU@ zrJFCgm5V7a&Wscb(Q39LWoF7kKwTS56p;)VAu{@Bcl&1>`=dXed+zyu@1FbK=k0ka zKZ)P>Hf${n0D!k+q9YRl0D^wKRxEc^q)a{8vAvZajRyf>y`!-n4T-AVL39)$VB)?# z0Ds7P+HqJ$iinEKM@8hP~2fiEj-wxcs5qBhXC(JPTH@)aA_Lxp;; z=*!{dcj+xOvqZCzu&A=cvm4Wx#-#~dNs-ZgOePCd2|-ODiA1WSi&RAmg(4tprbSph z{POo}pk_#?>@BuV79`B>*7nEN1@M@5o7sLWC=lMquo6$5vNY{GO|h^&URrIYbGc8B zFZBZI3IDjxBTT~&aIw`io)<=+_ws;Jwy#;_Szb`UkTjs`Im1)v4-ZKFZu5y|6?2|h zmcvqL&vrwQZIZ!@ifP+MAzd?Bg3*}TvlcQS$Xl1xjf!=0@I*+{mTa#w2@YmtNhTxe|TpEu*@VuaU@3sAzl`yAhGQP4c;SCLBQciAe zE*7U_w427TA)#yzHB*YZ2FlH$7z{T+jz6In+e@}xrJhk4XJj0X$w*+Tb&Dca*iv^7 zne;I3!vxCCub$pn-Te_t$Kdx9KOqS8so=#g9Tsq`8MeLP9`9Yj(<27pEjN zunGEcXlTF{L=`4Wn++~=PKQnY>Y;ozS0E6SZ!x@(1j>$~+W7K<*t2KPUj7l|7}tlz zmZwk2et!0>^$z(c@Dc`bv%}VkSyps^B`wbUtHd{}@ z^Sy(22L|?vEb0cqxh#uNu%MvQXjRRgXrCwV1U4SnyvzOGRDQZ^utds3ByY`UW&IyL zLDyFA-Q~k_f3IJVBbyuiV&*EM?xjW3EaR?RUQv&$aV|2r;I0Sqi~9(IjhUM-#S}W2 z#Bw+ssNDm{PZf4asU0_NB#s<=fI=V;*sH=TZZrlXl^`e>cM!^VfJO$vPG5qRzH_j@ z594eusEd3QNRe^u@P`d<<^iv~r=uKP73slvo|w=@QMTd#a45?Ea^LO&F7?)!!x>ei z*xO=3#THAhGZf|U*_GZ7s!@(`8@xL`J)JZX-MjQ^rq!+w$F@)Co3URHA4_^}=+2r_ z4>kxyB0}GBXYPNU(co?m%37<{D(LJy*!j~?g= Date: Sat, 18 Jan 2025 23:34:37 +0900 Subject: [PATCH 03/25] =?UTF-8?q?[add]=20=EB=9D=BC=EC=9D=B4=EB=B8=8C?= =?UTF-8?q?=EB=9F=AC=EB=A6=AC=20=EC=B6=94=EA=B0=80=20(lifesycle-runtime-co?= =?UTF-8?q?mpose)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 1 + gradle/libs.versions.toml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index f4c3e6bd..1bbf76f1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -55,6 +55,7 @@ dependencies { // Core Libraries implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) + implementation(libs.androidx.lifecycle.runtime.compose.android) implementation(libs.androidx.activity.compose) // Jetpack Compose diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 85f58c3f..3e4d7498 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -40,11 +40,13 @@ espressoCore = "3.6.1" # Android Gradle Plugin agp = "8.7.3" +lifecycleRuntimeComposeAndroid = "2.8.7" [libraries] # Core androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" } +androidx-lifecycle-runtime-compose-android = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose-android", version.ref = "lifecycleRuntimeComposeAndroid" } androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" } androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" } @@ -89,4 +91,4 @@ kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "ko kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } hilt-android = { id = "com.google.dagger.hilt.android", version.ref = "hilt" } -ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" } \ No newline at end of file +ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint" } From a318dfafeba791c285eda3dbb4963fc026b907d3 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 00:46:07 +0900 Subject: [PATCH 04/25] =?UTF-8?q?[feat]=20Userinfo=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=AA=A8=EB=8D=B8=20=EC=A0=95=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sopt/gongbaek/domain/model/UserInfo.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt diff --git a/app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt b/app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt new file mode 100644 index 00000000..3bf900a5 --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt @@ -0,0 +1,14 @@ +package com.sopt.gongbaek.domain.model + +data class UserInfo( + val profileImage: Int?, + val nickname: String, + val mbti: String, + val schoolName: String, + val schoolMajor: String, + val schoolGrade: Int?, + val enterYear: Int?, + val introduction: String, + val sex: String, + val timeTable: TimeTable +) From c0c32336db8d0a3b6ac25ecc1a4ab693f62740e9 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 00:46:30 +0900 Subject: [PATCH 05/25] =?UTF-8?q?[feat]=20timetable=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=AA=A8=EB=8D=B8=20=EC=A0=95=EC=9D=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/sopt/gongbaek/domain/model/TimeTable.kt | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt diff --git a/app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt b/app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt new file mode 100644 index 00000000..6962c678 --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt @@ -0,0 +1,7 @@ +package com.sopt.gongbaek.domain.model + +data class TimeTable( + val weekDay: String, + val startTime: Float, + val endTime: Float, +) From 8f2592dac890766100857f026bb54f4806dcf630 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 00:47:04 +0900 Subject: [PATCH 06/25] =?UTF-8?q?[chore]=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20a?= =?UTF-8?q?lpha=20=EA=B0=92=20=ED=98=B8=EC=9D=B4=EC=8A=A4=ED=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gongbaek/presentation/ui/component/button/ImageSelector.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/component/button/ImageSelector.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/component/button/ImageSelector.kt index 3a160817..825eda3f 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/component/button/ImageSelector.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/component/button/ImageSelector.kt @@ -36,6 +36,7 @@ import com.sopt.gongbaek.ui.theme.GongBaekTheme fun ImageSelector( imageSelectorType: ImageSelectorType, modifier: Modifier = Modifier, + selectedAlpha: Float = 0.65f, selectedIndex: Int? = null, onIndexSelected: (Int) -> Unit = {} ) { @@ -71,7 +72,7 @@ fun ImageSelector( modifier = Modifier .fillMaxSize() .background( - color = GongBaekTheme.colors.black.copy(alpha = 0.25f), + color = GongBaekTheme.colors.black.copy(selectedAlpha), shape = RoundedCornerShape(4.dp) ), contentAlignment = Alignment.Center From ee209e66424b9d6c47e5c0e4bcdce9a3afacc9f4 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 02:46:50 +0900 Subject: [PATCH 07/25] =?UTF-8?q?[feat]=20OnboardingNavGraphRoute=20?= =?UTF-8?q?=EA=B2=BD=EB=A1=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gongbaek/presentation/model/NavigationRoute.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt b/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt index d23a6929..9df29327 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt @@ -4,6 +4,16 @@ object NavigationRoute { object OnboardingNavGraphRoute { const val ONBOARDING_NAV_GRAPH = "onboarding_route" const val ONBOARDING = "onboarding" + const val SELECT_PROFILE = "select_profile" + const val NICKNAME = "nickname" + const val UNIV_MAJOR = "univ_major" + const val GRADE = "grade" + const val MBTI = "mbti" + const val GENDER = "gender" + const val SELF_INTRODUCTION = "self_introduction" + const val ENTER_TIMETABLE = "enter_timetable" + const val GAP_TIMETABLE = "gap_timetable" + const val COMPLETE_ONBOARDING = "complete_onboarding" } object MainBottomNavBarTabRoute { From 572763a8f75c53dfac7a871fe65af8d43f8c0073 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:09:04 +0900 Subject: [PATCH 08/25] =?UTF-8?q?[chore]=20=EB=84=A4=EC=9D=B4=EB=B0=8D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20(onboarding=20->=20auth)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/model/NavigationRoute.kt | 8 +- .../screen/AuthScreen.kt} | 12 +-- .../screen/EnterTimeTableScreen.kt | 2 +- .../screen/GapTimeTableScreen.kt | 2 +- .../screen/GenderScreen.kt | 2 +- .../screen/GradeScreen.kt | 2 +- .../screen/MajorSearchScreen.kt | 2 +- .../{onboarding => auth}/screen/MbtiScreen.kt | 2 +- .../screen/SelfIntroductionScreen.kt | 2 +- .../screen/UnivMajorScreen.kt | 2 +- .../screen/UnivSearchScreen.kt | 2 +- .../presentation/ui/main/MainNavHost.kt | 4 +- .../presentation/ui/main/MainNavigator.kt | 2 +- .../navigation/OnboardingNavGraph.kt | 26 ------- .../navigation/OnboardingNavigator.kt | 12 --- .../ui/onboarding/screen/NicknameScreen.kt | 39 ---------- .../onboarding/screen/SelectProfileScreen.kt | 77 ------------------- 17 files changed, 22 insertions(+), 176 deletions(-) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding/screen/OnboardingScreen.kt => auth/screen/AuthScreen.kt} (88%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/EnterTimeTableScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/GapTimeTableScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/GenderScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/GradeScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/MajorSearchScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/MbtiScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/SelfIntroductionScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/UnivMajorScreen.kt (93%) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/{onboarding => auth}/screen/UnivSearchScreen.kt (93%) delete mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavGraph.kt delete mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavigator.kt delete mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/NicknameScreen.kt delete mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/SelectProfileScreen.kt diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt b/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt index 9df29327..fb0c6e6c 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/model/NavigationRoute.kt @@ -1,9 +1,9 @@ package com.sopt.gongbaek.presentation.model object NavigationRoute { - object OnboardingNavGraphRoute { - const val ONBOARDING_NAV_GRAPH = "onboarding_route" - const val ONBOARDING = "onboarding" + object AuthNavGraphRoute { + const val AUTH_NAV_GRAPH = "auth_route" + const val AUTH = "auth" const val SELECT_PROFILE = "select_profile" const val NICKNAME = "nickname" const val UNIV_MAJOR = "univ_major" @@ -13,7 +13,7 @@ object NavigationRoute { const val SELF_INTRODUCTION = "self_introduction" const val ENTER_TIMETABLE = "enter_timetable" const val GAP_TIMETABLE = "gap_timetable" - const val COMPLETE_ONBOARDING = "complete_onboarding" + const val COMPLETE_AUTH = "complete_auth" } object MainBottomNavBarTabRoute { diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/OnboardingScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthScreen.kt similarity index 88% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/OnboardingScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthScreen.kt index 515485ca..fb3d0448 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/OnboardingScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box @@ -17,16 +17,16 @@ import com.sopt.gongbaek.ui.theme.GONGBAEKTheme import com.sopt.gongbaek.ui.theme.GongBaekTheme @Composable -fun OnboardingRoute( +fun AuthRoute( navigateHome: () -> Unit ) { - OnboardingScreen( + AuthScreen( navigateHome = navigateHome ) } @Composable -fun OnboardingScreen( +fun AuthScreen( navigateHome: () -> Unit ) { Box( @@ -49,9 +49,9 @@ fun OnboardingScreen( @Preview(showBackground = true) @Composable -private fun OnboardingScreenPreview() { +private fun PreviewAuthScreen() { GONGBAEKTheme { - OnboardingScreen( + AuthScreen( navigateHome = {} ) } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/EnterTimeTableScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/EnterTimeTableScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/EnterTimeTableScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/EnterTimeTableScreen.kt index 9128d3dd..ccd15766 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/EnterTimeTableScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/EnterTimeTableScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GapTimeTableScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GapTimeTableScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GapTimeTableScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GapTimeTableScreen.kt index 7e0cf97a..d36e60a4 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GapTimeTableScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GapTimeTableScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GenderScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GenderScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GenderScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GenderScreen.kt index e0d4f27d..d84273d4 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GenderScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GenderScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GradeScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GradeScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GradeScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GradeScreen.kt index ea14b6b6..cd12f077 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/GradeScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/GradeScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/MajorSearchScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/MajorSearchScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/MajorSearchScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/MajorSearchScreen.kt index eb163364..2a2a3008 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/MajorSearchScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/MajorSearchScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/MbtiScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/MbtiScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/MbtiScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/MbtiScreen.kt index 37350559..18b8d1d4 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/MbtiScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/MbtiScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/SelfIntroductionScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelfIntroductionScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/SelfIntroductionScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelfIntroductionScreen.kt index 12599a97..63bcbd3c 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/SelfIntroductionScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelfIntroductionScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/UnivMajorScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/UnivMajorScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/UnivMajorScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/UnivMajorScreen.kt index 0fff74f0..00af78c1 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/UnivMajorScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/UnivMajorScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/UnivSearchScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/UnivSearchScreen.kt similarity index 93% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/UnivSearchScreen.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/UnivSearchScreen.kt index 12edf566..d79d7613 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/UnivSearchScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/UnivSearchScreen.kt @@ -1,4 +1,4 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen +package com.sopt.gongbaek.presentation.ui.auth.screen import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt index 4530aabc..b6db6778 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt @@ -15,7 +15,7 @@ import com.sopt.gongbaek.presentation.ui.groupregister.navigation.groupRegisterN import com.sopt.gongbaek.presentation.ui.grouproom.navigation.groupRoomNavGraph import com.sopt.gongbaek.presentation.ui.home.navigation.homeNavGraph import com.sopt.gongbaek.presentation.ui.mygroup.navigation.myGroupNavGraph -import com.sopt.gongbaek.presentation.ui.onboarding.navigation.onboardingNavGraph +import com.sopt.gongbaek.presentation.ui.auth.navigation.AuthNavGraph import com.sopt.gongbaek.presentation.ui.splash.SplashScreen @Composable @@ -34,7 +34,7 @@ fun MainNavHost( startDestination = navigator.startDestination ) { composable(route = NavigationRoute.SplashRoute.SPLASH) { SplashScreen(navController = navigator.navController) } - onboardingNavGraph(navigator.navController) + AuthNavGraph(navigator.navController) groupListNavGraph(navigator.navController) groupRegisterNavGraph(navigator.navController) groupDetailNavGraph(navigator.navController) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavigator.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavigator.kt index ee1550a6..ea306dcf 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavigator.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavigator.kt @@ -17,7 +17,7 @@ import com.sopt.gongbaek.presentation.ui.mygroup.navigation.navigateMyGroupNavGr class MainNavigator( val navController: NavHostController ) { - val startDestination = NavigationRoute.OnboardingNavGraphRoute.ONBOARDING_NAV_GRAPH + val startDestination = NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH private val currentDestination: NavDestination? @Composable get() = navController.currentBackStackEntryAsState().value?.destination diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavGraph.kt deleted file mode 100644 index bbc9112c..00000000 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavGraph.kt +++ /dev/null @@ -1,26 +0,0 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.navigation - -import androidx.navigation.NavGraphBuilder -import androidx.navigation.NavHostController -import androidx.navigation.compose.composable -import androidx.navigation.navigation -import com.sopt.gongbaek.presentation.model.NavigationRoute -import com.sopt.gongbaek.presentation.ui.home.navigation.navigateHome -import com.sopt.gongbaek.presentation.ui.onboarding.screen.OnboardingRoute - -fun NavGraphBuilder.onboardingNavGraph( - navController: NavHostController -) { - navigation( - startDestination = NavigationRoute.OnboardingNavGraphRoute.ONBOARDING, - route = NavigationRoute.OnboardingNavGraphRoute.ONBOARDING_NAV_GRAPH - ) { - composable( - route = NavigationRoute.OnboardingNavGraphRoute.ONBOARDING - ) { - OnboardingRoute( - navigateHome = { navController.navigateHome() } - ) - } - } -} diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavigator.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavigator.kt deleted file mode 100644 index b8fa2966..00000000 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/navigation/OnboardingNavigator.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.navigation - -import androidx.navigation.NavController -import com.sopt.gongbaek.presentation.model.NavigationRoute - -fun NavController.navigateOnboardingRoute() { - navigate(route = NavigationRoute.OnboardingNavGraphRoute.ONBOARDING_NAV_GRAPH) -} - -fun NavController.navigateCompleteOnboarding() { - navigate(route = NavigationRoute.OnboardingNavGraphRoute.ONBOARDING) -} diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/NicknameScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/NicknameScreen.kt deleted file mode 100644 index 09c057c3..00000000 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/NicknameScreen.kt +++ /dev/null @@ -1,39 +0,0 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen - -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.tooling.preview.Preview -import com.sopt.gongbaek.ui.theme.GONGBAEKTheme - -@Composable -fun NicknameRoute() { - NicknameScreen() -} - -@Composable -fun NicknameScreen() { - Box( - modifier = Modifier - .fillMaxSize() - .background(color = Color.White), - contentAlignment = Alignment.Center - ) { - Text( - text = "닉네임 입력 화면" - ) - } -} - -@Preview(showBackground = true) -@Composable -fun ShowNicknameScreen() { - GONGBAEKTheme { - NicknameScreen() - } -} diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/SelectProfileScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/SelectProfileScreen.kt deleted file mode 100644 index 8d13b36a..00000000 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/onboarding/screen/SelectProfileScreen.kt +++ /dev/null @@ -1,77 +0,0 @@ -package com.sopt.gongbaek.presentation.ui.onboarding.screen - -import androidx.compose.foundation.background -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding -import androidx.compose.material3.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp -import com.sopt.gongbaek.presentation.util.extension.clickableWithoutRipple -import com.sopt.gongbaek.presentation.util.extension.roundedBackgroundWithBorder -import com.sopt.gongbaek.ui.theme.GONGBAEKTheme -import com.sopt.gongbaek.ui.theme.GongBaekTheme - -@Composable -fun SelectProfileRoute( - navigateNickname: () -> Unit -) { - SelectProfileScreen( - navigateNickname = navigateNickname - ) -} - -@Composable -fun SelectProfileScreen( - navigateNickname: () -> Unit -) { - Box( - modifier = Modifier - .fillMaxSize() - .background(color = Color.White), - contentAlignment = Alignment.Center - ) { - Column( - horizontalAlignment = Alignment.CenterHorizontally - ) { - Text( - text = "프로필 선택 화면" - ) - Spacer(modifier = Modifier.height(10.dp)) - Box( - modifier = Modifier - .roundedBackgroundWithBorder( - cornerRadius = 8.dp, - backgroundColor = GongBaekTheme.colors.subOrange, - borderWidth = 1.dp, - borderColor = GongBaekTheme.colors.mainOrange - ) - .clickableWithoutRipple( - onClick = navigateNickname - ) - ) { - Text( - text = "채우기로 이동", - modifier = Modifier.padding(10.dp) - ) - } - } - } -} - -@Preview(showBackground = true) -@Composable -fun ShowSelectProfileScreen() { - GONGBAEKTheme { - SelectProfileScreen( - navigateNickname = {} - ) - } -} From 10bb2949966f901338f0f3b992bcd865b6c5ac26 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:09:52 +0900 Subject: [PATCH 09/25] =?UTF-8?q?[feat]=20AuthNavGraph=20=EA=B7=B8?= =?UTF-8?q?=EB=9E=98=ED=94=84=20=EA=B2=BD=EB=A1=9C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/auth/navigation/AuthNavGraph.kt | 45 +++++++++++++++++++ .../ui/auth/navigation/AuthNavigator.kt | 16 +++++++ 2 files changed, 61 insertions(+) create mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt create mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt new file mode 100644 index 00000000..2782f58e --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt @@ -0,0 +1,45 @@ +package com.sopt.gongbaek.presentation.ui.auth.navigation + +import androidx.hilt.navigation.compose.hiltViewModel +import androidx.navigation.NavGraphBuilder +import androidx.navigation.NavHostController +import androidx.navigation.compose.composable +import androidx.navigation.navigation +import com.sopt.gongbaek.presentation.model.NavigationRoute +import com.sopt.gongbaek.presentation.ui.auth.screen.NicknameRoute +import com.sopt.gongbaek.presentation.ui.auth.screen.AuthViewModel +import com.sopt.gongbaek.presentation.ui.auth.screen.SelectProfileRoute + +fun NavGraphBuilder.AuthNavGraph( + navController: NavHostController, +) { + navigation( + startDestination = NavigationRoute.AuthNavGraphRoute.SELECT_PROFILE, + route = NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH + ) { + composable( + route = NavigationRoute.AuthNavGraphRoute.SELECT_PROFILE + ) { + val viewModel: AuthViewModel = hiltViewModel( + navController.getBackStackEntry(NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) + ) + SelectProfileRoute( + viewModel = viewModel, + navigateNickname = navController::navigateNickname + ) + } + + composable( + route = NavigationRoute.AuthNavGraphRoute.NICKNAME + ) { + val viewModel: AuthViewModel = hiltViewModel( + navController.getBackStackEntry(NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) + ) + NicknameRoute( + viewModel = viewModel, + navigateUnivMajor = navController::navigateUnivMajor, + naviToBack = navController::popBackStack + ) + } + } +} diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt new file mode 100644 index 00000000..4f34a822 --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt @@ -0,0 +1,16 @@ +package com.sopt.gongbaek.presentation.ui.auth.navigation + +import androidx.navigation.NavController +import com.sopt.gongbaek.presentation.model.NavigationRoute + +fun NavController.navigateAuthRoute() { + navigate(route = NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) +} + +fun NavController.navigateCompleteAuth() { + navigate(route = NavigationRoute.AuthNavGraphRoute.AUTH) +} + +fun NavController.navigateNickname() = navigate(route = NavigationRoute.AuthNavGraphRoute.NICKNAME) + +fun NavController.navigateUnivMajor() = navigate(route = NavigationRoute.AuthNavGraphRoute.UNIV_MAJOR) From ddb85ae151d629ebd5d4470cc0fd13e18c2337d8 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:10:15 +0900 Subject: [PATCH 10/25] =?UTF-8?q?[feat]=20AuthContract=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 --- .../ui/auth/screen/AuthContract.kt | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt new file mode 100644 index 00000000..a1d8f43f --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt @@ -0,0 +1,40 @@ +package com.sopt.gongbaek.presentation.ui.auth.screen + +import com.sopt.gongbaek.domain.model.TimeTable +import com.sopt.gongbaek.domain.model.UserInfo +import com.sopt.gongbaek.presentation.util.base.UiEvent +import com.sopt.gongbaek.presentation.util.base.UiSideEffect +import com.sopt.gongbaek.presentation.util.base.UiState + +class AuthContract { + + data class State( + val userInfo: UserInfo = UserInfo( + profileImage = null, + nickname = "", + mbti = "", + schoolName = "", + schoolMajor = "", + schoolGrade = null, + enterYear = null, + introduction = "", + sex = "", + timeTable = TimeTable( + weekDay = "", + startTime = 0f, + endTime = 0f + ) + ) + ) : UiState + + sealed class Event : UiEvent { + data class OnProfileImageChanged(val profileImage: Int?) : Event() + data class OnNicknameChanged(val nickname: String) : Event() + } + + sealed interface SideEffect : UiSideEffect { + data object NavigateToBack : SideEffect + data object NavigateToNickname : SideEffect + } + +} From 6c8984860d0b3ebdd24a84c555e412a8aa4441b5 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:10:30 +0900 Subject: [PATCH 11/25] =?UTF-8?q?[feat]=20AuthViewModel=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 --- .../ui/auth/screen/AuthViewModel.kt | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt new file mode 100644 index 00000000..3d715cff --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt @@ -0,0 +1,28 @@ +package com.sopt.gongbaek.presentation.ui.auth.screen + +import com.sopt.gongbaek.domain.model.UserInfo +import com.sopt.gongbaek.presentation.util.base.BaseViewModel +import dagger.hilt.android.lifecycle.HiltViewModel +import javax.inject.Inject + +@HiltViewModel +class AuthViewModel @Inject constructor( + +) : BaseViewModel() { + + override fun createInitialState(): AuthContract.State = AuthContract.State() + + override suspend fun handleEvent(event: AuthContract.Event) { + when (event) { + is AuthContract.Event.OnProfileImageChanged -> updateUserInfo { copy(profileImage = event.profileImage) } + is AuthContract.Event.OnNicknameChanged -> updateUserInfo { copy(nickname = event.nickname) } + } + } + + fun sendSideEffect(sideEffect: AuthContract.SideEffect) = + setSideEffect(sideEffect) + + private fun updateUserInfo(update: UserInfo.() -> UserInfo) = + setState { copy(userInfo = userInfo.update()) } + +} From 26b550a34fb1ea9d8fbd68d2c00d01f1be0c6f49 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:11:17 +0900 Subject: [PATCH 12/25] =?UTF-8?q?[feat]=20=ED=94=84=EB=A1=9C=ED=95=84=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=ED=99=94=EB=A9=B4=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/auth/screen/SelectProfileScreen.kt | 129 ++++++++++++++++++ app/src/main/res/values/strings.xml | 5 +- 2 files changed, 133 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt new file mode 100644 index 00000000..04e461c9 --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt @@ -0,0 +1,129 @@ +package com.sopt.gongbaek.presentation.ui.auth.screen + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.aspectRatio +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.LocalLifecycleOwner +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.flowWithLifecycle +import com.sopt.gongbaek.R +import com.sopt.gongbaek.presentation.type.ImageSelectorType +import com.sopt.gongbaek.presentation.ui.component.button.GongBaekBasicButton +import com.sopt.gongbaek.presentation.ui.component.button.ImageSelector +import com.sopt.gongbaek.presentation.ui.component.progressBar.GongBaekProgressBar +import com.sopt.gongbaek.presentation.ui.component.section.PageDescriptionSection +import com.sopt.gongbaek.presentation.ui.component.topbar.StartTitleTopBar +import com.sopt.gongbaek.ui.theme.GONGBAEKTheme + +@Composable +fun SelectProfileRoute( + viewModel: AuthViewModel, + navigateNickname: () -> Unit +) { + + val uiState by viewModel.state.collectAsStateWithLifecycle() + val lifecycleOwner = LocalLifecycleOwner.current + + LaunchedEffect(viewModel.sideEffect, lifecycleOwner) { + viewModel.sideEffect + .flowWithLifecycle(lifecycleOwner.lifecycle) + .collect { sideEffect -> + if (sideEffect is AuthContract.SideEffect.NavigateToNickname) { + navigateNickname() + } + } + } + + SelectProfileScreen( + selectedProfile = uiState.userInfo.profileImage, + onSelectedProfile = { selectedProfileIndex -> + viewModel.setEvent( + AuthContract.Event.OnProfileImageChanged(selectedProfileIndex) + ) + }, + onNextButtonClicked = { + viewModel.sendSideEffect(AuthContract.SideEffect.NavigateToNickname) + } + ) +} + +@Composable +private fun SelectProfileScreen( + selectedProfile: Int?, + onSelectedProfile: (Int?) -> Unit = {}, + onNextButtonClicked: () -> Unit = {} +) { + Box( + modifier = Modifier.fillMaxSize() + ) { + ImageSelectorSection( + modifier = Modifier + .padding(horizontal = 16.dp) + .align(Alignment.TopCenter), + selectedProfileIndex = selectedProfile, + onIndexSelected = onSelectedProfile + ) + + GongBaekBasicButton( + title = "다음", + onClick = onNextButtonClicked, + enabled = selectedProfile != null, + modifier = Modifier + .align(Alignment.BottomCenter) + .padding(horizontal = 16.dp, vertical = 12.dp) + ) + } +} + +@Composable +private fun ImageSelectorSection( + selectedProfileIndex: Int?, + onIndexSelected: (Int?) -> Unit, + modifier: Modifier = Modifier +) { + Column { + StartTitleTopBar(isLeadingIconIncluded = false) + GongBaekProgressBar(progressPercent = 0.142f) + + Column( + modifier = modifier + ) { + Spacer(modifier = Modifier.height(54.dp)) + + PageDescriptionSection( + titleResId = R.string.auth_select_profile_title, + descriptionResId = R.string.auth_select_profile_description, + ) + + Spacer(modifier = Modifier.height(42.dp)) + + ImageSelector( + imageSelectorType = ImageSelectorType.Profile, + modifier = Modifier.aspectRatio(1f / 1f), + selectedIndex = selectedProfileIndex, + onIndexSelected = onIndexSelected + ) + } + } +} + +@Preview(showBackground = true) +@Composable +private fun PreviewSelectProfileScreen() { + GONGBAEKTheme { + SelectProfileScreen( + selectedProfile = null, + ) + } +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4f4ae6dc..e7b5692b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -72,4 +72,7 @@ - \ No newline at end of file + + 프로필 사진을 선택해주세요. + 제공된 프로필 중 하나를 선택할 수 있어요. + From 68210f8e7cd32ec7560fe22c54348e853f8baf35 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:13:08 +0900 Subject: [PATCH 13/25] =?UTF-8?q?[feat]=20=EB=8B=89=EB=84=A4=EC=9E=84=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=ED=99=94=EB=A9=B4=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/auth/screen/NicknameScreen.kt | 134 ++++++++++++++++++ app/src/main/res/values/strings.xml | 4 +- 2 files changed, 137 insertions(+), 1 deletion(-) create mode 100644 app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt new file mode 100644 index 00000000..0bfde408 --- /dev/null +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt @@ -0,0 +1,134 @@ +package com.sopt.gongbaek.presentation.ui.auth.screen + +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect +import androidx.compose.runtime.getValue +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import androidx.lifecycle.compose.LocalLifecycleOwner +import androidx.lifecycle.compose.collectAsStateWithLifecycle +import androidx.lifecycle.flowWithLifecycle +import com.sopt.gongbaek.R +import com.sopt.gongbaek.presentation.type.GongBaekBasicTextFieldType +import com.sopt.gongbaek.presentation.ui.component.button.GongBaekBasicButton +import com.sopt.gongbaek.presentation.ui.component.progressBar.GongBaekProgressBar +import com.sopt.gongbaek.presentation.ui.component.section.PageDescriptionSection +import com.sopt.gongbaek.presentation.ui.component.textfield.GongBaekBasicTextField +import com.sopt.gongbaek.presentation.ui.component.topbar.StartTitleTopBar +import com.sopt.gongbaek.ui.theme.GONGBAEKTheme + +@Composable +fun NicknameRoute( + viewModel: AuthViewModel, + navigateUnivMajor: () -> Unit, + naviToBack: () -> Unit +) { + + val uiState by viewModel.state.collectAsStateWithLifecycle() + val lifecycleOwner = LocalLifecycleOwner.current + + LaunchedEffect(viewModel.sideEffect, lifecycleOwner) { + viewModel.sideEffect + .flowWithLifecycle(lifecycleOwner.lifecycle) + .collect { sideEffect -> + if (sideEffect is AuthContract.SideEffect.NavigateToBack) { + naviToBack() + } + } + } + + NicknameScreen( + nickname = uiState.userInfo.nickname, + navigateUnivMajor = navigateUnivMajor, + onNicknameChanged = { nickname -> + viewModel.setEvent(AuthContract.Event.OnNicknameChanged(nickname)) + }, + onBackClick = { + viewModel.sendSideEffect(AuthContract.SideEffect.NavigateToBack) + } + ) +} + +@Composable +private fun NicknameScreen( + nickname: String, + onNicknameChanged: (String) -> Unit, + navigateUnivMajor: () -> Unit = {}, + onBackClick: () -> Unit = {} +) { + Box( + modifier = Modifier.fillMaxSize() + ) { + NickNameInputSection( + nickname = nickname, + onNicknameChanged = onNicknameChanged, + onBackClick = onBackClick, + modifier = Modifier + .padding(horizontal = 16.dp) + .align(Alignment.Center) + ) + + GongBaekBasicButton( + title = "다음", + onClick = navigateUnivMajor, + enabled = nickname.isNotBlank(), + modifier = Modifier + .align(Alignment.BottomCenter) + .padding(horizontal = 16.dp, vertical = 12.dp) + ) + } +} + + +@Composable +private fun NickNameInputSection( + nickname: String, + onNicknameChanged: (String) -> Unit, + modifier: Modifier = Modifier, + onBackClick: () -> Unit = {} +) { + Column { + StartTitleTopBar(onClick = onBackClick) + + GongBaekProgressBar(progressPercent = 0.285f) + + Column( + modifier = modifier + ) { + Spacer(modifier = Modifier.height(54.dp)) + + PageDescriptionSection( + titleResId = R.string.auth_nickname_title, + descriptionResId = R.string.auth_select_profile_description, + ) + + Spacer(modifier = Modifier.height(42.dp)) + + GongBaekBasicTextField( + value = nickname, + onValueChange = onNicknameChanged, + gongBaekBasicTextFieldType = GongBaekBasicTextFieldType.NICKNAME, + ) + } + } +} + + +@Preview(showBackground = true) +@Composable +private fun PreviewNicknameScreen() { + GONGBAEKTheme { + NicknameScreen( + nickname = "닉네임", + onNicknameChanged = {} + ) + } +} diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e7b5692b..6a9d49a5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -72,7 +72,9 @@ - + 프로필 사진을 선택해주세요. 제공된 프로필 중 하나를 선택할 수 있어요. + 닉네임을 설정해주세요. + 프로필에 표시되는 이름으로, 언제든 변경할 수 있어요. From 2a7aee03303d0b5ffb6f716c05e4358e92ca9be7 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:14:48 +0900 Subject: [PATCH 14/25] =?UTF-8?q?[chore]=20=EB=8C=80=EB=AC=B8=EC=9E=90=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 --- .../ui/auth/navigation/{AuthNavGraph.kt => authNavGraph.kt} | 2 +- .../com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/{AuthNavGraph.kt => authNavGraph.kt} (98%) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt similarity index 98% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt index 2782f58e..5daeaecc 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt @@ -10,7 +10,7 @@ import com.sopt.gongbaek.presentation.ui.auth.screen.NicknameRoute import com.sopt.gongbaek.presentation.ui.auth.screen.AuthViewModel import com.sopt.gongbaek.presentation.ui.auth.screen.SelectProfileRoute -fun NavGraphBuilder.AuthNavGraph( +fun NavGraphBuilder.authNavGraph( navController: NavHostController, ) { navigation( diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt index b6db6778..373ea56d 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt @@ -15,7 +15,7 @@ import com.sopt.gongbaek.presentation.ui.groupregister.navigation.groupRegisterN import com.sopt.gongbaek.presentation.ui.grouproom.navigation.groupRoomNavGraph import com.sopt.gongbaek.presentation.ui.home.navigation.homeNavGraph import com.sopt.gongbaek.presentation.ui.mygroup.navigation.myGroupNavGraph -import com.sopt.gongbaek.presentation.ui.auth.navigation.AuthNavGraph +import com.sopt.gongbaek.presentation.ui.auth.navigation.authNavGraph import com.sopt.gongbaek.presentation.ui.splash.SplashScreen @Composable @@ -34,7 +34,7 @@ fun MainNavHost( startDestination = navigator.startDestination ) { composable(route = NavigationRoute.SplashRoute.SPLASH) { SplashScreen(navController = navigator.navController) } - AuthNavGraph(navigator.navController) + authNavGraph(navigator.navController) groupListNavGraph(navigator.navController) groupRegisterNavGraph(navigator.navController) groupDetailNavGraph(navigator.navController) From 5fabceab452917138f3ee7206e2764cc43d4dcf2 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 04:17:40 +0900 Subject: [PATCH 15/25] =?UTF-8?q?[chore]=20ktlint=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/sopt/gongbaek/domain/model/TimeTable.kt | 2 +- .../presentation/ui/auth/navigation/authNavGraph.kt | 2 +- .../gongbaek/presentation/ui/auth/screen/AuthContract.kt | 1 - .../gongbaek/presentation/ui/auth/screen/AuthViewModel.kt | 5 +---- .../gongbaek/presentation/ui/auth/screen/NicknameScreen.kt | 7 ++----- .../presentation/ui/auth/screen/SelectProfileScreen.kt | 5 ++--- 6 files changed, 7 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt b/app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt index 6962c678..49b9c410 100644 --- a/app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt +++ b/app/src/main/java/com/sopt/gongbaek/domain/model/TimeTable.kt @@ -3,5 +3,5 @@ package com.sopt.gongbaek.domain.model data class TimeTable( val weekDay: String, val startTime: Float, - val endTime: Float, + val endTime: Float ) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt index 5daeaecc..267adc08 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt @@ -11,7 +11,7 @@ import com.sopt.gongbaek.presentation.ui.auth.screen.AuthViewModel import com.sopt.gongbaek.presentation.ui.auth.screen.SelectProfileRoute fun NavGraphBuilder.authNavGraph( - navController: NavHostController, + navController: NavHostController ) { navigation( startDestination = NavigationRoute.AuthNavGraphRoute.SELECT_PROFILE, diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt index a1d8f43f..03532b14 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt @@ -36,5 +36,4 @@ class AuthContract { data object NavigateToBack : SideEffect data object NavigateToNickname : SideEffect } - } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt index 3d715cff..7c23770e 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt @@ -6,9 +6,7 @@ import dagger.hilt.android.lifecycle.HiltViewModel import javax.inject.Inject @HiltViewModel -class AuthViewModel @Inject constructor( - -) : BaseViewModel() { +class AuthViewModel @Inject constructor() : BaseViewModel() { override fun createInitialState(): AuthContract.State = AuthContract.State() @@ -24,5 +22,4 @@ class AuthViewModel @Inject constructor( private fun updateUserInfo(update: UserInfo.() -> UserInfo) = setState { copy(userInfo = userInfo.update()) } - } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt index 0bfde408..41d8b356 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt @@ -31,7 +31,6 @@ fun NicknameRoute( navigateUnivMajor: () -> Unit, naviToBack: () -> Unit ) { - val uiState by viewModel.state.collectAsStateWithLifecycle() val lifecycleOwner = LocalLifecycleOwner.current @@ -87,7 +86,6 @@ private fun NicknameScreen( } } - @Composable private fun NickNameInputSection( nickname: String, @@ -107,7 +105,7 @@ private fun NickNameInputSection( PageDescriptionSection( titleResId = R.string.auth_nickname_title, - descriptionResId = R.string.auth_select_profile_description, + descriptionResId = R.string.auth_select_profile_description ) Spacer(modifier = Modifier.height(42.dp)) @@ -115,13 +113,12 @@ private fun NickNameInputSection( GongBaekBasicTextField( value = nickname, onValueChange = onNicknameChanged, - gongBaekBasicTextFieldType = GongBaekBasicTextFieldType.NICKNAME, + gongBaekBasicTextFieldType = GongBaekBasicTextFieldType.NICKNAME ) } } } - @Preview(showBackground = true) @Composable private fun PreviewNicknameScreen() { diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt index 04e461c9..0772d0af 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt @@ -31,7 +31,6 @@ fun SelectProfileRoute( viewModel: AuthViewModel, navigateNickname: () -> Unit ) { - val uiState by viewModel.state.collectAsStateWithLifecycle() val lifecycleOwner = LocalLifecycleOwner.current @@ -103,7 +102,7 @@ private fun ImageSelectorSection( PageDescriptionSection( titleResId = R.string.auth_select_profile_title, - descriptionResId = R.string.auth_select_profile_description, + descriptionResId = R.string.auth_select_profile_description ) Spacer(modifier = Modifier.height(42.dp)) @@ -123,7 +122,7 @@ private fun ImageSelectorSection( private fun PreviewSelectProfileScreen() { GONGBAEKTheme { SelectProfileScreen( - selectedProfile = null, + selectedProfile = null ) } } From e726d19b259be9ba3e34b80a4b56de31a7193737 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 05:15:23 +0900 Subject: [PATCH 16/25] =?UTF-8?q?[chore]=20progressBar=20=EC=A7=84?= =?UTF-8?q?=ED=96=89=EB=A3=B0=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt | 2 +- .../gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt index 41d8b356..780446e7 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt @@ -96,7 +96,7 @@ private fun NickNameInputSection( Column { StartTitleTopBar(onClick = onBackClick) - GongBaekProgressBar(progressPercent = 0.285f) + GongBaekProgressBar(progressPercent = 0.25f) Column( modifier = modifier diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt index 0772d0af..c096f973 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt @@ -93,7 +93,7 @@ private fun ImageSelectorSection( ) { Column { StartTitleTopBar(isLeadingIconIncluded = false) - GongBaekProgressBar(progressPercent = 0.142f) + GongBaekProgressBar(progressPercent = 0.125f) Column( modifier = modifier From 23081c8e4f30f5dbddae0a4572960dc22417222d Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 05:19:07 +0900 Subject: [PATCH 17/25] =?UTF-8?q?[chore]=20ktlint=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gongbaek/presentation/ui/auth/navigation/authNavGraph.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt index 267adc08..2ad35cca 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt @@ -29,6 +29,7 @@ fun NavGraphBuilder.authNavGraph( ) } + composable( route = NavigationRoute.AuthNavGraphRoute.NICKNAME ) { From 68f2f5c00995b89de35a68c7c21f7979e30c3ac7 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 05:22:17 +0900 Subject: [PATCH 18/25] =?UTF-8?q?[chore]=20ktlint=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gongbaek/presentation/ui/auth/navigation/authNavGraph.kt | 1 - 1 file changed, 1 deletion(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt index 2ad35cca..267adc08 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt @@ -29,7 +29,6 @@ fun NavGraphBuilder.authNavGraph( ) } - composable( route = NavigationRoute.AuthNavGraphRoute.NICKNAME ) { From ac600d37dce398f408fff4b3e55a70b6705fc5b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=8C=80=ED=98=84?= <132973917+wjdrjs00@users.noreply.github.com> Date: Sun, 19 Jan 2025 05:25:24 +0900 Subject: [PATCH 19/25] Rename authNavGraph.kt to AuthNavGraph.kt --- .../ui/auth/navigation/{authNavGraph.kt => AuthNavGraph.kt} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/{authNavGraph.kt => AuthNavGraph.kt} (100%) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt similarity index 100% rename from app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt rename to app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt From 1d0adb9daf0abecd7521cc57d35a8019d3424b23 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 05:38:15 +0900 Subject: [PATCH 20/25] =?UTF-8?q?[chore]=20=EB=9D=BC=EC=9D=B8=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 --- .../sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt | 1 + .../gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt | 2 ++ 2 files changed, 3 insertions(+) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt index 780446e7..7ba9a01c 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt @@ -94,6 +94,7 @@ private fun NickNameInputSection( onBackClick: () -> Unit = {} ) { Column { + StartTitleTopBar(onClick = onBackClick) GongBaekProgressBar(progressPercent = 0.25f) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt index c096f973..c1108db5 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt @@ -92,7 +92,9 @@ private fun ImageSelectorSection( modifier: Modifier = Modifier ) { Column { + StartTitleTopBar(isLeadingIconIncluded = false) + GongBaekProgressBar(progressPercent = 0.125f) Column( From f6675faeb812553db2058f30c4a904ed8a25b2b3 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 05:41:21 +0900 Subject: [PATCH 21/25] =?UTF-8?q?[chore]=20remember=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=ED=95=98=EC=97=AC=20=EC=BB=B4=ED=8F=AC=EC=A7=80=EC=85=98=20?= =?UTF-8?q?=EC=95=88=EC=A0=95=EC=84=B1=20=EA=B3=A0=EB=A0=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../presentation/ui/auth/navigation/authNavGraph.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt index 267adc08..790d5a22 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/authNavGraph.kt @@ -1,13 +1,14 @@ package com.sopt.gongbaek.presentation.ui.auth.navigation +import androidx.compose.runtime.remember import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.compose.composable import androidx.navigation.navigation import com.sopt.gongbaek.presentation.model.NavigationRoute -import com.sopt.gongbaek.presentation.ui.auth.screen.NicknameRoute import com.sopt.gongbaek.presentation.ui.auth.screen.AuthViewModel +import com.sopt.gongbaek.presentation.ui.auth.screen.NicknameRoute import com.sopt.gongbaek.presentation.ui.auth.screen.SelectProfileRoute fun NavGraphBuilder.authNavGraph( @@ -20,9 +21,10 @@ fun NavGraphBuilder.authNavGraph( composable( route = NavigationRoute.AuthNavGraphRoute.SELECT_PROFILE ) { - val viewModel: AuthViewModel = hiltViewModel( + val backStackEntry = remember(navController) { navController.getBackStackEntry(NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) - ) + } + val viewModel: AuthViewModel = hiltViewModel(backStackEntry) SelectProfileRoute( viewModel = viewModel, navigateNickname = navController::navigateNickname @@ -32,9 +34,10 @@ fun NavGraphBuilder.authNavGraph( composable( route = NavigationRoute.AuthNavGraphRoute.NICKNAME ) { - val viewModel: AuthViewModel = hiltViewModel( + val backStackEntry = remember(navController) { navController.getBackStackEntry(NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) - ) + } + val viewModel: AuthViewModel = hiltViewModel(backStackEntry) NicknameRoute( viewModel = viewModel, navigateUnivMajor = navController::navigateUnivMajor, From 3eefdda4eebfb0851b6a375fcbac606f836aefd6 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 05:42:14 +0900 Subject: [PATCH 22/25] =?UTF-8?q?[chore]=20ktlint=20=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt | 1 - .../gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt | 1 - 2 files changed, 2 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt index 7ba9a01c..780446e7 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt @@ -94,7 +94,6 @@ private fun NickNameInputSection( onBackClick: () -> Unit = {} ) { Column { - StartTitleTopBar(onClick = onBackClick) GongBaekProgressBar(progressPercent = 0.25f) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt index c1108db5..761dfac9 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt @@ -92,7 +92,6 @@ private fun ImageSelectorSection( modifier: Modifier = Modifier ) { Column { - StartTitleTopBar(isLeadingIconIncluded = false) GongBaekProgressBar(progressPercent = 0.125f) From 0f09a72552a1abded1be3e34f5f2c0c42f1880a1 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 05:53:23 +0900 Subject: [PATCH 23/25] =?UTF-8?q?[chore]=20=EB=A6=AC=EB=B7=B0=20=EB=84=A4?= =?UTF-8?q?=EC=9D=B4=EB=B0=8D=20=EC=88=98=EC=A0=95=EC=82=AC=ED=95=AD=20?= =?UTF-8?q?=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/sopt/gongbaek/domain/model/UserInfo.kt | 8 ++++---- .../ui/auth/navigation/AuthNavGraph.kt | 2 +- .../ui/auth/navigation/AuthNavigator.kt | 8 ++------ .../presentation/ui/auth/screen/AuthContract.kt | 14 +++++++------- .../presentation/ui/auth/screen/AuthViewModel.kt | 2 +- .../presentation/ui/auth/screen/NicknameScreen.kt | 8 ++++---- .../ui/auth/screen/SelectProfileScreen.kt | 6 +++--- 7 files changed, 22 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt b/app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt index 3bf900a5..716e4b82 100644 --- a/app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt +++ b/app/src/main/java/com/sopt/gongbaek/domain/model/UserInfo.kt @@ -4,11 +4,11 @@ data class UserInfo( val profileImage: Int?, val nickname: String, val mbti: String, - val schoolName: String, - val schoolMajor: String, - val schoolGrade: Int?, + val school: String, + val major: String, + val grade: Int?, val enterYear: Int?, val introduction: String, - val sex: String, + val gender: String, val timeTable: TimeTable ) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt index 790d5a22..ec2e0f45 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt @@ -41,7 +41,7 @@ fun NavGraphBuilder.authNavGraph( NicknameRoute( viewModel = viewModel, navigateUnivMajor = navController::navigateUnivMajor, - naviToBack = navController::popBackStack + navigateBack = navController::popBackStack ) } } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt index 4f34a822..3dae8540 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavigator.kt @@ -3,13 +3,9 @@ package com.sopt.gongbaek.presentation.ui.auth.navigation import androidx.navigation.NavController import com.sopt.gongbaek.presentation.model.NavigationRoute -fun NavController.navigateAuthRoute() { - navigate(route = NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) -} +fun NavController.navigateAuthRoute() = navigate(route = NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) -fun NavController.navigateCompleteAuth() { - navigate(route = NavigationRoute.AuthNavGraphRoute.AUTH) -} +fun NavController.navigateCompleteAuth() = navigate(route = NavigationRoute.AuthNavGraphRoute.AUTH) fun NavController.navigateNickname() = navigate(route = NavigationRoute.AuthNavGraphRoute.NICKNAME) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt index 03532b14..6cb4beef 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthContract.kt @@ -13,12 +13,12 @@ class AuthContract { profileImage = null, nickname = "", mbti = "", - schoolName = "", - schoolMajor = "", - schoolGrade = null, + school = "", + major = "", + grade = null, enterYear = null, introduction = "", - sex = "", + gender = "", timeTable = TimeTable( weekDay = "", startTime = 0f, @@ -28,12 +28,12 @@ class AuthContract { ) : UiState sealed class Event : UiEvent { - data class OnProfileImageChanged(val profileImage: Int?) : Event() + data class OnProfileImageSelected(val profileImage: Int?) : Event() data class OnNicknameChanged(val nickname: String) : Event() } sealed interface SideEffect : UiSideEffect { - data object NavigateToBack : SideEffect - data object NavigateToNickname : SideEffect + data object NavigateBack : SideEffect + data object NavigateNickname : SideEffect } } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt index 7c23770e..9bfcb7a9 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/AuthViewModel.kt @@ -12,7 +12,7 @@ class AuthViewModel @Inject constructor() : BaseViewModel updateUserInfo { copy(profileImage = event.profileImage) } + is AuthContract.Event.OnProfileImageSelected -> updateUserInfo { copy(profileImage = event.profileImage) } is AuthContract.Event.OnNicknameChanged -> updateUserInfo { copy(nickname = event.nickname) } } } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt index 780446e7..26768cfb 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/NicknameScreen.kt @@ -29,7 +29,7 @@ import com.sopt.gongbaek.ui.theme.GONGBAEKTheme fun NicknameRoute( viewModel: AuthViewModel, navigateUnivMajor: () -> Unit, - naviToBack: () -> Unit + navigateBack: () -> Unit ) { val uiState by viewModel.state.collectAsStateWithLifecycle() val lifecycleOwner = LocalLifecycleOwner.current @@ -38,8 +38,8 @@ fun NicknameRoute( viewModel.sideEffect .flowWithLifecycle(lifecycleOwner.lifecycle) .collect { sideEffect -> - if (sideEffect is AuthContract.SideEffect.NavigateToBack) { - naviToBack() + if (sideEffect is AuthContract.SideEffect.NavigateBack) { + navigateBack() } } } @@ -51,7 +51,7 @@ fun NicknameRoute( viewModel.setEvent(AuthContract.Event.OnNicknameChanged(nickname)) }, onBackClick = { - viewModel.sendSideEffect(AuthContract.SideEffect.NavigateToBack) + viewModel.sendSideEffect(AuthContract.SideEffect.NavigateBack) } ) } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt index 761dfac9..b1848c03 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/screen/SelectProfileScreen.kt @@ -38,7 +38,7 @@ fun SelectProfileRoute( viewModel.sideEffect .flowWithLifecycle(lifecycleOwner.lifecycle) .collect { sideEffect -> - if (sideEffect is AuthContract.SideEffect.NavigateToNickname) { + if (sideEffect is AuthContract.SideEffect.NavigateNickname) { navigateNickname() } } @@ -48,11 +48,11 @@ fun SelectProfileRoute( selectedProfile = uiState.userInfo.profileImage, onSelectedProfile = { selectedProfileIndex -> viewModel.setEvent( - AuthContract.Event.OnProfileImageChanged(selectedProfileIndex) + AuthContract.Event.OnProfileImageSelected(selectedProfileIndex) ) }, onNextButtonClicked = { - viewModel.sendSideEffect(AuthContract.SideEffect.NavigateToNickname) + viewModel.sendSideEffect(AuthContract.SideEffect.NavigateNickname) } ) } From 47ccacb5284647abe21c0bf02714cd15bc54bf49 Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 06:04:12 +0900 Subject: [PATCH 24/25] =?UTF-8?q?[chore]=20ktlint=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/auth/navigation/AuthNavGraph.kt | 38 +++++++++++-------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt index ec2e0f45..d8e1e7d3 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt @@ -1,10 +1,10 @@ package com.sopt.gongbaek.presentation.ui.auth.navigation -import androidx.compose.runtime.remember import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.compose.composable +import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.navigation import com.sopt.gongbaek.presentation.model.NavigationRoute import com.sopt.gongbaek.presentation.ui.auth.screen.AuthViewModel @@ -21,28 +21,34 @@ fun NavGraphBuilder.authNavGraph( composable( route = NavigationRoute.AuthNavGraphRoute.SELECT_PROFILE ) { - val backStackEntry = remember(navController) { - navController.getBackStackEntry(NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) + val viewModel: AuthViewModel? = navController.currentBackStackEntryAsState().value?.let { it1 -> + hiltViewModel( + it1 + ) + } + if (viewModel != null) { + SelectProfileRoute( + viewModel = viewModel, + navigateNickname = navController::navigateNickname + ) } - val viewModel: AuthViewModel = hiltViewModel(backStackEntry) - SelectProfileRoute( - viewModel = viewModel, - navigateNickname = navController::navigateNickname - ) } composable( route = NavigationRoute.AuthNavGraphRoute.NICKNAME ) { - val backStackEntry = remember(navController) { - navController.getBackStackEntry(NavigationRoute.AuthNavGraphRoute.AUTH_NAV_GRAPH) + val viewModel: AuthViewModel? = navController.currentBackStackEntryAsState().value?.let { it1 -> + hiltViewModel( + it1 + ) + } + if (viewModel != null) { + NicknameRoute( + viewModel = viewModel, + navigateUnivMajor = navController::navigateUnivMajor, + navigateBack = navController::popBackStack + ) } - val viewModel: AuthViewModel = hiltViewModel(backStackEntry) - NicknameRoute( - viewModel = viewModel, - navigateUnivMajor = navController::navigateUnivMajor, - navigateBack = navController::popBackStack - ) } } } From 09a4f48bffcaa0dcd9bf2038b62bebfad84cbf5c Mon Sep 17 00:00:00 2001 From: wjdrjs00 Date: Sun, 19 Jan 2025 06:57:36 +0900 Subject: [PATCH 25/25] =?UTF-8?q?[refactor]=20viewmodel=20=EC=9D=B8?= =?UTF-8?q?=EC=8A=A4=ED=84=B4=EC=8A=A4=20=EC=9C=84=EC=B9=98=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/auth/navigation/AuthNavGraph.kt | 37 ++++++------------- .../presentation/ui/main/MainNavHost.kt | 9 ++++- 2 files changed, 19 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt index d8e1e7d3..0a07684e 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/auth/navigation/AuthNavGraph.kt @@ -1,10 +1,8 @@ package com.sopt.gongbaek.presentation.ui.auth.navigation -import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.NavGraphBuilder import androidx.navigation.NavHostController import androidx.navigation.compose.composable -import androidx.navigation.compose.currentBackStackEntryAsState import androidx.navigation.navigation import com.sopt.gongbaek.presentation.model.NavigationRoute import com.sopt.gongbaek.presentation.ui.auth.screen.AuthViewModel @@ -12,7 +10,8 @@ import com.sopt.gongbaek.presentation.ui.auth.screen.NicknameRoute import com.sopt.gongbaek.presentation.ui.auth.screen.SelectProfileRoute fun NavGraphBuilder.authNavGraph( - navController: NavHostController + navController: NavHostController, + viewModel: AuthViewModel ) { navigation( startDestination = NavigationRoute.AuthNavGraphRoute.SELECT_PROFILE, @@ -21,34 +20,20 @@ fun NavGraphBuilder.authNavGraph( composable( route = NavigationRoute.AuthNavGraphRoute.SELECT_PROFILE ) { - val viewModel: AuthViewModel? = navController.currentBackStackEntryAsState().value?.let { it1 -> - hiltViewModel( - it1 - ) - } - if (viewModel != null) { - SelectProfileRoute( - viewModel = viewModel, - navigateNickname = navController::navigateNickname - ) - } + SelectProfileRoute( + viewModel = viewModel, + navigateNickname = navController::navigateNickname + ) } composable( route = NavigationRoute.AuthNavGraphRoute.NICKNAME ) { - val viewModel: AuthViewModel? = navController.currentBackStackEntryAsState().value?.let { it1 -> - hiltViewModel( - it1 - ) - } - if (viewModel != null) { - NicknameRoute( - viewModel = viewModel, - navigateUnivMajor = navController::navigateUnivMajor, - navigateBack = navController::popBackStack - ) - } + NicknameRoute( + viewModel = viewModel, + navigateUnivMajor = navController::navigateUnivMajor, + navigateBack = navController::popBackStack + ) } } } diff --git a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt index 373ea56d..cc76f9bb 100644 --- a/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt +++ b/app/src/main/java/com/sopt/gongbaek/presentation/ui/main/MainNavHost.kt @@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.hilt.navigation.compose.hiltViewModel import androidx.navigation.compose.NavHost import androidx.navigation.compose.composable import com.sopt.gongbaek.presentation.model.NavigationRoute @@ -16,6 +17,7 @@ import com.sopt.gongbaek.presentation.ui.grouproom.navigation.groupRoomNavGraph import com.sopt.gongbaek.presentation.ui.home.navigation.homeNavGraph import com.sopt.gongbaek.presentation.ui.mygroup.navigation.myGroupNavGraph import com.sopt.gongbaek.presentation.ui.auth.navigation.authNavGraph +import com.sopt.gongbaek.presentation.ui.auth.screen.AuthViewModel import com.sopt.gongbaek.presentation.ui.splash.SplashScreen @Composable @@ -24,6 +26,8 @@ fun MainNavHost( paddingValues: PaddingValues, modifier: Modifier = Modifier ) { + val authViewModel: AuthViewModel = hiltViewModel() + Box( modifier = modifier .fillMaxSize() @@ -34,7 +38,10 @@ fun MainNavHost( startDestination = navigator.startDestination ) { composable(route = NavigationRoute.SplashRoute.SPLASH) { SplashScreen(navController = navigator.navController) } - authNavGraph(navigator.navController) + authNavGraph( + navController = navigator.navController, + viewModel = authViewModel + ) groupListNavGraph(navigator.navController) groupRegisterNavGraph(navigator.navController) groupDetailNavGraph(navigator.navController)