Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions ACON-iOS/ACON-iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
71DE8AE7F1C4CF9051C631A3 /* Pods_ACON_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B28431BAB67B99CD7B85C705 /* Pods_ACON_iOS.framework */; };
74054ECA2D32534200D1CDE4 /* MultitaskDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74054EC92D32533800D1CDE4 /* MultitaskDelegate.swift */; };
74054ECE2D32549F00D1CDE4 /* ACLocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74054ECD2D32549800D1CDE4 /* ACLocationManager.swift */; };
740968B72DEC3CA700AFF624 /* VerifiedAreasCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 740968B62DEC3C9000AFF624 /* VerifiedAreasCollectionViewCell.swift */; };
741056172D6A4C4E002E8200 /* AmplitudeLiterals.swift in Sources */ = {isa = PBXBuildFile; fileRef = 741056162D6A4C48002E8200 /* AmplitudeLiterals.swift */; };
741368002DD516680075D06A /* SearchSuggestionCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 741367FF2DD516610075D06A /* SearchSuggestionCollectionViewCell.swift */; };
7414295B2D5D2FC400B69528 /* ProfileSettingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7414295A2D5D2FBA00B69528 /* ProfileSettingViewController.swift */; };
Expand All @@ -114,6 +115,7 @@
741E68AC2D3D6DA800DF99EF /* HeaderType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 741E68AB2D3D6DA400DF99EF /* HeaderType.swift */; };
74205D2F2D40351700D11557 /* SocialType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74205D2E2D40351400D11557 /* SocialType.swift */; };
743069892D3D2F5A0033178C /* NetworkResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743069882D3D2F540033178C /* NetworkResult.swift */; };
7436352C2DEE2C70009B0035 /* OnboardingFlowType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7436352B2DEE2C6A009B0035 /* OnboardingFlowType.swift */; };
743900912DC50926002F91B1 /* UIVisualEffectView+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743900902DC50918002F91B1 /* UIVisualEffectView+.swift */; };
743900932DC75451002F91B1 /* GlassmorphismType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743900922DC7544C002F91B1 /* GlassmorphismType.swift */; };
743900972DC8696A002F91B1 /* GlassButtonType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 743900962DC86966002F91B1 /* GlassButtonType.swift */; };
Expand Down Expand Up @@ -343,6 +345,7 @@
50546F80D11F73C6A00B6C92 /* Pods-ACON-iOS.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ACON-iOS.release.xcconfig"; path = "Target Support Files/Pods-ACON-iOS/Pods-ACON-iOS.release.xcconfig"; sourceTree = "<group>"; };
74054EC92D32533800D1CDE4 /* MultitaskDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MultitaskDelegate.swift; sourceTree = "<group>"; };
74054ECD2D32549800D1CDE4 /* ACLocationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ACLocationManager.swift; sourceTree = "<group>"; };
740968B62DEC3C9000AFF624 /* VerifiedAreasCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VerifiedAreasCollectionViewCell.swift; sourceTree = "<group>"; };
741056162D6A4C48002E8200 /* AmplitudeLiterals.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AmplitudeLiterals.swift; sourceTree = "<group>"; };
741367FF2DD516610075D06A /* SearchSuggestionCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchSuggestionCollectionViewCell.swift; sourceTree = "<group>"; };
7414295A2D5D2FBA00B69528 /* ProfileSettingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProfileSettingViewController.swift; sourceTree = "<group>"; };
Expand All @@ -365,6 +368,7 @@
741E68AB2D3D6DA400DF99EF /* HeaderType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderType.swift; sourceTree = "<group>"; };
74205D2E2D40351400D11557 /* SocialType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocialType.swift; sourceTree = "<group>"; };
743069882D3D2F540033178C /* NetworkResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkResult.swift; sourceTree = "<group>"; };
7436352B2DEE2C6A009B0035 /* OnboardingFlowType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingFlowType.swift; sourceTree = "<group>"; };
743900902DC50918002F91B1 /* UIVisualEffectView+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UIVisualEffectView+.swift"; sourceTree = "<group>"; };
743900922DC7544C002F91B1 /* GlassmorphismType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassmorphismType.swift; sourceTree = "<group>"; };
743900962DC86966002F91B1 /* GlassButtonType.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GlassButtonType.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -823,6 +827,14 @@
path = Pods;
sourceTree = "<group>";
};
740968B52DEC3C7F00AFF624 /* Cell */ = {
isa = PBXGroup;
children = (
740968B62DEC3C9000AFF624 /* VerifiedAreasCollectionViewCell.swift */,
);
path = Cell;
sourceTree = "<group>";
};
741429612D5D3CDF00B69528 /* Cell */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -879,6 +891,14 @@
path = Base;
sourceTree = "<group>";
};
7436352A2DEE2C62009B0035 /* Type */ = {
isa = PBXGroup;
children = (
7436352B2DEE2C6A009B0035 /* OnboardingFlowType.swift */,
);
path = Type;
sourceTree = "<group>";
};
744BAF182D300BC900F95B4A /* Config */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -1299,6 +1319,7 @@
74A13D5F2DCBB960007FFFC3 /* Onboarding */ = {
isa = PBXGroup;
children = (
7436352A2DEE2C62009B0035 /* Type */,
74A13D602DCBB96D007FFFC3 /* View */,
);
path = Onboarding;
Expand Down Expand Up @@ -1391,6 +1412,7 @@
74BF920E2D391FFE00B923E3 /* View */ = {
isa = PBXGroup;
children = (
740968B52DEC3C7F00AFF624 /* Cell */,
74BF92082D391FFE00B923E3 /* LocalMapView.swift */,
74BF92092D391FFE00B923E3 /* LocalMapViewController.swift */,
74BF920C2D391FFE00B923E3 /* LocalVerificationView.swift */,
Expand Down Expand Up @@ -1921,6 +1943,7 @@
74BF92112D391FFE00B923E3 /* LocalVerificationViewController.swift in Sources */,
74BF92122D391FFE00B923E3 /* LocalMapViewController.swift in Sources */,
D6E8168E2D6228F5001E4EBF /* WithdrawalViewController.swift in Sources */,
740968B72DEC3CA700AFF624 /* VerifiedAreasCollectionViewCell.swift in Sources */,
15F45F842D6664C900BD6B9C /* LoginLockOverlayView.swift in Sources */,
15AA6D132D68AAB1008021C6 /* GetDongResponse.swift in Sources */,
746261692D3EA33300A4E84F /* PostReviewRequest.swift in Sources */,
Expand All @@ -1946,6 +1969,7 @@
1547A8732D34157700E96616 /* SpotListViewModel.swift in Sources */,
D6E8169C2D622937001E4EBF /* WithdrawalViewModel.swift in Sources */,
748D6FA42D2C3C48007690B4 /* BaseNavViewController.swift in Sources */,
7436352C2DEE2C70009B0035 /* OnboardingFlowType.swift in Sources */,
741E68A22D3D5FA200DF99EF /* ACService.swift in Sources */,
156AA7242D6504F1005B8DCE /* GetVerifiedAreaListResponse.swift in Sources */,
74E38D342D69B46F009449D4 /* LocationUtils.swift in Sources */,
Expand Down
14 changes: 10 additions & 4 deletions ACON-iOS/ACON-iOS/Global/Extensions/UIView+.swift
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ extension UIView {

//MARK: - add GlassBorder (주의 - bound가 0이면 적용 안 됨)

static var glassBorderView = GlassmorphismView(.buttonGlassDefault)

func addGlassBorder(_ attributes: GlassBorderAttributes) {
self.layer.borderWidth = 0

Expand All @@ -55,10 +57,10 @@ extension UIView {
let innerPath = UIBezierPath(roundedRect: innerRect, cornerRadius: max(0, attributes.cornerRadius - attributes.width/2))
outerPath.append(innerPath.reversing())

let glassmorphismView = GlassmorphismView(attributes.glassmorphismType)
UIView.glassBorderView = GlassmorphismView(attributes.glassmorphismType)

self.addSubview(glassmorphismView)
glassmorphismView.snp.makeConstraints {
self.addSubview(UIView.glassBorderView)
UIView.glassBorderView.snp.makeConstraints {
$0.edges.equalToSuperview()
}

Expand All @@ -68,7 +70,11 @@ extension UIView {

let maskView = UIView(frame: bounds)
maskView.layer.addSublayer(maskLayer)
glassmorphismView.mask = maskView
UIView.glassBorderView.mask = maskView
}

func removeGlassBorder() {
UIView.glassBorderView.removeFromSuperview()
}

}
38 changes: 35 additions & 3 deletions ACON-iOS/ACON-iOS/Global/Literals/StringLiterals.swift
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ enum StringLiterals {

static let letsStart = "완료"

static let locateOnMap = "지도에서 위치 확인하기"
static let locateOnMap = "지역 인증"

static let now = "이제 "

Expand Down Expand Up @@ -331,20 +331,52 @@ enum StringLiterals {

static let birthDate = "생년월일"

static let verifiedArea = "인증 동네"
static let verifiedArea = "인증 지역"

static let verifiedAreaDescription = "등록한 지 1주일 이내 지역은 수정이 가능하며 이후 3개월 동안\n변경이 불가해요."

static let nicknamePlaceholder = "16자 이내 영문, 한글, 숫자, . , _ 만 사용가능"

static let birthDatePlaceholder = "ex) 2025.01.01"

static let addVerifiedArea = "동네 추가하기"
static let addVerifiedArea = "지역 추가하기"

static let save = "저장"

static let doneSave = "프로필이 저장되었습니다"

}

enum Setting {

static let version = "현재 버전"

static let termsOfUse = "이용약관"

static let privacyPolicy = "개인정보처리방침"

static let onboarding = "취향탐색 다시하기"

static let localVerification = "동네 인증하기"

static let logout = "로그아웃하기"

static let withdrawal = "서비스 탈퇴"

static let versionInfo = "버전 정보"

static let policy = "약관 및 정책"

static let serviceSettings = "서비스 설정"

static let accountManagement = "로그아웃 / 탈퇴"

static let latestVersion = "최신버전"

static let needUpdate = "업데이트하러 가기"

}

enum Album {

static let choose = "선택"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "icon_2.0.0.png",
"filename" : "appIcon_250603.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ enum ACAlertType: CaseIterable {
case changeNotSaved // NOTE: 프로필 변경사항 저장 X

case changeVerifiedArea // NOTE: 지역인증 변경 (지역 1개)
case timeoutFromVerification // NOTE: 지역인증 변경 (인증 1주일 - 3개월)

case quitOnboarding // NOTE: 취향탐색 그만두기

case logout // NOTE: 로그아웃

Expand All @@ -40,9 +43,12 @@ enum ACAlertType: CaseIterable {
case .changeNotSaved:
return "변경사항이 저장되지 않았습니다."

case .changeVerifiedArea:
case .changeVerifiedArea, .timeoutFromVerification:
return "지역 삭제 불가"

case .quitOnboarding:
return "취향탐색을 그만둘까요?"

case .logout:
return "로그아웃 하시겠어요?"
}
Expand All @@ -60,6 +66,8 @@ enum ACAlertType: CaseIterable {
return "설정에서 권한을 켤 수 있습니다."
case .changeVerifiedArea:
return "지역은 최소 1개 이상을 등록해야 해요.\n현재 설정된 지역을 변경할까요?"
case .timeoutFromVerification:
return "인증한 지 1주일이 지난 지역은\n3개월 간 삭제가 불가능해요."
default:
return nil
}
Expand All @@ -71,7 +79,7 @@ enum ACAlertType: CaseIterable {
return "업데이트"
case .locationAccessDenied:
return "설정으로 가기"
case .changeVerifiedArea, .locationAccessFail, .reviewLocationFail:
case .locationAccessFail, .reviewLocationFail, .timeoutFromVerification:
return "확인"
default:
return nil
Expand All @@ -84,6 +92,8 @@ enum ACAlertType: CaseIterable {
return "취소"
case .changeNotSaved:
return "계속 작성"
case .quitOnboarding:
return "계속하기"
default:
return nil
}
Expand All @@ -99,6 +109,8 @@ enum ACAlertType: CaseIterable {
return "나가기"
case .changeVerifiedArea:
return "변경하기"
case .quitOnboarding:
return "그만두기"
case .logout:
return "로그아웃"
default:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,16 @@ extension AlbumTableViewController {
}
}

// NOTE: 개별 업데이트는 데이터가 이미 로드된 후에만
self.albumViewModel.fetchedAlbumIndex.bind { [weak self] index in
guard let index = index else { return }
let indexPath = IndexPath(row: index, section: 0)
self?.albumTableView.reloadRows(at: [indexPath], with: .automatic)

// NOTE: 테이블뷰에 충분한 데이터가 있을 때만 개별 업데이트
if let tableView = self?.albumTableView,
tableView.numberOfRows(inSection: 0) > index {
let indexPath = IndexPath(row: index, section: 0)
tableView.reloadRows(at: [indexPath], with: .automatic)
}
}
}

Expand Down
Loading