diff --git a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/ConfirmedCVC.swift b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/ConfirmedCVC.swift index 06d9933..b4166b4 100644 --- a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/ConfirmedCVC.swift +++ b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/ConfirmedCVC.swift @@ -48,13 +48,13 @@ final class ConfirmedCVC: UICollectionViewCell, View { } scheduleTitleLabel.do { - $0.font = .PretendardStyle.b4_sb.font + $0.font = .PretendardStyle.b1_sb.font $0.textColor = .appGray900 } timeLabel.do { - $0.font = .PretendardStyle.b5_r.font - $0.textColor = .appGray800 + $0.font = .PretendardStyle.c3_r.font + $0.textColor = .appGray700 } divider.do { @@ -65,23 +65,23 @@ final class ConfirmedCVC: UICollectionViewCell, View { // MARK: setUpLayout private func setUpLayout() { chip.snp.makeConstraints { - $0.top.equalToSuperview().offset(20) + $0.top.equalToSuperview().offset(15) $0.leading.equalToSuperview().offset(6) $0.size.equalTo(13) } scheduleTitleLabel.snp.makeConstraints { - $0.top.equalToSuperview().offset(15) + $0.top.equalToSuperview().offset(10) $0.leading.equalTo(chip.snp.trailing).offset(9) } timeLabel.snp.makeConstraints { - $0.top.equalTo(scheduleTitleLabel.snp.bottom).offset(1) + $0.top.equalTo(scheduleTitleLabel.snp.bottom).offset(4) $0.leading.equalTo(scheduleTitleLabel) } divider.snp.makeConstraints { - $0.top.equalTo(timeLabel.snp.bottom).offset(15) + $0.bottom.equalToSuperview() $0.horizontalEdges.equalToSuperview() $0.height.equalTo(1) } diff --git a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/InProgressCVC.swift b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/InProgressCVC.swift index 11c5972..f6d11cf 100644 --- a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/InProgressCVC.swift +++ b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/InProgressCVC.swift @@ -96,12 +96,13 @@ final class InProgressCVC: UICollectionViewCell, View { } moveButton.snp.makeConstraints { - $0.top.trailing.equalToSuperview().inset(22) + $0.centerY.equalTo(scheduleTitleLabel) + $0.trailing.equalToSuperview().inset(22) $0.size.equalTo(18) } timeLabel.snp.makeConstraints { - $0.top.equalTo(scheduleTitleLabel.snp.bottom).offset(10) + $0.top.equalTo(scheduleTitleLabel.snp.bottom).offset(13) $0.leading.equalTo(scheduleTitleLabel) } @@ -129,7 +130,7 @@ extension InProgressCVC { let schedule = reactor.currentState.schedule scheduleTitleLabel.text = schedule.schedule.name timeLabel.text = NSTDateUtility.durationList(schedule.startTime, schedule.endTime) - availabilityLabel.text = "\(schedule.availableMemberCount) / \(schedule.groupMemberCount)" + availabilityLabel.text = "\(schedule.availableMemberCount)명/ \(schedule.groupMemberCount)명" progressBar.snp.makeConstraints { $0.top.equalTo(timeLabel.snp.bottom).offset(10) $0.leading.equalTo(backgroundProgressBar) diff --git a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/ScheduleCellReactor.swift b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/ScheduleCellReactor.swift deleted file mode 100644 index 7bc3cb9..0000000 --- a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/Cell/ScheduleCellReactor.swift +++ /dev/null @@ -1,22 +0,0 @@ -// -// ScheduleCellReactor.swift -// Noostak_iOS -// -// Created by 오연서 on 2/3/25. -// - -import ReactorKit -import RxSwift - -final class ScheduleCellReactor: Reactor { - typealias Action = NoAction - struct State { - let schedule: ExtendedSchedule - } - - let initialState: State - - init(schedule: ExtendedSchedule) { - self.initialState = State(schedule: schedule) - } -} diff --git a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/GroupDetailView.swift b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/GroupDetailView.swift index 35a5170..7fd2b5a 100644 --- a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/GroupDetailView.swift +++ b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/View/GroupDetailView.swift @@ -31,9 +31,10 @@ final class GroupDetailView: UIView { // MARK: Init override init(frame: CGRect) { - let layout = UICollectionViewFlowLayout() - self.inProgressCollectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) - self.confirmedCollectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) + let inProgressLayout = UICollectionViewFlowLayout() + let confirmedLayout = UICollectionViewFlowLayout() + self.inProgressCollectionView = UICollectionView(frame: .zero, collectionViewLayout: inProgressLayout) + self.confirmedCollectionView = UICollectionView(frame: .zero, collectionViewLayout: confirmedLayout) super.init(frame: frame) setUpFoundation() setUpHierarchy() @@ -50,7 +51,7 @@ final class GroupDetailView: UIView { private func setUpHierarchy() { [profileImageView, groupNameLabel, shareButton, groupMemberButton, scheduleListLabel, segmentedControl, underlineView, selectedUnderlineView, - defaultLabel, inProgressCollectionView, confirmedCollectionView].forEach { + inProgressCollectionView, confirmedCollectionView, defaultLabel].forEach { self.addSubview($0) } } diff --git a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailReactor.swift b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailReactor.swift index f2b5d79..f8d2093 100644 --- a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailReactor.swift +++ b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailReactor.swift @@ -46,21 +46,6 @@ final class GroupDetailReactor: Reactor { return Observable.just(.setConfirmedData(reactors)) } } - -// func mutate(action: Action) -> Observable { -// switch action { -// case .selectSegment(let index): -// return Observable.just(.setSelectedSegment(index)) -// -// case .loadInProgressData: -// return Observable.just(.setInProgressData(mockInProgressData.map { InProgressCellReactor(schedule: $0) })) -// .observe(on: MainScheduler.instance) -// -// case .loadConfirmedData: -// return Observable.just(.setConfirmedData(mockConfirmedData.map { ConfirmedCellReactor(schedule: $0) })) -// .observe(on: MainScheduler.instance) -// } -// } func reduce(state: State, mutation: Mutation) -> State { var newState = state diff --git a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailViewController.swift b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailViewController.swift index 9b51460..1732304 100644 --- a/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailViewController.swift +++ b/Noostak_iOS/Noostak_iOS/Presentation/GroupDetail/ViewController/GroupDetailViewController.swift @@ -78,12 +78,9 @@ final class GroupDetailViewController: UIViewController, View { self.rootView.inProgressCollectionView.isHidden = !isProgress self.rootView.confirmedCollectionView.isHidden = isProgress - let inProgressEmpty = state.inProgressCellReactors.isEmpty - let confirmedEmpty = state.confirmedCellReactors.isEmpty - - self.rootView.defaultLabel.isHidden = !(isProgress ? inProgressEmpty : confirmedEmpty) + let noData = isProgress ? state.inProgressCellReactors.isEmpty : state.confirmedCellReactors.isEmpty self.rootView.defaultLabel.text = isProgress ? "현재 진행중인 약속이 없어요" : "아직 확정된 약속이 없어요" - self.rootView.layoutIfNeeded() + self.rootView.defaultLabel.isHidden = !noData }) .disposed(by: disposeBag) @@ -109,7 +106,6 @@ final class GroupDetailViewController: UIViewController, View { } extension GroupDetailViewController: UICollectionViewDelegateFlowLayout { - /// 순서가 왜바껴쓸까.. func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { switch collectionView { case rootView.inProgressCollectionView: