From 33c68822d096f01e56414e0b0f278521be142f78 Mon Sep 17 00:00:00 2001 From: jjinwoong Date: Wed, 7 Dec 2022 21:10:44 +0900 Subject: [PATCH 1/2] =?UTF-8?q?[chore]=20=EC=9D=B4=EB=AF=B8=EC=A7=80?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NoMoreQuests.imageset/Contents.json | 21 ++++++++++++++++++ .../NoMoreQuests.imageset/NoMoreQuests.png | Bin 0 -> 21990 bytes 2 files changed, 21 insertions(+) create mode 100644 DailyQuest/DailyQuest/Assets.xcassets/NoMoreQuests.imageset/Contents.json create mode 100644 DailyQuest/DailyQuest/Assets.xcassets/NoMoreQuests.imageset/NoMoreQuests.png diff --git a/DailyQuest/DailyQuest/Assets.xcassets/NoMoreQuests.imageset/Contents.json b/DailyQuest/DailyQuest/Assets.xcassets/NoMoreQuests.imageset/Contents.json new file mode 100644 index 0000000..680c2fc --- /dev/null +++ b/DailyQuest/DailyQuest/Assets.xcassets/NoMoreQuests.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "NoMoreQuests.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/DailyQuest/DailyQuest/Assets.xcassets/NoMoreQuests.imageset/NoMoreQuests.png b/DailyQuest/DailyQuest/Assets.xcassets/NoMoreQuests.imageset/NoMoreQuests.png new file mode 100644 index 0000000000000000000000000000000000000000..84bcd2554cf705e9b993a911a8ef9c7e043d0e6c GIT binary patch literal 21990 zcmb4rbzD^6^EVhYq9P%UNT+mzgp_o*NOyNiDoA&C$4WN{NO#9BEZtoTEb%Py`TqWX z?(0R|yXVZEGxI((bLPz1Uve^H=qPw7aBy(w65=8XaBwe(;NakGkq}@{CV0*9VSkWq z#MSNL;7~E|f8gPgQgC4p;q4W~gy71C2)1B1FN{A+e};oA4@bS$dkF`p>@FelS;+-{ zZyxcR=2|o42pqY($4NAc{Oj%cD{{-kwoJiiG3c*MO_BFEXNHK}sttgP$z z=*eT4zh}He`KZ@v=wG2a6G7$9Rin?7HpX>eU-E)LjHn`zttI_jO>BceV(RDN3D59} zHyu2T2e^ojVTyaB!6Q5sRkaaVywC2Rkx0-L&#?>Cps4#TJ~q;dtJLYidx3HPsZWkA zL3b3r)c@U=)AdJAyGi`t1KTNOoW3aup(zrV`yOx~W!(>{Fa-wQRUouIzkfhN-LS*s z!mInH0_7#&{R23OrIM!Qal6wT^+Bu(1U{HJVOOu-*0VR<286zd_jiKrT(rgAy)`m# zDqcO2ITC7P`FhPH-NXIF+rN_$AgQLj*4z6I5pqL_sss$-C%;X7*OAqOh#vX>SK&aH zDSZCniMQV?N>Bs!4J7rDr@?a43I!!zEK!k~zu~_d!m3V+V;M}#My|4|Go#D&%Zy)(cg8D}KKvV~A><;hbeKc2G>aV{%XL_WVF`BGZp>=p zRxn^PH{D(%IJPJQDmK{7W9Zd2c?O8Y(#Cl0JDb|qF8lc0nmnL!eH@lKC0P>|%bJg> z4I{{(%NE>}AOFIy^HY*)b2Ha?YI~`1Ve(2@`pT%M_{h(s0eVf|$7hye7fuK!6v}z) z_9%tr;Zb;@39q|KL$^IJK7Ye)o?+r*8_(jN?~lCw+`Tjm=?kXMFVoNZ8>hw9>pOJy ze&9XI`$8kzmcoVVU6$Q6vFV%_FGW55Z5H#&%&&^8#HK8%uzh=>xwralfnj3p z&BWaCmP!?9T6hoI@%g-+CRsUJ-&3+ril%Y7DP%bhDypWfO`K*r{k z@l&UfZpxnawufPe-7BhiXQh@aY2Ia@Cx~9C&vMOGg+ktDo#*x&ZN{8H_8_>JQYM+0 zN|oPNSRKuPhO))kPR(ya9})Ljz_p%qyo4|pZEAAO#9c~`aF5invtDgw_5@?B=`N)# z1=NB_HIaC@1p9x#U#*^vxM5+YNJP@Y``(Db398sm-MSDvUZj009sG?-oK)+$wWo@A zwh5j#+sSicV{_<>Um2wgBg!34VUuv*7Z5rctE<-bZn)xVKADT-52t2fJf1Eg2vxG+ zHFTx9oXuYY<}3XYd=fSOhF||ik3L@x+K!(01~LE0cnF765QZn$ow@r~O#Kn9<>=g4 zt~XzmknHtI$Nm*Y_5968=M!Wy*jzY2Re*U_A9f~@P|4(*L5x+hK?v6>%7%<5-n|HhTl(Ov(1QeYPr_;@oxeCXs>V+i=B6*<3a?E?&1^)BUIBKD zw9hkyQVjiKVXl}m*qtL~B)PoAqZFaLT{y_k&O7$`1u?`o}9M_yk$ zC~I<7&-^6NiCofDv}NdW?DLh%*(eRZ_MiTi40R$KUpFn%YEu(lQn6BRSE(98=(Z0CO-b62*I6LDRak4 zK-pNwWsyPAxQl=|J*a$*K#ev;X)H4)dj}CAbeizjt^s^%?Io0vlTG?aH3#msLM~cKL=Q%Mn()`0 zX_1nO=w~{E4Tm4ra76k01>C}qo-cI6r&B4~N*p8N)UoJ#T)L-ENNnt8U;Bm=gG-@@ z8JJ_%sSGc(eiP5_-wMjO@6M|tJ$kYuef6XCF;a;ptZtLv-r@WZ4okv1tMyE=IPyl2T23?lk;UCkEGtyj@Hs4T;>Y#zqD!SS z_&Z*ySl17%oW#ljt%y*zjBp^JD{fH2?*AH$+kXy|I_%{|^ z@w2L!N1l*4vu;>!BcNUaJ$ajdZfbO{EdM~gBt89x&9Uli{(^z-e5-MqAgk$m!uyb-rXqXn$IHA{3mHv+G{28$jO3wnDZ_iN@dCf*Fo~PggGH*^UUX2J?GftVN zd+SmUCg-!pByWs1)ap#JZFp;TtE7JDUm5L}N*i;3KH+$HNvD00>d9)R)uIp!Tv;-Y zCoXK&g8H(TScbWLt-BQ#mrXkJTpRU@6I(IpjW;gL8NpEmynMuxI3kg8y`3jVLba=; zA%E%bYKp%$J+z10BV;tEn_yM*CBUt-TgNb7D`kDU;j=J_zG4z1fN z_7c~{)yv|_t!m0!g3@R_w0*zs@KDm4n6sOu~rl^)T80vnuVSi zgj(M!hCi1h(w28(-!tU1s;;HT(5*w=Z}usFlW|O9gD>md3g=|K#(NDz6-D#lASw&B z@gk_TcCKpNWG^z;@dX`L=;793qCV@%s%;W08@(~wyy(i5lQz_ka?sv#`vmun->_j< zwL57et@wXHQLi|ZwR0#p9kh(%H8wwY?T-=qdbr5a*72dz&6inFHK??Vq0xOk_^ZQ) zG+^rpDiC3Lz@3`MbGqt2Juu-F)U~kkBlCgd2pJ1wTS#tp`MSgPo`&79mn8kZ$8YJr z*Ice?ztIV`PHs=+Jhv*|Cp9@2+MP7b1HXjRZZBYmkF<$~KZK^@l>0WQT-MtwnP@xG z!go^KuKRCukv9Bjy}rrV>yqWfVt^NlzQvaoLgT#O3H^KiXu3#J2MUWgq@l&`7Kz_v zsKHsC&IAQYOXUmLV?$|BRTHrAmu@x(o5!$FaPA0XK8aR}_Z`1v^F$D%nLvM=kKr&ZD|pl0+M7cp^D zXkdppLNg8lFb>HRR%Iy%JiA%9%7XuNQ%ZFg%wGl(6(*MHeIrzwr}jns-^+R`2pnG= z#OSk$Eda<2fWu}IgAg_Xx(yll$Ee!p)Um7S?3lCm%+n{9vAh0@)P93DWO_H(;8@Lk zU^pV;?9ncgl&)#hi=p2TeCsXe&-d7PPv5Y^ODZS^N zo=X>lmr3&1YPk+(1<_-ynA50^Q=JUAjOfR|P)^Zv49ZHG64mhN{vjD7v!Qb`j$MKG z*wDb2x1Vt8P*AD1yySfpgo|FMPA=qt5a0p?LVYhU^CBh-j_%onOI&ViJdc-UbRIT( z)9k~=c7wmB$(E#EEo!@5(q#98U_*%1e01euJ;mH^%qCehs%&cF zCf`vJS!}qH7XR0*SD0;ObzDFi?vrr&pOjjx?iwyzDa1`KfHJF`kByB!*2yuUTz0m_JjMWVB*V!C$9fzs{dW zYNKzs_UoIjQ?Hz^ z9USDlkUcEAe7>Icq+-51z8-2}dR_Yud7r23q?s|5}c^mwd!8nWS2s3Pu+5&z-Vi1W
1FW?z|77f7<%aUW=b(_0JI17$>aI%;dF7oLzD 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 Y_P-K*lY@Jk6}LVc8<=0i>EDa}KU$)7%>V!Z literal 0 HcmV?d00001 From 23a83eee594f4de259bbe7d9553682f30ba0c9de Mon Sep 17 00:00:00 2001 From: jjinwoong Date: Wed, 7 Dec 2022 21:11:06 +0900 Subject: [PATCH 2/2] =?UTF-8?q?[feat]=20=ED=80=98=EC=8A=A4=ED=8A=B8?= =?UTF-8?q?=EA=B0=80=20=EC=97=86=EC=9C=BC=EB=A9=B4=20=EC=9D=B4=EB=AF=B8?= =?UTF-8?q?=EC=A7=80=20=EC=B6=9C=EB=A0=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewController/HomeViewController.swift | 94 +++++++++++-------- 1 file changed, 57 insertions(+), 37 deletions(-) diff --git a/DailyQuest/DailyQuest/Presentation/Home/ViewController/HomeViewController.swift b/DailyQuest/DailyQuest/Presentation/Home/ViewController/HomeViewController.swift index 4211997..4b81adb 100644 --- a/DailyQuest/DailyQuest/Presentation/Home/ViewController/HomeViewController.swift +++ b/DailyQuest/DailyQuest/Presentation/Home/ViewController/HomeViewController.swift @@ -16,92 +16,106 @@ final class HomeViewController: UIViewController { case showAddQuestsFlow case showProfileFlow } - + var coordinatorPublisher = PublishSubject() - + private var viewModel: HomeViewModel! private var disposableBag = DisposeBag() private var questViewDelegate: QuestViewDelegate? - + // MARK: - Components private lazy var scrollView: UIScrollView = { return UIScrollView() }() - + private lazy var stackView: UIStackView = { let stackView = UIStackView() stackView.axis = .vertical - + return stackView }() - + private lazy var statusView: StatusView = { return StatusView() }() - + private lazy var calendarView: CalendarView = { return CalendarView() }() - + private lazy var questView: QuestView = { let questView = QuestView() - + return questView }() - + private lazy var questViewHeader: QuestViewHeader = { return QuestViewHeader() }() - + + private lazy var emptySpace: UIImageView = { + let emptySpace = UIImageView() + emptySpace.image = UIImage(named: "NoMoreQuests") + emptySpace.isHidden = true + + return emptySpace + }() + // MARK: - Life Cycle static func create(with viewModel: HomeViewModel) -> HomeViewController { let vc = HomeViewController() vc.viewModel = viewModel - + return vc } - + override func viewDidLoad() { super.viewDidLoad() - + questViewDelegate = QuestViewDelegate(header: questViewHeader) - + questView.delegate = questViewDelegate - + view.backgroundColor = .white - + configureUI() - + bind() } - + private func configureUI() { stackView.addArrangedSubview(statusView) stackView.addArrangedSubview(calendarView) stackView.addArrangedSubview(questView) - + stackView.addArrangedSubview(emptySpace) + scrollView.addSubview(stackView) - + view.addSubview(scrollView) - + scrollView.snp.makeConstraints { make in make.edges.equalTo(view.safeAreaLayoutGuide) } - + stackView.snp.makeConstraints { make in make.edges.equalToSuperview() make.width.equalToSuperview() } - + statusView.snp.makeConstraints { make in make.height.equalTo(100) } - + calendarView.snp.makeConstraints { make in make.height.equalTo(calendarView.snp.width).multipliedBy(1.4) } + + emptySpace.snp.makeConstraints { make in + make.width.equalToSuperview() + make.height.equalTo(150) + } } - + private func bind() { let viewDidLoad = Observable.just(Date()).asObservable() let itemDidClick = questView.rx.modelSelected(Quest.self).asObservable() @@ -136,7 +150,7 @@ final class HomeViewController: UIViewController { dailyQuestCompletion.day } .asObservable() - + let output = viewModel.transform( input: HomeViewModel.Input( viewDidLoad: viewDidLoad, @@ -168,8 +182,8 @@ final class HomeViewController: UIViewController { self?.calendarView.dataSource.apply(snapshot, animatingDifferences: false) self?.calendarView.monthCollectionView.layoutIfNeeded() self?.calendarView.monthCollectionView.scrollToItem(at: IndexPath(item: 0, section: 1), - at: .centeredHorizontally, - animated: false) + at: .centeredHorizontally, + animated: false) }) .disposed(by: disposableBag) @@ -184,26 +198,32 @@ final class HomeViewController: UIViewController { questViewHeader .buttonDidClick .bind(onNext: { [weak self] _ in - self?.coordinatorPublisher.onNext(.showAddQuestsFlow) - }) + self?.coordinatorPublisher.onNext(.showAddQuestsFlow) + }) .disposed(by: disposableBag) } - + private func bindToQuestView(with output: HomeViewModel.Output) { output .data .drive(questView.rx.items(cellIdentifier: QuestCell.reuseIdentifier, cellType: QuestCell.self)) { row, item, cell in - cell.setup(with: item) - } + cell.setup(with: item) + } + .disposed(by: disposableBag) + + output + .data + .map({ !$0.isEmpty }) + .drive(emptySpace.rx.isHidden) .disposed(by: disposableBag) } - + private func bindToStatusBarProfileButton() { statusView .profileButtonDidClick .bind(onNext: { [weak self] _ in - self?.coordinatorPublisher.onNext(.showProfileFlow) - }) + self?.coordinatorPublisher.onNext(.showProfileFlow) + }) .disposed(by: disposableBag) } }