Skip to content

Commit e935257

Browse files
committed
[fix] asset conflict
2 parents 8221cec + 285129d commit e935257

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+326
-70
lines changed

β€ŽCA-PIN_IOS/CA-PIN_IOS.xcodeproj/project.pbxprojβ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1519,7 +1519,7 @@
15191519
BASE_URL = "http://3.37.75.200:6000";
15201520
CODE_SIGN_IDENTITY = "Apple Development";
15211521
CODE_SIGN_STYLE = Automatic;
1522-
CURRENT_PROJECT_VERSION = 4;
1522+
CURRENT_PROJECT_VERSION = 6;
15231523
DEVELOPMENT_TEAM = VTJLBZ2Q3F;
15241524
INFOPLIST_FILE = "CA-PIN_IOS/Supports/Info.plist";
15251525
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
@@ -1545,7 +1545,7 @@
15451545
BASE_URL = "http://3.37.75.200:6000";
15461546
CODE_SIGN_IDENTITY = "iPhone Distribution";
15471547
CODE_SIGN_STYLE = Manual;
1548-
CURRENT_PROJECT_VERSION = 4;
1548+
CURRENT_PROJECT_VERSION = 6;
15491549
DEVELOPMENT_TEAM = VTJLBZ2Q3F;
15501550
INFOPLIST_FILE = "CA-PIN_IOS/Supports/Info.plist";
15511551
IPHONEOS_DEPLOYMENT_TARGET = 13.0;

β€ŽCA-PIN_IOS/CA-PIN_IOS/Configuration/KeyChainStorage.swiftβ€Ž

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,8 @@ enum KeychainStorage {
1818
static var userCafeTI: String {
1919
return "userCafeTI"
2020
}
21+
22+
static var nickname: String {
23+
return "nickname"
24+
}
2125
}

β€ŽCA-PIN_IOS/CA-PIN_IOS/Screens/CafeDetail/Cells/DetailReviewTableViewCell.swiftβ€Ž

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import UIKit
99

1010
import SnapKit
1111
import Then
12+
import SwiftKeychainWrapper
1213

1314
// MARK: - DetailReviewTableViewCell
1415
class DetailReviewTableViewCell: UITableViewCell {
@@ -64,6 +65,7 @@ class DetailReviewTableViewCell: UITableViewCell {
6465
override func prepareForReuse() {
6566
super.prepareForReuse()
6667
profileImageView.image = nil
68+
reviewModel = nil
6769
}
6870
}
6971

@@ -208,10 +210,57 @@ extension DetailReviewTableViewCell {
208210

209211
// μ„œν˜„μ΄κ°€ μΌμ–΄μš” ~
210212
@objc func editButtonClicked() {
211-
let reportPopUpVC = ReportReviewPopUpViewController()
212-
reportPopUpVC.modalPresentationStyle = .overCurrentContext
213-
reportPopUpVC.reviewId = self.reviewId
214-
self.rootViewController?.present(reportPopUpVC, animated: translatesAutoresizingMaskIntoConstraints, completion: nil)
213+
if let model = reviewModel {
214+
if model.writer.nickname == KeychainWrapper.standard.string(forKey: KeychainStorage.nickname) {
215+
let alertController: UIAlertController
216+
alertController = UIAlertController(title: "리뷰 νŽΈμ§‘", message: nil, preferredStyle: .actionSheet)
217+
218+
let editAction: UIAlertAction
219+
editAction = UIAlertAction(title: "리뷰 μˆ˜μ •", style: UIAlertAction.Style.default, handler: { (action: UIAlertAction) in
220+
/// 리뷰 μˆ˜μ • 뷰둜 이동
221+
let writeVC = WriteReviewViewController()
222+
writeVC.titleContent = "λ¦¬λ·°μˆ˜μ •ν•˜κΈ°"
223+
writeVC.confirmTitle = "λ¦¬λ·°μˆ˜μ •ν•˜κΈ°"
224+
writeVC.content = (self.reviewModel?.content)!
225+
writeVC.ratingValue = self.reviewModel!.rating
226+
writeVC.reviewId = self.reviewModel!.id
227+
if self.reviewModel?.imgs == [] {
228+
for imagePath in (self.reviewModel!.imgs)! {
229+
let image = UIImageView()
230+
image.setImage(from: imagePath, UIImage(named: "capinLogo")!)
231+
writeVC.canAccessImages.append((image.image)!)
232+
}
233+
}
234+
writeVC.recommend = self.reviewModel?.recommend ?? []
235+
self.rootViewController?.navigationController?.pushViewController(writeVC, animated: false)
236+
})
237+
let deleteAction: UIAlertAction
238+
deleteAction = UIAlertAction(title: "리뷰 μ‚­μ œ", style: .destructive, handler: { (action: UIAlertAction) in
239+
let deleteReviewVC = DeleteReviewViewController()
240+
deleteReviewVC.modalPresentationStyle = .overCurrentContext
241+
deleteReviewVC.reviewId = self.reviewModel?.id ?? ""
242+
self.rootViewController?.present(deleteReviewVC, animated: false, completion: nil)
243+
})
244+
245+
let cancelAction: UIAlertAction
246+
cancelAction = UIAlertAction(title: "μ·¨μ†Œ", style: UIAlertAction.Style.cancel, handler: nil)
247+
248+
alertController.addAction(editAction)
249+
alertController.addAction(deleteAction)
250+
alertController.addAction(cancelAction)
251+
252+
alertController.view.tintColor = .maincolor1
253+
254+
self.rootViewController?.present(alertController, animated: true, completion: nil)
255+
256+
}
257+
else {
258+
let reportPopUpVC = ReportReviewPopUpViewController()
259+
reportPopUpVC.modalPresentationStyle = .overCurrentContext
260+
reportPopUpVC.reviewId = self.reviewId
261+
self.rootViewController?.present(reportPopUpVC, animated: translatesAutoresizingMaskIntoConstraints, completion: nil)
262+
}
263+
}
215264
}
216265

217266
// MARK: - General Helpers
@@ -226,7 +275,11 @@ extension DetailReviewTableViewCell {
226275

227276
func reviewDataBind(nickName: String, date: String, rating: Float, content: String, profileImg: String) {
228277
titleLabel.setupLabel(text: nickName, color: .black, font: .notoSansKRMediumFont(fontSize: 12))
229-
dateLabel.setupLabel(text: date, color: .gray4, font: .notoSansKRRegularFont(fontSize: 12))
278+
279+
let dateStringArray = date.split(separator: "T")
280+
let dateString = String(dateStringArray[0])
281+
let dateResult = dateString.replacingOccurrences(of: "-", with: ".")
282+
dateLabel.setupLabel(text: dateResult, color: .gray4, font: .notoSansKRRegularFont(fontSize: 12))
230283
ratingLabel.setupLabel(text: "\(rating)",
231284
color: .pointcolorYellow,
232285
font: .notoSansKRRegularFont(fontSize: 12))
@@ -331,7 +384,7 @@ extension DetailReviewTableViewCell: UICollectionViewDataSource {
331384
photoCell.dataBind(imageName: reviewModel?.imgs?[indexPath.item], moreNumber: moreNumber)
332385
photoCell.awakeFromNib()
333386
if indexPath.item == 2 && moreNumber > 0 {
334-
photoCell.photoImageView.isHidden = true
387+
photoCell.alphaView.isHidden = false
335388
photoCell.moreLabel.isHidden = false
336389
}
337390
return photoCell

β€ŽCA-PIN_IOS/CA-PIN_IOS/Screens/CafeDetail/Cells/PhotoCollectionViewCell.swiftβ€Ž

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@ class PhotoCollectionViewCell: UICollectionViewCell {
1717
// MARK: - Components
1818
let containerView = UIView()
1919
let photoImageView = UIImageView()
20-
let alphaView = UIView()
21-
let moreLabel = UILabel()
20+
let alphaView = UIView().then {
21+
$0.isHidden = true
22+
}
23+
let moreLabel = UILabel().then {
24+
$0.isHidden = true
25+
}
2226

2327
var rootViewController: UIViewController?
2428

@@ -28,6 +32,12 @@ class PhotoCollectionViewCell: UICollectionViewCell {
2832
self.backgroundColor = .clear
2933
layout()
3034
}
35+
36+
override func prepareForReuse() {
37+
super.prepareForReuse()
38+
alphaView.isHidden = true
39+
moreLabel.isHidden = true
40+
}
3141

3242
}
3343

@@ -37,6 +47,7 @@ extension PhotoCollectionViewCell {
3747
contentView.backgroundColor = .clear
3848
layoutContainerView()
3949
layoutPhotoImageView()
50+
layoutAlphaView()
4051
layoutMoreLabel()
4152
}
4253
func layoutContainerView() {
@@ -58,7 +69,6 @@ extension PhotoCollectionViewCell {
5869
}
5970
func layoutAlphaView() {
6071
containerView.add(alphaView) {
61-
$0.isHidden = true
6272
$0.backgroundColor = .photoCover
6373
$0.setRounded(radius: 5)
6474
$0.snp.makeConstraints {
@@ -68,7 +78,6 @@ extension PhotoCollectionViewCell {
6878
}
6979
func layoutMoreLabel() {
7080
alphaView.add(moreLabel) {
71-
$0.isHidden = true
7281
$0.snp.makeConstraints {
7382
$0.center.equalToSuperview()
7483
}
@@ -81,7 +90,7 @@ extension PhotoCollectionViewCell {
8190
photoImageView.imageFromUrl(image, defaultImgPath: "")
8291
}
8392
moreLabel.setupLabel(text: "+\(moreNumber)",
84-
color: .gray3,
93+
color: .white,
8594
font: .notoSansKRRegularFont(fontSize: 14))
8695
}
8796
func updateLayout() {

β€ŽCA-PIN_IOS/CA-PIN_IOS/Screens/CafeDetail/ViewControllers/CafeDetailViewController.swiftβ€Ž

Lines changed: 68 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ class CafeDetailViewController: UIViewController {
2828
let cafeTitleLabel = UILabel()
2929
let starImageView = UIImageView()
3030
let starRatingLabel = UILabel()
31-
let addressLabel = UILabel()
31+
let addressLabel = UILabel().then {
32+
$0.isUserInteractionEnabled = true
33+
}
34+
3235
let tagCollectionView: UICollectionView = {
3336
let layout = CollectionViewCenteredFlowLayout()
3437
layout.scrollDirection = .vertical
@@ -100,6 +103,16 @@ class CafeDetailViewController: UIViewController {
100103
)
101104
}
102105

106+
private let emptyLabel = UILabel().then {
107+
$0.setupLabel(
108+
text: "아직 λ“±λ‘λœ 리뷰가 μ—†μ–΄μš”.\nκ°€μž₯ λ¨Όμ € 리뷰λ₯Ό μž‘μ„±ν•΄λ³΄μ„Έμš”.",
109+
color: .gray4,
110+
font: .notoSansKRRegularFont(fontSize: 14)
111+
)
112+
$0.isHidden = true
113+
$0.numberOfLines = 2
114+
}
115+
103116
let gradationBlackColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.3)
104117
let gradationWhiteColor = UIColor(red: 1, green: 1, blue: 1, alpha: 0.3)
105118

@@ -108,7 +121,7 @@ class CafeDetailViewController: UIViewController {
108121
var threshold = true
109122

110123
let disposeBag = DisposeBag()
111-
let reviewProvider = MoyaProvider<ReviewService>()
124+
let reviewProvider = MoyaProvider<ReviewService>(plugins: [NetworkLoggerPlugin(verbose: true)])
112125
let userProvider = MoyaProvider<UserService>(plugins: [NetworkLoggerPlugin(verbose: true)])
113126
var cafeModel: CafeServerDetail?
114127
var reviewModel: [ServerReview]?
@@ -127,6 +140,7 @@ class CafeDetailViewController: UIViewController {
127140
var count160 = 0
128141
var count218 = 0
129142
var count240 = 0
143+
var isInit = true
130144

131145

132146
// MARK: - LifeCycles
@@ -154,6 +168,14 @@ class CafeDetailViewController: UIViewController {
154168
super.updateViewConstraints()
155169
self.reviewTableView.heightConstraint?.constant = self.reviewTableView.contentSize.height
156170
}
171+
172+
override func viewDidLayoutSubviews() {
173+
super.viewDidLayoutSubviews()
174+
if isInit {
175+
bottomView.layer.applyShadow(color: 0xC5C5C5.color, alpha: 0.1, x: 0, y: -4, blur: 4)
176+
isInit = false
177+
}
178+
}
157179
}
158180

159181
// MARK: - Extensions
@@ -587,6 +609,15 @@ extension CafeDetailViewController {
587609
}
588610
}
589611

612+
func layoutEmptyLabel() {
613+
cafeScrollContainerView.add(emptyLabel) {
614+
$0.snp.makeConstraints {
615+
$0.centerX.equalToSuperview()
616+
$0.top.equalTo(self.reviewTitleLabel.snp.bottom).offset(63)
617+
}
618+
}
619+
}
620+
590621
// MARK: - General Helpers
591622
func dataBind() {
592623
if self.cafeModel?.img == nil {
@@ -599,7 +630,7 @@ extension CafeDetailViewController {
599630
self.cafeTitleLabel.setupLabel(text: self.cafeModel?.name ?? "", color: .black, font: .notoSansKRMediumFont(fontSize: 26))
600631
self.starRatingLabel.setupLabel(text: "\(self.cafeModel?.rating ?? 0)", color: .pointcolorYellow, font: .notoSansKRMediumFont(fontSize: 20))
601632
self.addressLabel.setupLabel(text: self.cafeModel?.address ?? "", color: .gray4, font: .notoSansKRRegularFont(fontSize: 12))
602-
self.instagramLabel.setupLabel(text: "@\(self.cafeModel?.instagram ?? "")", color: .gray4, font: .notoSansKRRegularFont(fontSize: 14))
633+
self.instagramLabel.setupLabel(text: "\(self.cafeModel?.instagram ?? "")", color: .gray4, font: .notoSansKRRegularFont(fontSize: 14))
603634
if let model = cafeModel {
604635
var offdayString = ""
605636
if let offday = model.offday {
@@ -628,6 +659,10 @@ extension CafeDetailViewController {
628659
)
629660
}
630661
}
662+
validateIsSaved()
663+
}
664+
665+
func validateIsSaved() {
631666
if let isSaved = isSaved {
632667
if isSaved {
633668
savePinView.backgroundColor = .pointcolor1
@@ -652,6 +687,10 @@ extension CafeDetailViewController {
652687
let reviewGesutre = UITapGestureRecognizer()
653688
reviewGesutre.addTarget(self, action: #selector(clickedWriteReviewButton))
654689
reviewView.addGestureRecognizer(reviewGesutre)
690+
691+
let addressGesture = UITapGestureRecognizer()
692+
addressGesture.addTarget(self, action: #selector(touchupAddressLabel))
693+
addressLabel.addGestureRecognizer(addressGesture)
655694
}
656695

657696
func register() {
@@ -680,13 +719,18 @@ extension CafeDetailViewController {
680719
}
681720
@objc func clickedEntireReviewButton() {
682721
let entireVC = EntireReviewViewController()
683-
entireVC.reviewModel = self.reviewModel!
684-
self.navigationController?.pushViewController(entireVC, animated: false)
722+
if let reviewModel = reviewModel {
723+
entireVC.reviewModel = self.reviewModel!
724+
self.navigationController?.pushViewController(entireVC, animated: false)
725+
}
726+
else {
727+
showGrayToast(message: "리뷰가 μ—†μŠ΅λ‹ˆλ‹€.")
728+
}
685729
}
686730
@objc func clickedAddPinButton() {
687731
if let isSaved = isSaved {
688732
if isSaved {
689-
showGrayToast(message: "이미 μ €μž₯된 μΉ΄νŽ˜μž…λ‹ˆλ‹€.")
733+
setupCategory()
690734
}
691735
else {
692736
setupCategory()
@@ -698,6 +742,15 @@ extension CafeDetailViewController {
698742
writeReviewVC.cafeId = (self.cafeModel?.id)!
699743
self.navigationController?.pushViewController(writeReviewVC, animated: false)
700744
}
745+
746+
@objc
747+
private func touchupAddressLabel() {
748+
if let text = addressLabel.text {
749+
UIPasteboard.general.string = text
750+
showGreenToast(message: "μ£Όμ†Œκ°€ λ³΅μ‚¬λ˜μ—ˆμŠ΅λ‹ˆλ‹€.")
751+
}
752+
}
753+
701754
func setupReviewData(cafeId: String) {
702755
reviewProvider.rx.request(.reviewList(cafeId: cafeId))
703756
.asObservable()
@@ -714,12 +767,21 @@ extension CafeDetailViewController {
714767
self.reviewIdArray.append(self.reviewModel![i].id)
715768
}
716769
self.layout()
770+
if let review = data.reviews {
771+
self.emptyLabel.isHidden = true
772+
self.reviewTableView.separatorStyle = .singleLine
773+
}
717774
self.tagCollectionView.reloadData()
718775
self.reviewTableView.reloadData()
719776
} catch {
720777
print(error)
721778
}
722779
}
780+
if response.statusCode == 204 {
781+
self.emptyLabel.isHidden = false
782+
self.layoutEmptyLabel()
783+
self.reviewTableView.separatorStyle = .none
784+
}
723785
}, onError: { error in
724786
print(error)
725787
}, onCompleted: {

β€ŽCA-PIN_IOS/CA-PIN_IOS/Screens/Login/ViewControllers/LoginViewController.swiftβ€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,9 @@ extension LoginViewController {
105105
let decoder = JSONDecoder()
106106
let data = try decoder.decode(ResponseType<LoginData>.self,
107107
from: response.data)
108+
if let loginData = data.loginData {
109+
KeychainWrapper.standard.set(loginData.nickname, forKey: "nickname")
110+
}
108111
KeychainWrapper.standard.set(emailText, forKey: "loginEmail")
109112
KeychainWrapper.standard.set(passwordText, forKey: "loginPassword")
110113
KeychainWrapper.standard.set(data.loginData!.tokenAccess, forKey: "tokenAccess")

β€ŽCA-PIN_IOS/CA-PIN_IOS/Screens/Login/ViewControllers/SplashViewController.swiftβ€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,9 @@ extension SplashViewController {
8282
let decoder = JSONDecoder()
8383
let data = try decoder.decode(ResponseType<LoginData>.self,
8484
from: response.data)
85+
if let loginData = data.loginData {
86+
KeychainWrapper.standard.set(loginData.nickname, forKey: "nickname")
87+
}
8588
KeychainWrapper.standard.set(ID, forKey: "loginEmail")
8689
KeychainWrapper.standard.set(PW, forKey: "loginPassword")
8790
KeychainWrapper.standard.set(data.loginData!.tokenAccess, forKey: "tokenAccess")

β€ŽCA-PIN_IOS/CA-PIN_IOS/Screens/Map/Cells/PinPopupTableViewCell.swiftβ€Ž

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,11 @@ class PinPopupTableViewCell: UITableViewCell {
2929
layout()
3030
}
3131

32+
33+
override func prepareForReuse() {
34+
super.prepareForReuse()
35+
selectbutton.isHidden = false
36+
}
3237
}
3338

3439
// MARK: - Extensions

β€ŽCA-PIN_IOS/CA-PIN_IOS/Screens/Map/Cells/TermsGeneralTableViewCell.swiftβ€Ž

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@ class TermsGeneralTableViewCell: UITableViewCell {
1717
// MARK: - Components
1818
let containerView = UIView()
1919
let titleLabel = UILabel()
20-
let nextButton = UIButton()
20+
let nextButton = UIButton().then {
21+
$0.isUserInteractionEnabled = false
22+
}
2123

2224
var titleText: String?
2325

0 commit comments

Comments
Β (0)