Skip to content

Commit

Permalink
Merge pull request #166 from L-j-h-c/feature/#156
Browse files Browse the repository at this point in the history
[Feat] #156 - 플로우 연결 및 잡일
  • Loading branch information
i-colours-u committed Jul 20, 2022
2 parents 7879cf0 + ebbcbbe commit 18ec78e
Show file tree
Hide file tree
Showing 8 changed files with 63 additions and 33 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
//

import Foundation
import UIKit

protocol ModuleFactoryProtocol {

Expand All @@ -27,7 +28,7 @@ protocol ModuleFactoryProtocol {
func makeCopingTabVC() -> CopingTabVC
func makeReviewDetailVC() -> ReviewDetailVC
func makeReviewWriteVC() -> ReviewWriteVC
func makeReviewWriteNavigationController() -> ReviewWriteNavigationController
func makeReviewWriteNavigationController(restaurantId: String) -> UINavigationController

// MARK: - Search
func makeSearchVC() -> SearchVC
Expand Down Expand Up @@ -151,8 +152,10 @@ class ModuleFactory: ModuleFactoryProtocol {
return vc
}

func makeReviewWriteNavigationController() -> ReviewWriteNavigationController {
let nc = ReviewWriteNavigationController.controllerFromStoryboard(.reviewWrite)
func makeReviewWriteNavigationController(restaurantId: String) -> UINavigationController {
let vc = ReviewWriteVC.controllerFromStoryboard(.reviewWrite)
vc.restaurantID = restaurantId
guard let nc = UINavigationController(rootViewController: vc) as? UINavigationController else { return UINavigationController() }

return nc
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,5 @@ import Foundation

struct UserEntity: Codable {
let _id, name: String
let scrapRestaurants: [ScrapListEntity]
let scrapRestaurants: [String]
}
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,6 @@ extension MainInfoTVC {
func initialReload() {
if isInitialReload {
expandableTableView.reloadData()
isInitialReload.toggle()
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ class MainDetailVC: UIViewController {
private var phoneMenuTouched: Bool = false
private var navigationTitle: String = "서브웨이 테스트"
private var isOpenned: Bool = false
private var mainInfoInitialReload: Bool = true
var userLocation: Location?
var restaurantId: String = ""
var location: Location?
Expand Down Expand Up @@ -170,7 +171,7 @@ extension MainDetailVC {

private func setButtonAction() {
reviewWriteCTAButton.press {
let writeVC = ModuleFactory.resolve().makeReviewWriteNavigationController()
let writeVC = ModuleFactory.resolve().makeReviewWriteNavigationController(restaurantId: self.restaurantId)
writeVC.modalPresentationStyle = .fullScreen
self.present(writeVC, animated: true)
}
Expand Down Expand Up @@ -277,6 +278,7 @@ extension MainDetailVC: UITableViewDataSource {
guard let cell = tableView.dequeueReusableCell(withIdentifier: MainInfoTVC.className, for: indexPath) as? MainInfoTVC else { return UITableViewCell() }
cell.toggleButtonTapped.asDriver(onErrorJustReturn: ())
.drive(onNext: {
self.mainInfoInitialReload = false
self.isOpenned.toggle()
self.mainTableView.reloadData()
}).disposed(by: disposeBag)
Expand Down Expand Up @@ -481,6 +483,8 @@ extension MainDetailVC {
switch networkResult {
case .success(let data):
if let data = data as? MainDetailEntity {
self.navigationTitle = data.restaurant.name
self.mainInfoTVC.isInitialReload = self.mainInfoInitialReload
self.mainInfoTVC.setData(data: data)
self.menuTabVC.setData(data: data.menu)
self.reviewTabVC.restaurantName = data.restaurant.name
Expand All @@ -498,16 +502,16 @@ extension MainDetailVC {
switch networkResult {
case .success(let data):
if let data = data as? ReviewCheckEntity {
self.checkCTAButtonStatus(reviewEnabled: data.hasReview)
self.checkCTAButtonStatus(hasReview: data.hasReview)
}
default:
print("통신 에러")
}
}
}

private func checkCTAButtonStatus(reviewEnabled: Bool) {
if !reviewEnabled {
private func checkCTAButtonStatus(hasReview: Bool) {
if hasReview {
DispatchQueue.main.async {
self.reviewWriteCTAButton.isEnabled = false
self.reviewWriteCTAButton.setAttributedTitleForDisabled(title: "리뷰 작성 완료")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,20 @@ extension MenuTabVC {
data.forEach {
models.append($0.toDomain())
}
self.menuData = models

var pickModel: [MenuDataModel] = []
var notPickModel: [MenuDataModel] = []

models.forEach { data in
if data.isPick {
pickModel.append(data)
} else {
notPickModel.append(data)
}
}
pickModel += notPickModel

self.menuData = pickModel
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,13 +180,23 @@ extension MenuView {

func updateLayout() {
if !isPick {
[titleLabel, priceLabel].forEach {
$0.removeFromSuperview()
}

menuStackView.addArrangedSubviews(titleLabel, priceLabel)

menuStackView.isHidden = false
allMenuStackView.isHidden = true
} else {

[pickImageView, titleLabel, priceLabel].forEach {
$0.removeFromSuperview()
}

allMenuStackView.addArrangedSubviews(pickImageView, titleLabel, priceLabel)

allMenuStackView.snp.makeConstraints { make in
allMenuStackView.snp.updateConstraints { make in
make.leading.equalTo(menuImageView.snp.trailing).offset(20)
make.trailing.equalToSuperview().inset(97)
make.centerY.equalTo(menuImageView.snp.centerY)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -799,6 +799,7 @@ extension ReviewWriteVC {
dump(networkResult)
switch networkResult {
case .success(let data):
dump(data)
if let data = data as? ReviewWriteEntity {
print(data, "성공")
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ final class NaverMapContainerView: UIView {
var delegate: NMFMapViewTouchDelegate?
var cameraDelegate: NMFMapViewCameraDelegate?
var pointList = PublishRelay<[MapPointDataModel]>()
var totalPointList: [MapPointDataModel] = []
var setSelectPoint = PublishRelay<MapPointDataModel>()
var disableSelectPoint = PublishRelay<Void>()

Expand Down Expand Up @@ -72,7 +73,8 @@ extension NaverMapContainerView {
private func bindRelay() {
pointList.subscribe(onNext: { [weak self] pointList in
guard let self = self else { return }
self.setPointMarkers(pointList)
let data = self.comparePointList(newPoints: pointList)
self.setPointMarkers(data)
}).disposed(by: self.disposeBag)

setSelectPoint.subscribe(onNext: { [weak self] selectedPoint in
Expand All @@ -84,9 +86,27 @@ extension NaverMapContainerView {
}).disposed(by: self.disposeBag)

}

private func comparePointList(newPoints: [MapPointDataModel]) -> [MapPointDataModel] {
var newDataModel = [MapPointDataModel]()
newPoints.forEach { newData in
var alreadySet = false
totalPointList.forEach { oldData in
if oldData.longtitude == newData.longtitude,
oldData.latitude == newData.latitude {
alreadySet = true
}
}
if !alreadySet {
newDataModel.append(newData)
totalPointList.append(newData)
}
}
print(newDataModel)
return newDataModel
}

private func setPointMarkers(_ points: [MapPointDataModel]) {
resetMarkers(points)
DispatchQueue.global(qos: .default).async {
for point in points {
let marker = NMFMarker()
Expand Down Expand Up @@ -172,26 +192,6 @@ extension NaverMapContainerView {
let iconName = selectState ? "icn_diet_selected" : "icn_diet"
mark.iconImage = NMFOverlayImage.init(image: UIImage(named: iconName) ?? UIImage())
}

private func resetMarkers(_ points: [MapPointDataModel]) {
markers.forEach { marker in
marker.mapView = nil
}
markers = [NMFMarker]()
// for point in points {
// let NMGPosition = NMGLatLng(lat: point.latitude,
// lng: point.longtitude)
// var targetIndex = 0
// var alreadySet = false
// for (index, marker) in markers.enumerated() {
// if marker.position == NMGPosition {
// alreadySet = true
// }
// }
// if !alreadySet {
// }
// }
}
}

extension NaverMapContainerView: NMFMapViewCameraDelegate {
Expand Down

0 comments on commit 18ec78e

Please sign in to comment.