Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
490f414
style: #365 아카이브 뷰 수정사항 반영
y-eonee Feb 21, 2026
e2bdc55
style: #365 퀘스트 완료 모달 UI
y-eonee Feb 21, 2026
1d9c77b
feat: #365 2초 뒤 모달 사라짐을 위한 dismiss 함수 추가
y-eonee Feb 21, 2026
af16e4c
style: #365 icononelinetextView 삭제
y-eonee Feb 21, 2026
f9bd1c7
chore: #365 리팩토링 이후 더이상 사용되지 않는 파일 삭제
y-eonee Feb 21, 2026
4aa3cf6
chore: #365 WrtieQuest 폴더를 Quest 폴더에 통합
y-eonee Feb 21, 2026
88e8a4f
feat: #365 아카이브 진입점에 퀘스트 작성화면 추가
y-eonee Feb 21, 2026
9518f9a
feat: #365 아카이브 진입점 별 네비게이션바 분기처리
y-eonee Feb 21, 2026
741e39a
fix: #365 색깔 적용 제대로 안되는 것 수정
y-eonee Feb 22, 2026
8c60619
chore: #365 경고 제거를 위한 guard let 추가
y-eonee Feb 22, 2026
81ad52e
style: #365 퀘스트 텍스트필드 변경사항 반영 및 동적 높이 적용
y-eonee Feb 22, 2026
8c7de8a
refactor: #365 변수명 변경 및 applyTextViewStyle 함수 추가
y-eonee Feb 22, 2026
8498c4b
chore: #365 버튼 추가해둔거 삭제
y-eonee Feb 22, 2026
ca90347
feat: #365 네비게이션바에 텍스트버튼이 있는 case 추가
y-eonee Feb 22, 2026
2bd3cd3
style: #365 텍스트 폰트 수정
y-eonee Feb 22, 2026
870f430
refactor: #365 퀘스트 타입에 따른 컴포넌트 분기처리
y-eonee Feb 22, 2026
17254fc
style: #365 나의 여정 퀘스트 UI 변경사항 반영
y-eonee Feb 22, 2026
642a7d1
refactor: #365 기존 버튼 업데이트 함수를 네비게이션 item에서 할 수 있도록 변경
y-eonee Feb 22, 2026
7e653f3
feat: #365 텍스트필드 키보드 대응
y-eonee Feb 22, 2026
ecaecee
chore: #365 base line 삭제
y-eonee Feb 22, 2026
6e87096
chore: #365 텍스트필드 자잘한 수정
y-eonee Feb 22, 2026
d23ef34
feat: #365 quest scope 분리
y-eonee Feb 22, 2026
8c5b46e
refactor: #365 필요없는 파라미터 삭제
y-eonee Feb 22, 2026
0d04795
refactor: #365 변수명 변경 및 animate 함수 수정
y-eonee Feb 22, 2026
dc1ee8b
fix: #365 충돌 해결
y-eonee Feb 24, 2026
ba6cd53
style: #365 질문형 퀘스트 스크롤뷰로 변경
y-eonee Feb 24, 2026
a6cfc70
chore: #365 주석 제거
y-eonee Feb 24, 2026
29deae2
refactor: #365 WriteQuestBaseVC 상속으로 리팩토링
y-eonee Feb 24, 2026
7ef2225
refactor: #365 키보드 로직 함수 분리
y-eonee Feb 24, 2026
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
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,8 @@ struct ModalBuilder {
modalViewController.modalPresentationStyle = .overFullScreen
rootViewController.present(modalViewController, animated: false)
}

func dismiss() {
modalViewController.dismiss(animated: false)
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
//
// CongratSqusre.swift
// QuestCompleteModal.swift
// ByeBoo-iOS
//
// Created by 이나연 on 7/10/25.
// Created by 이나연 on 2/22/26.
//

import UIKit
Expand All @@ -11,7 +11,7 @@ import Lottie
import SnapKit
import Then

final class CongratSquare: BaseView {
final class QuestCompleteModal: BaseView {
private let titleLabel = UILabel()
private let imageLottie = LottieAnimationView(name: "bori_congrate")
private let descriptionLabel = UILabel()
Expand All @@ -23,20 +23,21 @@ final class CongratSquare: BaseView {
override func setStyle() {
self.do {
$0.layer.cornerRadius = 12
$0.backgroundColor = .white5
$0.backgroundColor = .grayscale900
}

titleLabel.do {
$0.attributedText = "QUEST\nCOMPLETE!".makeTitle(
rangedText: "QUEST",
originalTitleColor: .primary100
)
$0.applyByeBooFont(
style: .head1M24,
color: .primary100,
textAlignment: .center,
numberOfLines: 2
)

$0.attributedText = "QUEST\nCOMPLETE!".makeTitle(
rangedText: "QUEST",
originalTitleColor: .primary100
)
}

imageLottie.do {
Expand All @@ -57,13 +58,12 @@ final class CongratSquare: BaseView {
override func setLayout() {
self.snp.makeConstraints {
$0.width.equalTo(325.adjustedW)
$0.height.equalTo(365.adjustedH)
$0.height.equalTo(371.adjustedH)
}

titleLabel.snp.makeConstraints {
$0.top.equalToSuperview().inset(24.adjustedH)
$0.leading.trailing.equalToSuperview().inset(61.adjustedH)
$0.width.equalTo(203.adjustedW)
$0.centerX.equalToSuperview()
}

imageLottie.snp.makeConstraints {
Expand All @@ -75,7 +75,7 @@ final class CongratSquare: BaseView {

descriptionLabel.snp.makeConstraints {
$0.top.equalTo(imageLottie.snp.bottom).offset(16.adjustedH)
$0.leading.trailing.equalToSuperview().inset(61.adjustedH)
$0.centerX.equalToSuperview()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ enum NavigationBarType: Equatable {
case titleAndClose(String, header: NavigationHeaderType = .clear)
case titleAndBack(String, header: NavigationHeaderType = .clear)
case editAndClose(header: NavigationHeaderType = .clear)
case confirmAndBack(String, header: NavigationHeaderType = .clear)
case none(header: NavigationHeaderType = .clear)
}

Expand Down Expand Up @@ -76,7 +77,8 @@ struct ByeBooNavigationBar {
.title(_, let header),
.titleAndClose(_, let header),
.editAndClose(let header),
.titleAndBack(_, let header):
.titleAndBack(_, let header),
.confirmAndBack(_, let header):
headerType = header
}
return headerType
Expand All @@ -96,6 +98,16 @@ struct ByeBooNavigationBar {
.font: FontManager.sub1Sb20.font,
.foregroundColor: UIColor.white
]

$0.buttonAppearance.normal.titleTextAttributes = [
.font: FontManager.body2M16.font,
.foregroundColor: UIColor.primary300
]

$0.buttonAppearance.disabled.titleTextAttributes = [
.font: FontManager.body2M16.font,
.foregroundColor: UIColor.grayscale600
]
}
return barAppearance
}
Expand Down Expand Up @@ -158,6 +170,19 @@ struct ByeBooNavigationBar {
navigationItem: navigationItem,
action: action
)
case .confirmAndBack:
let backButtonItem = makeBarButtonItem(
image: .left.withTintColor(.white),
target: topViewController,
action: action
)
let confirmButtonItem = makeBarButtonItem(
title: "완료",
target: topViewController,
action: secondAction
)
navigationItem.leftBarButtonItem = backButtonItem
navigationItem.rightBarButtonItem = confirmButtonItem
case .none:
let emptyItem = makeBarButtonItem(
image: UIImage(),
Expand All @@ -179,18 +204,37 @@ struct ByeBooNavigationBar {
}

private static func makeBarButtonItem(
image: UIImage,
image: UIImage? = nil,
title: String? = nil,
target: BaseViewController,
action: Selector?
) -> UIBarButtonItem {
if let image {
return UIBarButtonItem(
image: image.withTintColor(.white).withRenderingMode(.alwaysOriginal),
style: .plain,
target: target,
action: action
)
}

if let title {
return UIBarButtonItem(
title: title,
style: .plain,
target: target,
action: action
)
}

return UIBarButtonItem(
image: image.withTintColor(.white).withRenderingMode(.alwaysOriginal),
title: "기본",
style: .plain,
target: target,
action: action
)
}

private static func makeCloseButtonItem(
image: UIImage,
target: BaseViewController,
Expand Down
13 changes: 13 additions & 0 deletions ByeBoo-iOS/ByeBoo-iOS/Presentation/Enum/QuestScope.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
//
// QuestScope.swift
// ByeBoo-iOS
//
// Created by 이나연 on 2/23/26.
//

import Foundation

enum QuestScope {
case common
case personal
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ extension UITextView {
var attributes: [NSAttributedString.Key: Any] = [
.font: style.font,
.paragraphStyle: paragraphStyle,
.baselineOffset: (style.lineHeight - style.font.lineHeight) / 2,
.kern: style.kern
]

Expand Down

This file was deleted.

Loading
Loading