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
5 changes: 3 additions & 2 deletions ByeBoo-iOS/ByeBoo-iOS.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,8 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = "ByeBoo-iOS/ByeBoo-Prod.entitlements";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_IDENTITY = "Apple Development";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
CODE_SIGN_STYLE = Manual;
CURRENT_PROJECT_VERSION = 6;
DEVELOPMENT_TEAM = "";
Expand All @@ -371,7 +372,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "com.heartz.ByeBoo-iOS";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match Development com.heartz.ByeBoo-iOS";
"PROVISIONING_PROFILE_SPECIFIER[sdk=iphoneos*]" = "match AppStore com.heartz.ByeBoo-iOS";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,25 @@ import UIKit
enum ConfirmModalType {
case logout
case withdraw
case block

var title: String {
switch self {
case .logout:
return "로그아웃하시겠어요?"
"로그아웃하시겠어요?"
case .withdraw:
return "정말 탈퇴하시겠어요?"
"정말 탈퇴하시겠어요?"
case .block:
"차단을 해제하시겠어요?"
}
}

var description: String? {
switch self {
case .logout:
return nil
case .logout, .block:
nil
case .withdraw:
return "탈퇴 시 모든 데이터가 삭제됩니다."
"탈퇴 시 모든 데이터가 삭제됩니다."
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions ByeBoo-iOS/ByeBoo-iOS/Presentation/Enum/ExternalLink.swift
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ enum ExternalLink: String {
case makeService = "https://forms.gle/BA77gAgZ1NCatart5"
case serviceTerm = "https://lively-mars-3b7.notion.site/24cab823e68d801aac95ec5d0389d192"
case privacyPolicy = "https://lively-mars-3b7.notion.site/24cab823e68d80a19ab1fbf87d6cfbc3"
case openChattingRoom = "https://open.kakao.com/o/p74inNhi"
case instagram = "https://www.instagram.com/byeboo.official"

func openURL(for rootViewController: UIViewController) {
guard let url = URL(string: self.rawValue) else {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ enum MyPageFeatureType: String {

case inquire = "문의하기"
case notice = "알림"
case participant = "참여하기"
case manage = "관리"
case termAndPolicy = "약관 및 정책"
case account = "계정"

Expand All @@ -20,6 +22,10 @@ enum MyPageFeatureType: String {
return [.inquireByeBoo, .makeService]
case .notice:
return [.questOpenNotice]
case .participant:
return [.chattingRoom, .instagram]
case .manage:
return [.blockUserList]
case .termAndPolicy:
return [.privacyPolicy, .serviceTerm]
case .account:
Expand All @@ -33,6 +39,9 @@ enum MyPageDetailFeatureType: String {
case inquireByeBoo = "바이부에 문의하기"
case makeService = "바이부와 함께 서비스 만들기"
case questOpenNotice = "퀘스트 오픈 알림"
case chattingRoom = "이별 극복 소통방"
case instagram = "공식 인스타그램"
case blockUserList = "차단 사용자 목록"
case privacyPolicy = "개인정보 처리 방침"
case serviceTerm = "서비스 이용 약관"
case logout = "로그아웃"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
//
// BlockUserListView.swift
// ByeBoo-iOS
//
// Created by APPLE on 2/22/26.
//

import UIKit

final class BlockedUserCell: UITableViewCell {

private let userNameLabel = UILabel()
private(set) var clearButton = UIButton()

override init(
style: UITableViewCell.CellStyle,
reuseIdentifier: String?
) {
super.init(style: style, reuseIdentifier: reuseIdentifier)

setStyle()
setUI()
setLayout()
}

required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

private func setStyle() {
self.do {
$0.backgroundColor = .grayscale900
$0.selectionStyle = .none
}
userNameLabel.applyByeBooFont(
style: .body2M16,
color: .grayscale100
)
clearButton.do {
$0.setTitle("해제", for: .normal)
$0.applyByeBooFont(style: .cap1M12, color: .grayscale100)
$0.backgroundColor = UIColor.white.withAlphaComponent(0.05)
$0.layer.borderWidth = 1
$0.layer.borderColor = UIColor.grayscale800.cgColor
$0.layer.cornerRadius = 12
}
}

private func setUI() {
contentView.addSubviews(
userNameLabel,
clearButton
)
}

private func setLayout() {
userNameLabel.snp.makeConstraints {
$0.leading.equalToSuperview().inset(24.adjustedW)
$0.verticalEdges.equalToSuperview()
$0.centerY.equalToSuperview()
}
clearButton.snp.makeConstraints {
$0.trailing.equalToSuperview().inset(24.adjustedW)
$0.verticalEdges.equalToSuperview()
$0.centerY.equalTo(userNameLabel.snp.centerY)
$0.width.equalTo(56.adjustedW)
$0.height.equalTo(24.adjustedH)
}
}
}

extension BlockedUserCell {

func bind(userName: String) {
userNameLabel.text = userName
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
//
// BlockUserListView.swift
// ByeBoo-iOS
//
// Created by APPLE on 2/22/26.
//

import UIKit

final class BlockedUserListView: BaseView {

private(set) var userTableView = UITableView()

override func setStyle() {
self.do {
$0.backgroundColor = .grayscale900
}
userTableView.do {
$0.backgroundColor = .grayscale900
}
}

override func setUI() {
addSubview(userTableView)
}

override func setLayout() {
userTableView.snp.makeConstraints {
$0.top.equalToSuperview().inset(12.adjustedH)
$0.horizontalEdges.equalToSuperview()
$0.bottom.equalToSuperview().inset(24.adjustedH)
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ final class MyPageFeatureView: BaseView {
private(set) var featureButtons: [UIButton] = []
private(set) var noticeSwitch = UISwitch()

init(title: String, features: [MyPageDetailFeatureType]) {
titleLabel.text = title
init(type: MyPageFeatureType) {
titleLabel.text = type.rawValue
super.init(frame: .zero)

setFeatures(features)
setFeatures(type.features)
}

required init?(coder: NSCoder) {
Expand Down
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오우 너무 좋네용

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
//
// MyPageFeaturesView.swift
// ByeBoo-iOS
//
// Created by APPLE on 2/25/26.
//

import UIKit

final class MyPageFeaturesView: BaseView {

private(set) var inquireView = MyPageFeatureView(type: .inquire)
private(set) var noticeView = MyPageFeatureView(type: .notice)
private(set) var participantView = MyPageFeatureView(type: .participant)
private(set) var manageView = MyPageFeatureView(type: .manage)
private(set) var termAndPolicyView = MyPageFeatureView(type: .termAndPolicy)
private(set) var accountView = MyPageFeatureView(type: .account)

override func setUI() {
addSubviews(
inquireView,
noticeView,
participantView,
manageView,
termAndPolicyView,
accountView
)
}

override func setLayout() {
inquireView.snp.makeConstraints {
$0.top.equalToSuperview()
$0.horizontalEdges.equalToSuperview()
}
noticeView.snp.makeConstraints {
$0.top.equalTo(inquireView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
}
participantView.snp.makeConstraints {
$0.top.equalTo(noticeView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
}
manageView.snp.makeConstraints {
$0.top.equalTo(participantView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
}
termAndPolicyView.snp.makeConstraints {
$0.top.equalTo(manageView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
}
accountView.snp.makeConstraints {
$0.top.equalTo(termAndPolicyView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
$0.bottom.equalToSuperview()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,22 +20,7 @@ final class MyPageView: BaseView {
private(set) var myRecordView = MyRecordView()
private(set) var worldView = ByeBooUniverseView()
private let divider2 = SectionDividerView()
private(set) var inquireView = MyPageFeatureView(
title: MyPageFeatureType.inquire.rawValue,
features: MyPageFeatureType.inquire.features
)
private(set) var noticeView = MyPageFeatureView(
title: MyPageFeatureType.notice.rawValue,
features: MyPageFeatureType.notice.features
)
private(set) var termAndPolicyView = MyPageFeatureView(
title: MyPageFeatureType.termAndPolicy.rawValue,
features: MyPageFeatureType.termAndPolicy.features
)
private(set) var accountView = MyPageFeatureView(
title: MyPageFeatureType.account.rawValue,
features: MyPageFeatureType.account.features
)
private(set) var featuresView = MyPageFeaturesView()

override func setStyle() {
backgroundColor = .grayscale900
Expand All @@ -53,10 +38,7 @@ final class MyPageView: BaseView {
myRecordView,
worldView,
divider2,
inquireView,
noticeView,
termAndPolicyView,
accountView
featuresView
)
nameView.addSubview(moveButton)
}
Expand Down Expand Up @@ -95,21 +77,9 @@ final class MyPageView: BaseView {
$0.top.equalTo(worldView.snp.bottom).offset(8.adjustedH)
$0.horizontalEdges.equalToSuperview().inset(24.adjustedW)
}
inquireView.snp.makeConstraints {
featuresView.snp.makeConstraints {
$0.top.equalTo(divider2.snp.bottom).offset(8.adjustedH)
$0.horizontalEdges.equalToSuperview()
}
noticeView.snp.makeConstraints {
$0.top.equalTo(inquireView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
}
termAndPolicyView.snp.makeConstraints {
$0.top.equalTo(noticeView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
}
accountView.snp.makeConstraints {
$0.top.equalTo(termAndPolicyView.snp.bottom)
$0.horizontalEdges.equalToSuperview()
$0.bottom.equalToSuperview().inset(24.5.adjustedH)
}
}
Expand Down
Loading
Loading