From 962197d3197642813346df8308e57fdc6080bd3e Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Fri, 6 Oct 2023 01:02:32 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9B=84=EC=9B=90=EB=9E=AD=ED=82=B9=20?= =?UTF-8?q?=EC=A0=84=EC=B2=B4=EB=B3=B4=EA=B8=B0=20-=20=EC=B1=84=EB=84=90?= =?UTF-8?q?=EC=97=90=20=ED=9B=84=EC=9B=90=EB=9E=AD=ED=82=B9=20=ED=99=9C?= =?UTF-8?q?=EC=84=B1=ED=99=94=20=EC=8A=A4=EC=9C=84=EC=B9=98=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 --- .../btn_toggle_off_big.png | Bin 845 -> 3167 bytes .../btn_toggle_on_big.png | Bin 927 -> 4746 bytes .../Profile/GetDonationAllResponse.swift | 1 + .../Profile/UserProfileDonationAllView.swift | 35 +++++++++++-- .../UserProfileDonationAllViewModel.swift | 46 ++++++++++++++++++ .../MyPage/Profile/ProfileUpdateRequest.swift | 1 + 6 files changed, 79 insertions(+), 4 deletions(-) diff --git a/SodaLive/Resources/Assets.xcassets/btn_toggle_off_big.imageset/btn_toggle_off_big.png b/SodaLive/Resources/Assets.xcassets/btn_toggle_off_big.imageset/btn_toggle_off_big.png index ee6af1d74a3c26bcfdb86dc28af3b77d9c498681..d7d6da683813985f8f009efbcc29aa6abb9f2625 100644 GIT binary patch literal 3167 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 XhJ^(focA=o00000NkvXXu0mjfcM4{6 diff --git a/SodaLive/Resources/Assets.xcassets/btn_toggle_on_big.imageset/btn_toggle_on_big.png b/SodaLive/Resources/Assets.xcassets/btn_toggle_on_big.imageset/btn_toggle_on_big.png index 6898f8d633e230873a370a79bb96912b1155aca2..c18306b36008ec2b1722eb948fd07e046b2334d6 100644 GIT binary patch literal 4746 zcmV;55_Ro~P);u?c5U?Pd1<8m~5|;#e5L=i5CuOihkd;3!D;2q1iIDyXhjQ{Sme9}G z(ZhcPDyL#nB`Nt41FBMxk}9!0CD2;aCI-JQ5Xsl=`=Zms{rl^I>-r^fI}43r26E+; zTqKpa3na8+!?c3=Vy#e>AVLUYf%#L|my+lBb=?VCH@spLnC$t2X2kmi9sg`ASXX1tFa-cln}DJn%HCJMi*m3hq(Mk)I? z6<iYo~z%>||4*XVD}d;7PL?qBYZ8g?E0R`YI49=^zA5ogj!L#i^+klHM?`av}k zrGg+}6hJc(%mW`CtI!-1S@4+1HU%w1PoMG=-5$>Sg}=ZH}Fw>!@S1Cf_n zZxyBDzWskazul_Ygp+5&NmK1)847LLV->`a1Bt;ZLVHy<1aSo7J#7gE0^{uR590nO zWlSC!;NJo7%`u(}+-pRffECD+D36!g@z%P=r-YbzU6{}-eq~SLdw4TXR<9E~*k3^? zXND4F3Co5UA#Ei?kg`3-bK0Ius!nX05}(BCB4Tm`DMOl6jU`PAU#>Cg!{-A-p1`RP zDGzKtu)b-BHnKAzsxu*^S-Gds8U(?A;Em_N3+O@qi6sc{%XUM8lxZvTUeRmi0cfdD z!@Ub*g_@?CII6m&7c2Y_ht#|Dep`X`zgw*391H?M3oIu z6q17pQz}9|KKyH1n_g7JWebog`u_O_qL?E>^FX^6u_GJD=EfnwE> z1w7iae_i9xVVsIHX3~)FQmPA{#FqO3R52>d5nCcsmoPz=GLobSsx$yVgc&FzfBNB` z`7;(-yv? zF`BF~k%rBYlsob8E~t7W`cv3(wPvVn%#A7;!e}Im8t8`=^Bdr?`&!|iTbp1iLF%*Z zopw0#SueF%nB>A;@HT&kl1cRvq+r+Jk}O*Y|Ch z*FM?^YgF&{k}x(Zikw{bRfsHoNS1!6gAzRa_=jH{g|kI;XEL>BV}Hjv%N(jZ#mSGOODEOIod|RnOYj2vIVGjkxn*{A$!`h!FGJYZ1CQRl0G|HKJ8yWx5N2f1*Fth{TE2k4JKY1D zR`SWpCEF3H7Kd8=&jT-gGNNviV7NDY^^LA)arYp2f!Of{+jDEeXfjFI*x2BYV&gx) z@;12Hzz#Zg5ga~s5nOMx?KQR|=b}Z|rL(7A`qwvxyVf<8hKB{JydNfp8~=%;ByxDe zVxJ)l?jK#g@TMe;!(%I#pyDh<^7n#9Gpj4qh6Yc?6JLG3uz9%aT-B#BLj&@CKYDsC z5@EG+5fYoEUL;HlJbwQYs0M6%yB)T_-(h^5Y&`_&Z0zHtf`e}jM_MdICPWBbQ3hs+&p-_Ri%0I z$d_Sgh^A>q<4dSAE9Te3+S}%WFSzH{W}ec)(>uxo)Ic-=r z4}1hMV)f!V);!Tf_|Wy)&?>Innq8f<+IiDIR(<{Ol5EY`&wVbXYKnrJnoTck!$Q)uS=u4(npEG0pmn6z?2l@sf;c$x?f zOKDi`Ocav_n{GAugal!tN#fW@xg~SJXAmQn-`Z%`ZH3X|Kav&X%|`b=N&bwNeKU}l z24RN}?p@dnzGLl@xluG}qbIlevvt+Wf8YUZS?>2?8A=j1^@mo`+G--r(%E$|BU^oA zOrr&vsFwOv992fyF3=&K*Tfb{;!8R33_4m>Yeu$-Ja^2lgJ~GtyRgx!jD4tVVjWcu zTj{*io^|Nibt#Fp*or%{md=?0(=dL`m*zCY<_V&9qBIs?ruRrGf<@pZbR@mB%y!u= z4KNLZ1v6^R!xT$0a|dJ2Ryr?1Xn$ts5u6|F2xA?+YMe7ORxF#_VB5zIv$!QaLbTF( zB#npWDftu;kT}z%sYK+Pb)jZ$`t{HSRH@KQ7Ta6Z`EliYIkuk#x%!n4t zRTnH_OqPwvFP_FAMAJNznMlpfL(u zNMZ8tdk21Sq)pn4+ehcRU>XKQ8U`gka;a&7^92~CQ9Aqte1gl(%PHdHT)m%m7hxI( z$If-z{Cqa0to3VfBq2}diAqPoC%C=`n=0OA0;h(WhEd?-7kW*4HLJp=X96ECtyo}W zO8Dgn3+vBBYJ-g;gA^RBI1!W6W<`TKL=I}V*G*j#*8VWbPN zMV`1qN9Gl+c7t~iw)jL46{$Fa4dydQh1=RMpzsDZMZPsrroL30js`3df$+yfMV*`i zqEa_hjDnIg@6BKI+e9HJ+D@L2YAb;C`S3tX!NL-+Mqt0j_V!gfqOr+@X>wIddO`ua zf7b!NV)us~(4$R(4zQ(wO#LVc!DZOzmgX{P*soE#4ZMNtdyw2Xq%vH^q$b1i>?4Q` zFMn`4QAfcB3EUH`ckF$zF%p$%7(r_NJotn}Cm%PE&EkFJY!4Tw@C}Dg72xASF)9Nj zFnTi4rPQ(}*p+;5M4E%^o4hem5p3VM2`^JzFNrFcP&E^uKq|BS-Mp#Zl8Q5#bKBr} z(}BO3`D!vFR>gp&4wZjuBSlo&kDo9!QB?lskVk5>_ry88=N`WIsKA&}Vf1id>)`iS zkS3jl=X_EdI}AtZZ>`eQShdN*PY#>_A3#y`j}Lxqs`f;YJzuTwehWo*wndpYLl{+*|PBRuR7qPDjvw}xYQ5Z51%qBlkjKAm%(9{{9EgqpH38q zk1&KZ+*Pd9R`3L3P$^?B-&bQC;$EnMEwB9=x~j0ludA;Nf4}oR2r_lnG`ZqoT%uVA z)|VMJC9K0Q*EjtfHG403fM{ByD~RqKVtVp2SvXr1@ZMOPYybLJB{>Q!RviWOW=b97C-}+|Lb3&`< zz#HhO!;kzM4#BBRF%=HY*2DJqPT#b|afI1^^+SFVH+t$QN>20iJu-Vn#mz!!FS!Hj~N zz8eZrsqtU=@H~9yzutv2UHxz)f`0ywKJSL_{P!XF-;C?Zpv&P_V+~v-8bFy1+EV{s>Yl|&{uwe zBBbA(gf ztC_61ZSHj=5B=hYP8Hza4*njFUmA#`KQga2N)kad0Gvthlvl%E;r$^5UU9k5)?_N3uf$cI2A-VMtvlN&@jg zO}6&iZEI@tFb0h4z8-kJ@GSNoZXWM-ZW?HpMN8Q#C7~@EI$#QH@kT^K^2~35jmzf4 zhC5sMpH6fG5mCC)$$j;s4xVjz_-u~}p_wptpP~pbZ6}KJBykR_XQ{5IU;C>?WA3;e z_q}kD)IdIicTu%D;<=7O@&y&wyo^+bHzJJndq{n7-+;drrO(eTna!0>T$;AgHoW_M zT9@?Z$#Za|qZ7$;5qgw}r!?599cE5UyrRG?Ly-kM*n03AGoPn)_15Vfu}K=-9^(f4 zIYK;xcJV>*LUn99F`F4QuIHU3P}!6N;(a+PzO}Tu7Vel`4|mMLZSE{+NT*%D z8>c?O&!EHv9T=exP$$WpT=4db` z^am!@!7utFf1G4T9%V}asYGR$vMt$c%lo++nYQMD%hRi!YPrfVkjM&?9NGwi#9Wt@ z370KF*k5t$x7>1CDTyq3yzEvSfZhRD5X`Y+QdHrAJ%y)~lz(SyE>xZJRJOj$-IvH1 zs=`D8vRH+T6J3sLOj*a;k<0y~-C)D2=eILEU_2 z5mXRGME(hq1q@jZeD{l;qY0x&d*71|s*j27wGnUlk*WOL>kA!c$aLX4Br|{~GNvc3 zhRZtY1`U(>bRrT-cTR&OqKGz7`lr02WC}2)KVEKUp)st391%!Mx!Nkwlz)$@hxL61 z?e!pHF$Rq=i#Vx}wtG^TJcj(cQF!*H`k}4u+f7rt7~s18SVW?77Ve@-F!=O*5h(Y* zfJSVo)@n(LJ=pt<|4x`Qeld1|jioVJrvwp1={yAL1F0ZS%VQl$>;R*fEHgBXX-pXY Y2uD=cJTJa~@&Et;07*qoM6N<$g3J&LqyPW_ literal 927 zcmV;Q17Q4#P)Px#T~JI^MMrQ+S7aQ~Zf|C(|B|NsA)aQ~QZ{+4e0ie>1KY4MY5_I+H?g<;-;UfH9K*U!c2<>2y( zY|!-b`RnKPz_Q}p)$ZXb8@&Jk01b3fPE!Ey(;t+(ZTaC0O+r#LLS7;O00PHJL_t(& z-pyKFcY-hsm5*{LSisE!EwKOpGnZ86WXGXRdo=gSw_KBZ)6(Q{*oUl(T%={vc%Z$Y zOUhK_MJ*3>$SO}8Pq^3{v~8MKG#YiD5aMIdPs9hn{ctpry!K8&QPSeO*ryvfCdi^J zKudYvh3}d`MJ80`T`WM7P5-nt4)cn$5Tj7Ih~O0kBv}B*#Y#@`k_wO8^9n+JQk5SdKQ|*P$S$ zK%a+MJphoo|xgZbTjQc2=I4fx|s-9!dQGbYPS> zjMHTMr$=Q8Ns8J}2fupIAjxDaNkKD%j~BMSKwE6&P|?cJ4~mGv$>HYQl(deZ?L?(8 zSu92Q>&$|Z1SrF($QYp%U0Z}DA)pM`Qe4yEpM(aQl0MHN6u_A`X?RBxe$ues)*Au^ zP=X1gV4NCiVry>D4uMI4G@vP5o0g=;7-Wa5DWFA4Qd`10=(7rj6J$j^BE!Xa6=Y7l zC&Z}3T8R{-K=i{DPGNGMkVH#rt0KT^XUl?gLdB2*iUDj{P}R7^ps-x@DBh;VRgZ#d z2or;Xxmcp48Dfq>VMa@ohvaRZTwR$Qh;2bd0aEBVP+(9926ALzN(QZoL4#&+OffjD z8C+QyT--QZUm0BD8GOnx_@LwPSplzg6DXQ!H|%{sPtt6<1WqKG&Y~tv3VzUmpSCymj_s^P;giz z;jm7_VyP&~YL!0ekkzVK3uYf73uZjl>|VBP_zmF_^=+v`ti1pL002ovPDHLkV1k`_ BsmK5T diff --git a/SodaLive/Sources/Explorer/Profile/GetDonationAllResponse.swift b/SodaLive/Sources/Explorer/Profile/GetDonationAllResponse.swift index 41b929a..5fc0348 100644 --- a/SodaLive/Sources/Explorer/Profile/GetDonationAllResponse.swift +++ b/SodaLive/Sources/Explorer/Profile/GetDonationAllResponse.swift @@ -11,6 +11,7 @@ struct GetDonationAllResponse: Decodable { let accumulatedCansToday: Int let accumulatedCansLastWeek: Int let accumulatedCansThisMonth: Int + let isVisibleDonationRank: Bool let totalCount: Int let userDonationRanking: [UserDonationRankingResponse] } diff --git a/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllView.swift b/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllView.swift index 6183c4c..090535f 100644 --- a/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllView.swift +++ b/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllView.swift @@ -19,6 +19,34 @@ struct UserProfileDonationAllView: View { DetailNavigationBar(title: "후원랭킹 전체보기") if userId == UserDefaults.int(forKey: .userId) { + VStack(spacing: 10.7) { + HStack(spacing: 10) { + Spacer() + + Text("채널에 후원랭킹 활성화") + .font(.custom(Font.bold.rawValue, size: 16)) + .foregroundColor(Color(hex: "eeeeee")) + + Image(viewModel.isVisibleDonationRank ? "btn_toggle_on_big" : "btn_toggle_off_big") + .resizable() + .frame(width: 46.7, height: 27) + .onTapGesture { + viewModel.toggleVisibleDonationRank() + } + } + + HStack(spacing: 0) { + Spacer() + + Text("※ 비활성화하면 채널 내 후원랭킹이 표시되지 않으며,\n라이브 중에도 후원랭킹에 따른 뱃지가 반영되지 않습니다.") + .font(.custom(Font.medium.rawValue, size: 12)) + .foregroundColor(Color(hex: "555555")) + .multilineTextAlignment(.trailing) + } + } + .padding(.top, 13.3) + .padding(.horizontal, 13.3) + VStack(spacing: 13.3) { HStack(spacing: 0) { Text("오늘") @@ -68,8 +96,7 @@ struct UserProfileDonationAllView: View { .foregroundColor(Color(hex: "eeeeee")) } } - .padding(.vertical, 13.3) - .padding(.horizontal, 16.7) + .padding(16.7) .background(Color(hex: "13181b")) .cornerRadius(8) .padding(.top, 13.3) @@ -83,7 +110,7 @@ struct UserProfileDonationAllView: View { Text("\(viewModel.totalCount)") .font(.custom(Font.medium.rawValue, size: 12)) - .foregroundColor(Color(hex: "9970ff")) + .foregroundColor(Color(hex: "80d8ff")) .padding(.leading, 6.7) Text("개") @@ -97,7 +124,7 @@ struct UserProfileDonationAllView: View { Rectangle() .frame(width: screenSize().width - 26.7, height: 1) - .foregroundColor(Color(hex: "909090").opacity(0.5)) + .foregroundColor(Color(hex: "595959")) .padding(.top, 6.7) ScrollView(.vertical, showsIndicators: false) { diff --git a/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllViewModel.swift b/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllViewModel.swift index 5234288..5dee166 100644 --- a/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllViewModel.swift +++ b/SodaLive/Sources/Explorer/Profile/UserProfileDonationAllViewModel.swift @@ -10,6 +10,7 @@ import Combine final class UserProfileDonationAllViewModel: ObservableObject { private var repository = ExplorerRepository() + private var memberRepository = UserRepository() private var subscription = Set() @Published var errorMessage = "" @@ -20,6 +21,7 @@ final class UserProfileDonationAllViewModel: ObservableObject { @Published var accumulatedCansToday = 0 @Published var accumulatedCansLastWeek = 0 @Published var accumulatedCansThisMonth = 0 + @Published var isVisibleDonationRank = false @Published var userDonationRanking: [UserDonationRankingResponse] = [] var userId = 0 @@ -51,6 +53,7 @@ final class UserProfileDonationAllViewModel: ObservableObject { self.accumulatedCansToday = data.accumulatedCansToday self.accumulatedCansLastWeek = data.accumulatedCansLastWeek self.accumulatedCansThisMonth = data.accumulatedCansThisMonth + self.isVisibleDonationRank = data.isVisibleDonationRank if !data.userDonationRanking.isEmpty { page += 1 @@ -76,4 +79,47 @@ final class UserProfileDonationAllViewModel: ObservableObject { .store(in: &subscription) } } + + func toggleVisibleDonationRank() { + isLoading = true + + memberRepository.profileUpdate( + request: ProfileUpdateRequest( + email: UserDefaults.string(forKey: .email), + isVisibleDonationRank: !isVisibleDonationRank + ) + ) + .sink { result in + switch result { + case .finished: + DEBUG_LOG("finish") + case .failure(let error): + ERROR_LOG(error.localizedDescription) + } + } receiveValue: { [unowned self] response in + self.isLoading = false + let responseData = response.data + + do { + let jsonDecoder = JSONDecoder() + let decoded = try jsonDecoder.decode(ApiResponse.self, from: responseData) + + if decoded.success { + isVisibleDonationRank.toggle() + } else { + if let message = decoded.message { + self.errorMessage = message + } else { + self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." + } + + self.isShowPopup = true + } + } catch { + self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." + self.isShowPopup = true + } + } + .store(in: &subscription) + } } diff --git a/SodaLive/Sources/MyPage/Profile/ProfileUpdateRequest.swift b/SodaLive/Sources/MyPage/Profile/ProfileUpdateRequest.swift index d21d2e4..6923595 100644 --- a/SodaLive/Sources/MyPage/Profile/ProfileUpdateRequest.swift +++ b/SodaLive/Sources/MyPage/Profile/ProfileUpdateRequest.swift @@ -18,6 +18,7 @@ struct ProfileUpdateRequest: Encodable { var instagramUrl: String? = nil var websiteUrl: String? = nil var blogUrl: String? = nil + var isVisibleDonationRank: Bool? = nil let container: String = "ios" var insertTags: [String]? = nil var removeTags: [String]? = nil