From fca5425e81a1c68aaa6c7e77a9cf85085e3f11ba Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Thu, 10 Jul 2025 19:18:50 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=95=98=EB=8B=A8=20=ED=83=AD=20?= =?UTF-8?q?=EC=95=84=EC=9D=B4=EC=BD=98=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ic_chat.imageset/Contents.json | 21 ++++++++ .../ic_chat.imageset/ic_chat.png | Bin 0 -> 401 bytes .../ic_chat_selected.imageset/Contents.json | 21 ++++++++ .../ic_chat_selected.png | Bin 0 -> 519 bytes .../ic_home.imageset/Contents.json | 21 ++++++++ .../ic_home.imageset/ic_home.png | Bin 0 -> 394 bytes .../ic_home_selected.imageset/Contents.json | 21 ++++++++ .../ic_home_selected.png | Bin 0 -> 431 bytes .../ic_live.imageset/Contents.json | 21 ++++++++ .../ic_live.imageset/ic_live.png | Bin 0 -> 426 bytes .../ic_live_selected.imageset/Contents.json | 21 ++++++++ .../ic_live_selected.png | Bin 0 -> 764 bytes .../ic_my.imageset/Contents.json | 21 ++++++++ .../Assets.xcassets/ic_my.imageset/ic_my.png | Bin 0 -> 320 bytes .../ic_my_selected.imageset/Contents.json | 21 ++++++++ .../ic_my_selected.png | Bin 0 -> 431 bytes .../ic_subscribe.imageset/Contents.json | 21 ++++++++ .../ic_subscribe.imageset/ic_subscribe.png | Bin 0 -> 439 bytes .../Contents.json | 21 ++++++++ .../ic_subscribe_selected.png | Bin 0 -> 631 bytes .../img_text_logo.imageset/Contents.json | 21 ++++++++ .../img_text_logo.imageset/img_text_logo.png | Bin 0 -> 1942 bytes SodaLive/Sources/App/AppDelegate.swift | 6 --- SodaLive/Sources/App/AppState.swift | 2 +- .../Sources/Main/Home/BottomTabView.swift | 51 +++++------------- SodaLive/Sources/Main/Home/HomeView.swift | 9 +--- .../Sources/Main/Home/HomeViewModel.swift | 15 +----- 27 files changed, 248 insertions(+), 66 deletions(-) create mode 100644 SodaLive/Resources/Assets.xcassets/ic_chat.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_chat.imageset/ic_chat.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_chat_selected.imageset/ic_chat_selected.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_home.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_home.imageset/ic_home.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/ic_home_selected.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_live.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_live.imageset/ic_live.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/ic_live_selected.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_my.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_my.imageset/ic_my.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_my_selected.imageset/ic_my_selected.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/ic_subscribe.png create mode 100644 SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/ic_subscribe_selected.png create mode 100644 SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/Contents.json create mode 100644 SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/img_text_logo.png diff --git a/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/Contents.json new file mode 100644 index 0000000..475e954 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_chat.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/ic_chat.png b/SodaLive/Resources/Assets.xcassets/ic_chat.imageset/ic_chat.png new file mode 100644 index 0000000000000000000000000000000000000000..f8cc5755f9a70aef6ae0e7e56497c24e14c036fb GIT binary patch literal 401 zcmV;C0dD?@P)P000;W1^@s654Bdt00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP4NZwA z17=Q*WJXFOPp)Bgf$s?oh24xmA;{HaX2Z%z!U+d1rwnHIhLYtBm7Gh zkyF8u6mY64`y6+Y5h;Nqlmz!(j^ebX0YIOASA%8`s-hJ~`kBbLnPX3(?=%jVR=f|A z82Uy{R??$1WDPu^6CX(z7Rt3BPF6XMfZ2aSoVCyRuf|u1v-;)m^qjGVp#Pp3;{i?u z=?UVXdj`j^|2&Z76nxy=jQ5lRz@JY-#mWJ>=jO4>*+1$tr}AI|X`B|hB;domwSG9- v%9ZK~uracv`WD+@FWBt}IY&`+qeP000>X1^@s6#OZ}&00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP@CM)!yg@wyasu2D*jN((mOVl}L8~z)n#_An z303)z!V+lEaB>2qA9OLj&^TNTOEKs<0%%N|A_;(u5cn6!;jL zrVXP%h9pN5_gsC{VI7#8jp=JIRf0nFp$w1*i4uP=VBJ*&Fw_rbZapU15G4tMd=lak zNpT4S->7P-0i%^Cj$p(jNgxVuQI5#ZdE(SO!56=>)W#1JMtGqUpA|15ri;fj-3+gU zz=kBE39{lP8vo=Ao%qJ=#m($f`Ec$}cWXfq+7p&^1tow$qu+5zvbhE3;vKJtQ+Wq7 zRbsVNt0uIeC~AU?)Qz_MSP3(-0YwEst%nmmHp!6WcB_?%KKqW#Ttd|7wPR$rry_yI4Z%|NQ^}002ov JPDHLkV1kqb*=GO% literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/ic_home.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_home.imageset/Contents.json new file mode 100644 index 0000000..b977944 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_home.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_home.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_home.imageset/ic_home.png b/SodaLive/Resources/Assets.xcassets/ic_home.imageset/ic_home.png new file mode 100644 index 0000000000000000000000000000000000000000..1782cc121fe030703262b0e5a7ccbb0996b9051f GIT binary patch literal 394 zcmV;50d@X~P)P000>X1^@s6#OZ}&00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPj(Fz#NosxM!cyrrTH+0+(DqTmQfJ-{wp7 zEwI*R%mcFkbLN7E0w>$qFiy;r`oaZ6v0#gTQ|1yCS=jDXA(2j!1w@>bhyyceyTM8Y z=COA0`daxHF@J&@!Jb+IRTV0B6LQ?Z;qH1)J%Do)tbIxZQ~Ch76e2e9Eu3ip*!os3 z-S-6lQ`j2~gNx2Pp%L(>oA5!-Lla=IO&IQar_8KF%nzPP1sj{9C2SG#OB#7!FW>tp z@Sw%I9+p{iQAWYl_I&N^^Bua%*q8rCD`1mTJz^@-<;Iav-KLT`GscuYC9c#X+SUgy oZrg0B3CV(EyXRDr`IL`^2d7%YV;=@~ literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/Contents.json new file mode 100644 index 0000000..05c5bab --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_home_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/ic_home_selected.png b/SodaLive/Resources/Assets.xcassets/ic_home_selected.imageset/ic_home_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..8e4aa77bd6b1aab4cd79e4018feac7cddd641a12 GIT binary patch literal 431 zcmV;g0Z{&lP)P000;W1^@s654Bdt00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP~kG(L4}Q97|WP*j<0QNs&!GZ@(wEDdc%>)v$>CMqBB0Q8OuyraB0{}CKII9l ZC11aMbT+YOP5=M^002ovPDHLkV1hLXu;c&$ literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/ic_live.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_live.imageset/Contents.json new file mode 100644 index 0000000..3152a65 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_live.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_live.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_live.imageset/ic_live.png b/SodaLive/Resources/Assets.xcassets/ic_live.imageset/ic_live.png new file mode 100644 index 0000000000000000000000000000000000000000..a9b1666710a898931e8fdfafd2bffaa1227dfd93 GIT binary patch literal 426 zcmV;b0agBqP)P000;W1^@s654Bdt00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP2tzN1f^L*$=!r+*AH0)P URt;*RW&i*H07*qoM6N<$g50>QfB*mh literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/Contents.json new file mode 100644 index 0000000..fb48747 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_live_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/ic_live_selected.png b/SodaLive/Resources/Assets.xcassets/ic_live_selected.imageset/ic_live_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..bcec1adf8f54c3d6bf6efeae427708d314cf3f86 GIT binary patch literal 764 zcmVP000>X1^@s6#OZ}&00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP)U)u z*I}-Gd5BVW1Yik4K2I|i0!pj{fc4y`%fppH7(jrkX(vh@UF>eYOEbRM^G{f3u3Jk3 z63GpRh#Bx2m3lKM`gK@AIHUsQP`^4-c|4HgZ%ldlYAw!&9|pR z&I#`ayZ#6wb)bEC@;GRQTTYN??U3RNY&7l_{2HIJ69L2wF%TF93p35OO;WMALq7r41nxW{;@OtODnT zf3d~EMl z&PQ$#Whz5T?^S$B4XJIYn<*Ek_MB$bv7HKZTT3uAGYnYz_E&B=s?yEf5eoj;9m7VZ(xlS9)}s_`qpZy+q(WEO}=_-#NOB1}$&YpA;PoPEMT u2`@U-=1+tvFFd$k%v7srqa#P000>X1^@s6#OZ}&00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPbAB6t8%`#3EhVrLkTZh=`B(>cp#ARw9maud~A&~+xT5>`mM!h~=c)fukg zuO@89v*2r7d}I>4OEg&=luHI`8DLnG1|Qe_74>KI?Dn>CpRjT_8>F^PqPeog-iVoBSiObcr)bOCA#Vjaqkw2`Dk&C&Gr` Z@eWWeX*Fm!J39aX002ovPDHLkV1fVxsvH0S literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/Contents.json new file mode 100644 index 0000000..46da3fc --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_subscribe.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/ic_subscribe.png b/SodaLive/Resources/Assets.xcassets/ic_subscribe.imageset/ic_subscribe.png new file mode 100644 index 0000000000000000000000000000000000000000..4e071a74b85df3e878d67b94a8228a55433212d5 GIT binary patch literal 439 zcmV;o0Z9IdP)P000;W1^@s654Bdt00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPmx%dD8 literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/Contents.json new file mode 100644 index 0000000..28fe254 --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ic_subscribe_selected.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/ic_subscribe_selected.png b/SodaLive/Resources/Assets.xcassets/ic_subscribe_selected.imageset/ic_subscribe_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..a896c516f480bc018ebebee4ceb89a49a908e86a GIT binary patch literal 631 zcmV--0*L*IP)P000>X1^@s6#OZ}&00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yP1`Q`DHwZmJ(x-^LV5zOtH{b;L1`a`r zguye+1S2KRCYS`}lcH#LXXl$)&(8vE0H&y7(2c$1L#bt$117#Arj!5sepKWvzGPVc zKlkHG@*Xb?Q5%HB7-(6<^XdI%cASyuA!}`CVvuN$gwG)U$m=oCF%pCf|JFBx?e6+jluLX zqV7_XdOvPF5kRyxhNJMnAAT9!w$O1^PvG|M+2}Cb^M~bf+RP%V>KZJIBy+K?1iOP# z2PKQ-@;$enI>e{-vr!j@A`u-stt~hV;>}Mna0EqR%;~>xADe|qCfA18fmZ@kI{5S5 z@6D})( zB=YgMUnEHlRADWaw3c6*$*$+-Xke|6Ka`%gqaEXUVI~q08fy|Lyt{YM$l09{LU;oh zYp-YIyu#Oh9MDuWq7X=4YX^vABA!r6H*9fR9BOOhWZ)hU|DJL*`n&IkOG)z34v-`= zdb1HAJtvaJS!QM__d;_58^7O;OWRM`cl~#9sy!I*d>AE RlB56t002ovPDHLkV1l$`6$StR literal 0 HcmV?d00001 diff --git a/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/Contents.json b/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/Contents.json new file mode 100644 index 0000000..f9d33fc --- /dev/null +++ b/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "img_text_logo.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/img_text_logo.png b/SodaLive/Resources/Assets.xcassets/img_text_logo.imageset/img_text_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f5e6fce4de08df65b15895c470d4da3216e8d3b9 GIT binary patch literal 1942 zcmV;H2Wj|;P)X1^@s60xS{Q00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPBRFMmLYT~lPQfimY%gU=;UR>&#rau>0)3_eLX3_ZiGpWllU50hR{z#XWrkyX~>*>!@ zwn!mH3+RyF6s>=Znj>9))TN=vMbLW>$m2YX-xLo6|8jfy(M~xfK}_Nv1b_zu_bXOn zP%YJouY5N#Qi?`AA|y*GpI!&kwDH_*L?3uBf zQIS&0rCtZZz&;p8nLa$Fb?PxqNL?HvI{?f@dW<~OrKQVF`aQ|U8q8=O4aUQ%Oot-T z-QWpbfmG-RiNDWiussU_*4j#oMb#7H=yo zpGA){!joVBt4#Y3e?LyzZr$(j_BJZe@X^1UhCV4@wWnQc!ZCbK&POsj?tg1V8zcm* z9vLepf$zTw4+tteUhC)_~x%C$#>s&3GctM)ie)Fk?xn2k;zR!T)%Ex8vzrjIF65} ziB+DDWSeh7SFi}DU>ynzSbdV!BjYxUKmwj+O;b>gQ+!@q2@d`NUjwaujFIFL5j?=U zT!b`C_^b=(soQQg7Tx_CMWTy6_x-)xI==XA9X`Lgp48vnzXf&;3R<5`_9Ly3aP8zs z03|?$>dbhyyU&bI4qUM33#>EX6I+?+F;;h8I~-`Tx>rP`(xfU|Ptmoe2e=|vtfUBI zF~&ao5Ti^mxeIJ&0tPU)CdxUmdmw518_z}vW=FBIHN7~=-wgiR<|X;x!dJQ=QdcYq4E72rt4mjPl ziIGtI+7RpLQn^Aucx^k(9onUnpdB#&LYnY=dFyd55sDR*X8TVIr!r~5+{*0NkTRk3 zXDUyZRTL^E8XgtA>n($IO%OfaKk2a8_hIBeg%(J>eU_Qlhz^sN2Jyge$awg~qd^Hy zjc9Q^SLCcKgYKx#S##$@MWJg&7t4W`c$j_Q=SD-8=v?Lau4bS zV{4Em3so_%dDhr?4~n1jj75(@b%eT{X3u#ZZ1f71*JtDKLc1mgye<9U zi7XyIq}lf{TOTGTEz#qZ$$(tu=+VXYWcna34yrD{6{Y2|^ 0 { - AppState.shared.startTab = .audition - NotificationCenter.default.post(name: .didReceiveHomeTab, object: HomeViewModel.CurrentTab.audition) - } - completionHandler() } } extension Notification.Name { static let pointGranted = Notification.Name("POINT_GRANTED") - static let didReceiveHomeTab = Notification.Name("didReceiveHomeTab") } diff --git a/SodaLive/Sources/App/AppState.swift b/SodaLive/Sources/App/AppState.swift index 6e75b2e..1222b9a 100644 --- a/SodaLive/Sources/App/AppState.swift +++ b/SodaLive/Sources/App/AppState.swift @@ -44,7 +44,7 @@ class AppState: ObservableObject { @Published var purchasedContentOrderType = OrderType.KEEP @Published var isChangeAdultContentVisible = false - @Published var startTab: HomeViewModel.CurrentTab = .content + @Published var startTab: HomeViewModel.CurrentTab = .home @Published var marketingUtmSource = "" @Published var marketingUtmMedium = "" diff --git a/SodaLive/Sources/Main/Home/BottomTabView.swift b/SodaLive/Sources/Main/Home/BottomTabView.swift index 6f1e762..1fc674b 100644 --- a/SodaLive/Sources/Main/Home/BottomTabView.swift +++ b/SodaLive/Sources/Main/Home/BottomTabView.swift @@ -13,27 +13,27 @@ struct BottomTabView: View { var body: some View { HStack(spacing: 0) { - let tabWidth = width / 4 + let tabWidth = width / 3 TabButton( - title: "콘텐츠", + title: "홈", action: { - if currentTab != .content { - currentTab = .content + if currentTab != .home { + currentTab = .home } }, image: { - currentTab == .content ? - "ic_tabbar_content_selected" : - "ic_tabbar_content_normal" + currentTab == .home ? + "ic_home_selected" : + "ic_home" }, fontName: { - currentTab == .content ? + currentTab == .home ? Font.bold.rawValue : Font.medium.rawValue }, color: { - currentTab == .content ? + currentTab == .home ? Color.button : Color.graybb }, @@ -49,8 +49,8 @@ struct BottomTabView: View { }, image: { currentTab == .live ? - "ic_tabbar_live_selected" : - "ic_tabbar_live_normal" + "ic_live_selected" : + "ic_live" }, fontName: { currentTab == .live ? @@ -65,31 +65,6 @@ struct BottomTabView: View { width: tabWidth ) - TabButton( - title: "오디션", - action: { - if currentTab != .audition { - currentTab = .audition - } - }, - image: { - currentTab == .audition ? - "ic_tabbar_audition_selected" : - "ic_tabbar_audition_normal" - }, - fontName: { - currentTab == .audition ? - Font.bold.rawValue : - Font.medium.rawValue - }, - color: { - currentTab == .audition ? - Color.button : - Color.graybb - }, - width: tabWidth - ) - TabButton( title: "마이", action: { @@ -99,8 +74,8 @@ struct BottomTabView: View { }, image: { currentTab == .mypage ? - "ic_tabbar_my_selected" : - "ic_tabbar_my_normal" + "ic_my_selected" : + "ic_my" }, fontName: { currentTab == .mypage ? diff --git a/SodaLive/Sources/Main/Home/HomeView.swift b/SodaLive/Sources/Main/Home/HomeView.swift index c088395..479d848 100644 --- a/SodaLive/Sources/Main/Home/HomeView.swift +++ b/SodaLive/Sources/Main/Home/HomeView.swift @@ -18,7 +18,6 @@ struct HomeView: View { @StateObject var contentPlayerPlayManager = ContentPlayerPlayManager.shared private let liveView = LiveView() - private let audition = AuditionView() private let contentView = ContentMainTabHomeView() @State private var isShowPlayer = false @@ -30,17 +29,13 @@ struct HomeView: View { VStack(spacing: 0) { ZStack { contentView - .frame(width: viewModel.currentTab == .content ? proxy.size.width : 0) - .opacity(viewModel.currentTab == .content ? 1.0 : 0.01) + .frame(width: viewModel.currentTab == .home ? proxy.size.width : 0) + .opacity(viewModel.currentTab == .home ? 1.0 : 0.01) liveView .frame(width: viewModel.currentTab == .live ? proxy.size.width : 0) .opacity(viewModel.currentTab == .live ? 1.0 : 0.01) - audition - .frame(width: viewModel.currentTab == .audition ? proxy.size.width : 0) - .opacity(viewModel.currentTab == .audition ? 1.0 : 0.01) - if viewModel.currentTab == .mypage { MyPageView() } diff --git a/SodaLive/Sources/Main/Home/HomeViewModel.swift b/SodaLive/Sources/Main/Home/HomeViewModel.swift index a010eab..8022fcf 100644 --- a/SodaLive/Sources/Main/Home/HomeViewModel.swift +++ b/SodaLive/Sources/Main/Home/HomeViewModel.swift @@ -18,24 +18,11 @@ final class HomeViewModel: ObservableObject { private let playbackTrackingRepository = PlaybackTrackingRepository() enum CurrentTab: String { - case content, live, audition, mypage + case home, live, mypage } @Published var currentTab: CurrentTab = AppState.shared.startTab - init() { - NotificationCenter.default - .publisher(for: .didReceiveHomeTab) - .compactMap { - $0.object as? CurrentTab - } - .sink { [weak self] currentTab in - AppState.shared.setAppStep(step: .main) - self?.currentTab = currentTab - } - .store(in: &subscription) - } - func pushTokenUpdate(pushToken: String) { userRepository.updatePushToken(pushToken: pushToken) .sink { result in