From bc2ac0e74cad0fe56ab7779ed674b7de203fb579 Mon Sep 17 00:00:00 2001 From: insung0927 <78968690+Fiddich-Dev@users.noreply.github.com> Date: Tue, 30 Jan 2024 14:36:36 +0900 Subject: [PATCH] =?UTF-8?q?[#55]=20=EA=B2=B0=EC=A0=9C=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?UI=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ic_check1.imageset/Contents.json | 23 ++ .../ic_check1.imageset/ic_check.png | Bin 0 -> 744 bytes .../ic_check1.imageset/ic_check@2x.png | Bin 0 -> 1464 bytes .../ic_check1.imageset/ic_check@3x.png | Bin 0 -> 2099 bytes .../ic_check1_filled.imageset/Contents.json | 23 ++ .../ic_check_filled.png | Bin 0 -> 560 bytes .../ic_check_filled@2x.png | Bin 0 -> 977 bytes .../ic_check_filled@3x.png | Bin 0 -> 1391 bytes Spon-us/MyNoticeListView.swift | 6 +- Spon-us/PaymentView.swift | 214 ++++++++++++++++-- 10 files changed, 240 insertions(+), 26 deletions(-) create mode 100644 Spon-us/Assets.xcassets/ic_check1.imageset/Contents.json create mode 100644 Spon-us/Assets.xcassets/ic_check1.imageset/ic_check.png create mode 100644 Spon-us/Assets.xcassets/ic_check1.imageset/ic_check@2x.png create mode 100644 Spon-us/Assets.xcassets/ic_check1.imageset/ic_check@3x.png create mode 100644 Spon-us/Assets.xcassets/ic_check1_filled.imageset/Contents.json create mode 100644 Spon-us/Assets.xcassets/ic_check1_filled.imageset/ic_check_filled.png create mode 100644 Spon-us/Assets.xcassets/ic_check1_filled.imageset/ic_check_filled@2x.png create mode 100644 Spon-us/Assets.xcassets/ic_check1_filled.imageset/ic_check_filled@3x.png diff --git a/Spon-us/Assets.xcassets/ic_check1.imageset/Contents.json b/Spon-us/Assets.xcassets/ic_check1.imageset/Contents.json new file mode 100644 index 0000000..4074b34 --- /dev/null +++ b/Spon-us/Assets.xcassets/ic_check1.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "ic_check.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "ic_check@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "ic_check@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Spon-us/Assets.xcassets/ic_check1.imageset/ic_check.png b/Spon-us/Assets.xcassets/ic_check1.imageset/ic_check.png new file mode 100644 index 0000000000000000000000000000000000000000..77313d25949277a5865c72820ad1bfa9e67f1eba GIT binary patch literal 744 zcmVP)&bRfFA&uEF_wo??fXNjQM@7L!Sc*ey|2fMCBxN#ko1H%xIH_RrJ_d8xT0`#A z^IT@8rcl=Fd_b->qUbik;AeQ}cl+&x`u#%6rn&+P9yg*NY^z!TFhdlL`CiZc?w7%X zBgO%$^UvD^6Ti78Q??q2*-Bb%x~VC_cZ}1QKCeN5+zFfv_L2b&gJJi5H$eJE%v_- zK((o%JwWyc;a4!K1N*4yK>=7RLC1A#@UQ=o5!z=TEyx5M0#a|?WYMNmxW+5f`G zHKf~XS#jo^_GgG1*tL%j?9_YL*A@g7mpQ2i`{b~@NM1gIpKkgoazuZ^=0;mrV@mn) zHIYZOhtIuz;pHB*q z5F*tJp}!z;Sn610=xK1Qy$K$QCinZ*?OuwUFiB`KeGH;kYEXG;>&Vh0NG#KcuTjf1 z@`97YFuapA=doG7vp=-%c+87mMEp%ho|2$*ank^4@2wihmmwyXzyq_&$qmJ)(FT7u zG0VDh?OH0C8X6RFM*z_nKtWhYPO2=#ouvgyx|i$U}?nVPu;3g~FiN-lYUsz6}&AsF>VQlJ6hp$WdE_S_ih4o<+e)=HC*Jb25DkFIg%Gy&u(CZ+?N8pp3 zfWm#Kj=n84+0bNpZA6ZT0u?!q?{DPT_qqgme6&wmZ+RLg-L{0uPLUMaCPvo|GD47KCMexXObl5qmv!GsahXkSpn6?LgZI*ewjl?&2@-E>$WlcM zg6EeRA?L*yC*KR9Cg@jq+)47kac-I!=x^}s--|waWSE&dWl{2AO=PIzGKZ3&$o~kE z)i-btav;hhcZInchMg-UkTf=dGHvA0D|orqkowXI#yEkO`mh;8OPvp&@k0tU|Ii=&R%9d6yW`gVlc|KVk$=S%t2P89N zjL$yKrVe(7ERp{eG9usE#B3eM;c1mSD%oR??M}%a!Y@pAj z9owKiogkc&Cx~%RnL4o&2Rkei+J~H2{Qz|4fFu?@WG-yL+Wimn&I(0k;sFj=F+#4Y!#6onbZF*lEMJQS>>0ABBp5Oj&o11E2=l+dVlf4CnZ zOhb6Ve}V=WVFL-bi2saaN^2+*Z}bRRITo^tCBu>T4+~CQkS|f9M2Qmr6Z{7kMs10a S68<>=0000mX=i^XEGSS%Kc#bU8oeqtE3kYF(A z!Pl_|vEu>8z0^*|LU3>dx4WUgw>N^8(F#F>7jHL!#p@*21BiiML$BN?*$prZ>BR?d zx$Lp1U_A*xQz>%j7B&DzzwJq=3Ic|9ycv)V}b^+ zUwbg=3~CoLOT)r8B4}{-_6QLBOAkaCF$ac-_z7Y*0vB$`eA9s^iaa`PauJht#+(Oq z?0N~85z;Zo{$GzTpk`_nG#QodCB0lPJcvZ3Kc@iB&_8%I1fAbWg4!-!&I5Yu6&~2Y zXsu09agl(RMWcrSqmf9XMpMMX-#t6urGFCn=t5ybaJ!pziCT-G&(F@EF@%$X-60^` zGc9D6CBlyA$~Vac+!TI(=JPTBg5yk1#Wj>VbmWrB8 zDxzm|*Fe6!d%x_6HY#Z0$P|8(?bJOgiwIu4>C>d)NU|#>YT}ELGLg)vW^hHv>_7>O z2`UnGgloyJT76borswyOUS@qd&j5DF4bdp3Nk$P2?k{o?KMpg%G@A31^)kC!A?Az) zqAr4J2afOm`Nvh6gB>t|NZ8vgCP$1gGI8LhUIxTtxI_N4q?nw_BXk-~2k8@`6Yi9E z;fBG~eGasgR<3>{4QAan*Z{@#f?E+eYn2&!M^Wc*! z8;X?ZPG=`oPoSz7?bt{k8T0o;P(;t}uvQ@tG>zI$sd<~YY=y3nhX0|vptudsN zeJWmq2Fij?O(7L2k+sL%g_$F4=XUUbdGKVn@Pi1MYap`^2FlGt^%2V3y?K@v4Vpki zbD7ViDda*i1DIRmP((vemNkV@nJP>cp2zZX9~eT^VP(-g5wpMa3nF)z+ZL-& z0MrFV=FPulycezm<*~eWN+$Y`ZbY3?Skz9;ykF)!d|&w0lpkfx{T&q12ukQd`d33x zL)`dkgOVi0nRp=Cb%VFNd!S7G_xwAAngx|cJyx=|IR71mlK|?mPsSh1h$?bTUesoi z3cTChS=B-^wGsNue-c5N(us3lCH$H@xd;5>^LRp3vG!>JU&jHou&8aOVy^+8^7;FZ z?}@5-9$v{R6g3G#lJtnTDpowfP!cqm_hyLI{Y>gRMHFVfWLHm!nlb;RY$%QB$11G~ zDUAIF710@?853v9vxzMJ{-YC0$7H>p-n>u!?l&`tqPB@j7pAX;fqDj0T~KDG`Yqozbr>Xi`K-w+s;DZIfm{gGFoHXNI{Q zXtwX4kG2}Gt^yrslB!-c=_fcw~&=CyonnFOd_qNR=AD|eR&!! zxovP%hcB&*f@y5XZyWyi)Uf)cTD8fI@(Fm1hgDk|O(6PN zlC@b?*B4Y0R8*g22{={cRVwdI!%dyV(9iAQH-}YB$Ew#uqqP&r=ZaL&h%VdcProl; z&s6$F#mYcHtt{wVu9!)qC{gZ4m(U^>-3wrWR-?2;<*z#(ZvjvNv7!mS}#H7#6QmdexC3gh>fR7x;7oJgR5S<(7bP5Z+ zBEUtHb#ReCMQ0t#Ja(g@JE3bAbVi8>1IQ6VPjg(PWL)tHI(0qhp!oM1Mq5}#_%cgm zc-nM1v2j6XaA6s;hiLLCIs73oFo&K!^=ebf7U-X_M~tfafNHL7$!@dJ768tmykS!RG|m zRYR2n6BFPaPc&eJYH4~#xKmTK0-n;=d6?0^5Y03s=m?E~ys|ZxEnqA@(;h)rQl%$$ zS>viDOn<|8(t_+2=3DuKrefpS$1!+?YfR|(mB2}{nY}^}3EIJWcmuXa!PeZDR_O_y z4;{n0{7r9RLBYrZ^4D%P&fHY4&c%r zR@Fd*1(jX6WH2V{TVxi=QKd}24V2vC8Rg4=ep7CPQ$_YcYO4-JB`Lpf2l8vQi&>hZ}mR_0000_^NJEGvNjH zbV{PybmjNZ^r{}g4T=4ZU5qhMIRX<-;E85IXChILk7k5zWFdw63p}P7+rp)nuvG#I z^%Hoa4`_K^(z_PIlha;3!nwME2MJv1>N65|je5i}DP4b3+{XjA88kQTqdEE%aWgnz zFR*!W289m3s4G}vw?w;|^I0Fwlas(7aNrf}xJJ`(p4`SEMbs%Akk6o5nkkwkqh+~Y z636-00@)tqT$kVuO``D$7iv%%gUPph*ufj=jLK$k3kPV9DUIr|B#!rfLMg+T3HG-= z>BVGwP~#NMz_YSX$$eqMKk7E!e^fe3;T?oj&!AcJDeA|FTdpv8->-^ecqZA@3#b-& zAJAhy&APa!QqnKkwvp_?x3Gc3x;;l$;+RA>u4;kGVtH~Ez+s((1Se-18HpP`e3CjP zy;4L!LbX8Qg}{Qi#9_|Wn3ncFy&G4YGbC~Shfj7kP-ODmtBFlFcxczXWzeF(yyV;PL)@E@6};vd!%sXHOu?H=4wdCW z6C8$k9$0m}<%xc$h<91TG!d1R5+884QBK(gKxR3gm9(9@KY$`Z|!~Rua>OG(4Zld0wk(ib{ zw@6R*6_=UNF)-8M1=eUuIdUkLb1y7O@!<`UL0n+7qnf174aEEz^#m z&+Imd@Gsql^xp=gFeECAduWc)5@`kXLO#E=Momh(?YALp8bP1fg8beK`s*RmQX;Xi z`ht$^|MYVV$)Vj8gJaw!VH5aRJwbWGxo}oFL^mjD;(DMhs*a#M#0NMfU%82{Vdx7! zFegxA4bpgj`M#54GM0w_$UcV>vKCs2**u(0+;OQ5gPmLwtwRlbxPVuprb*m(HSr_<3e;v8xO(fxh_Qg6mop)eZ%*n!I zPwgX8fW<5>pBrr;F&5ef>wJYbW?1`(k4%nnHEF|n1xQ=LAy-7nCvfqxTs{f^p%!!wk&!ep+kNf-DSC$t0irGohy*$f{rX7tUx!p zSdm3I@2=Sp^P0O9o1TWp_u`={k?1z5EHsuiav8g1LG!#NVR(tSstd5# ztL<&N5K460z6i?gHy30<%d$J{0)X3UJ-noRxp1#9zR5IG^u|Ix1vtC&)E?E&raqQj zCTe*p`gLXv6|K^ipdN3npK4t|y{MDgvV~u4ELv8a^%mlQjzxXI6>J;*T{+Y9iG{RHiyNh?_Qg;xr|WX zm{6WT%qV2?q4!)UQ=*^jNp1#{5tN7i)FpoV=1;};Ic`9^z6G8UEQVy1=0vw;k!k2v+Xm^NJ!Bba~0AGTA?Q_Tj9y2 zMV4rRb_A{PA=Z%2;(o*h3;5biXRZ#kPQMck?Patp=vAtVVoj;e?yo3Txcjg6qZ&84 xllzGMP*!lgVTf@*4(2n8={T0?PmZ002ovPDHLkV1iFFi01$R literal 0 HcmV?d00001 diff --git a/Spon-us/MyNoticeListView.swift b/Spon-us/MyNoticeListView.swift index 32d1947..698e743 100644 --- a/Spon-us/MyNoticeListView.swift +++ b/Spon-us/MyNoticeListView.swift @@ -29,9 +29,9 @@ struct MyNoticeListView: View { ) .font(.Body06) -// NavigationLink(destination: StoreKitTestView(), label: { -// Text("결제페이지 테스트") -// }) + NavigationLink(destination: PaymentView(), label: { + Text("결제페이지 테스트") + }) Text("12.24 SUN") .font(.English01) diff --git a/Spon-us/PaymentView.swift b/Spon-us/PaymentView.swift index cd8a0fd..5f741fb 100644 --- a/Spon-us/PaymentView.swift +++ b/Spon-us/PaymentView.swift @@ -8,37 +8,205 @@ import SwiftUI struct PaymentView: View { + + var paymentBtnInActive = true + var body: some View { - ScrollView{ - LazyVStack(alignment: .leading, spacing: 0){ - HStack(spacing: 0){ + VStack { + ScrollView{ + LazyVStack(alignment: .leading, spacing: 0){ + HStack(spacing: 0){ + Rectangle() + .frame(width: 79, height: 79) + .padding(.trailing, 28) + + // Korean/Body/Body07 + Text("무신사 담당자 정보") + .font(.Body07) + .foregroundColor(Color.sponusBlack) + + + } + .padding(.bottom, 37) + + // Korean/Heading/Heading09 + Text("결제 항목") + .font(.Heading09) + .foregroundColor(.black) + .padding(.bottom, 16) + + SponUsDivider() + .padding(.bottom, 16) + + VStack(alignment: .leading, spacing: 0) { + HStack { + Rectangle() + .fill(Color.sponusGrey50) + .stroke(Color.sponusGrey100, lineWidth: 1) + .frame(width: 158, height: 56) + .overlay( + Text("담당자 정보") + .font(.Body10) + .foregroundColor(Color.sponusBlack) + ) + + Spacer() + + Rectangle() + .fill(Color.sponusGrey50) + .stroke(Color.sponusGrey100, lineWidth: 1) + .frame(width: 158, height: 56) + .overlay( + Text("연락 가능 시간") + .font(.Body10) + .foregroundColor(Color.sponusBlack) + ) + } + .padding(.bottom, 16) + + Rectangle() + .fill(Color.sponusGrey50) + .stroke(Color.sponusGrey100, lineWidth: 1) + .frame(width: 158, height: 56) + .overlay( + Text("선호 연락 방법") + .font(.Body10) + .foregroundColor(Color.sponusBlack) + ) + } + .padding(.bottom, 32) + + Text("쿠폰 사용하기") + .font(.Heading09) + .foregroundColor(Color.sponusBlack) + .padding(.bottom, 16) + + SponUsDivider() + .padding(.bottom, 24) + + + Rectangle() + .fill(Color.sponusGrey50) + .stroke(Color.sponusGrey100, lineWidth: 1) + .frame(maxWidth: .infinity, minHeight: 56) + .overlay( + Text("사용 가능한 쿠폰이 없습니다") + .font(.Body10) + .foregroundColor(Color.sponusBlack) + ) + .padding(.bottom, 32) + + Text("결제하기") + .font(.Heading09) + .foregroundColor(Color.sponusBlack) + .padding(.bottom, 16) + + SponUsDivider() + .padding(.bottom, 24) + Rectangle() - .frame(width: 79, height: 79) - .padding(.trailing, 28) + .fill(Color.yellow) + .frame(maxWidth: .infinity, minHeight: 56) + .overlay( + Text("카카오페이") + .font(.Body06) + .foregroundColor(Color.sponusBlack) + ) + .padding(.bottom, 64) + + SponUsDivider() + .padding(.bottom, 16) - // Korean/Body/Body07 - Text("무신사 담당자 정보") - .font(.Body07) - .foregroundColor(Color.sponusBlack) + HStack{ + + Text("결제금액") + .font(.Heading09) + .foregroundColor(Color.sponusBlack) + + Spacer() + + Text("1,400 원") + .font( + Font.custom("SUIT", size: 26) + .weight(.bold) + ) + .foregroundColor(Color.sponusBlack) + } + .padding(.bottom, 12) + SponUsDivider() + .padding(.bottom, 24) + HStack { + Text("서비스 이용료") + .font(.Body10) + .foregroundColor(Color.sponusGrey700) + + Spacer() + + Text("1400원") + .font(.Body10) + .foregroundColor(Color.sponusGrey700) + } + .padding(.bottom, 8) + + HStack { + Text("할인 금액") + .font(.Body10) + .foregroundColor(Color.sponusGrey700) + + Spacer() + + Text("0원") + .font(.Body10) + .foregroundColor(Color.sponusGrey700) + } + .padding(.bottom, 24) + + + Rectangle() + .fill(.clear) + .stroke(Color.sponusGrey100, lineWidth: 1) + .frame(maxWidth: .infinity, minHeight: 56) + .overlay( + + HStack(spacing: 0){ + + Button(action: { + + }, label: { + Image("ic_check1") + }) + .padding(.trailing, 12) + + + Text("결제 내용을 확인했으며 서비스 처리 방침에 동의합니다.") + .font(.Caption04) + .foregroundColor(Color.sponusBlack) + } + ) + .padding(.bottom, 60) } - .padding(.bottom, 37) - - // Korean/Heading/Heading09 - Text("결제 항목") - .font(.Heading09) - .foregroundColor(.black) - .padding(.bottom, 16) - - SponUsDivider() - .padding(.bottom, 16) - - Rectangle() - .frame(width: 158, height: 56) + .padding(.horizontal, 20) } - .padding(.horizontal, 20) + + Button(action: { +// self.presentationMode.wrappedValue.dismiss() +// popup = true + }, label: { + Text("수정완료") + .font(.Body01) + .foregroundColor(paymentBtnInActive ? Color.sponusGrey200 : Color.sponusPrimaryDarkmode) + .frame(maxWidth: .infinity) + .padding(.top, 20) + .background(paymentBtnInActive ? Color.sponusGrey600 : Color.sponusBlack) + }) + .disabled(paymentBtnInActive) } + .navigationBarItems(leading: CustomBackButton()) + .navigationTitle("결제하기").font(.Body01) + .navigationBarTitleDisplayMode(.inline) + .navigationBarBackButtonHidden(true) } }