From b68b39ec1e395c6c633cc163a28cabc05e8aab48 Mon Sep 17 00:00:00 2001 From: yungu0010 Date: Fri, 16 Feb 2024 14:26:48 +0900 Subject: [PATCH 1/4] =?UTF-8?q?[Feat]=20#231=20-=206=EC=B0=A8=20=EC=8A=A4?= =?UTF-8?q?=ED=94=84=EB=A6=B0=ED=8A=B8=20=EB=B2=84=EC=A0=84=20=EC=97=85?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=8A=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj b/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj index e30e510b..5999c53f 100644 --- a/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj +++ b/iOS-NOTTODO/iOS-NOTTODO.xcodeproj/project.pbxproj @@ -46,8 +46,8 @@ 09A1465F2A192C4900DDC308 /* WeekMissionResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09A1465E2A192C4900DDC308 /* WeekMissionResponseDTO.swift */; }; 09A146652A1964B500DDC308 /* AddAnotherDayResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09A146642A19649A00DDC308 /* AddAnotherDayResponseDTO.swift */; }; 09C8602D2AB14B4800C4F4B1 /* FSCalendar in Frameworks */ = {isa = PBXBuildFile; productRef = 09C8602C2AB14B4800C4F4B1 /* FSCalendar */; }; - 09CF56042B09F23800526C8C /* HomeDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09CF56032B09F23800526C8C /* HomeDataSource.swift */; }; 09CF56022B09E98A00526C8C /* DetailAchieveHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09CF56012B09E98A00526C8C /* DetailAchieveHeaderView.swift */; }; + 09CF56042B09F23800526C8C /* HomeDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09CF56032B09F23800526C8C /* HomeDataSource.swift */; }; 09DCCD1F2A18ED76003DCF8A /* DailyMissionResponseDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DCCD1E2A18ED76003DCF8A /* DailyMissionResponseDTO.swift */; }; 09DCCD212A18EF43003DCF8A /* HomeSevice.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DCCD202A18EF43003DCF8A /* HomeSevice.swift */; }; 09DCCD232A18EFB0003DCF8A /* HomeAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09DCCD222A18EFB0003DCF8A /* HomeAPI.swift */; }; @@ -212,8 +212,8 @@ 099FC98829B3233D005B37E6 /* CalendarView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CalendarView.swift; sourceTree = ""; }; 09A1465E2A192C4900DDC308 /* WeekMissionResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeekMissionResponseDTO.swift; sourceTree = ""; }; 09A146642A19649A00DDC308 /* AddAnotherDayResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AddAnotherDayResponseDTO.swift; sourceTree = ""; }; - 09CF56032B09F23800526C8C /* HomeDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeDataSource.swift; sourceTree = ""; }; 09CF56012B09E98A00526C8C /* DetailAchieveHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailAchieveHeaderView.swift; sourceTree = ""; }; + 09CF56032B09F23800526C8C /* HomeDataSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeDataSource.swift; sourceTree = ""; }; 09DCCD1E2A18ED76003DCF8A /* DailyMissionResponseDTO.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DailyMissionResponseDTO.swift; sourceTree = ""; }; 09DCCD202A18EF43003DCF8A /* HomeSevice.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeSevice.swift; sourceTree = ""; }; 09DCCD222A18EFB0003DCF8A /* HomeAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HomeAPI.swift; sourceTree = ""; }; @@ -1587,7 +1587,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = CQJ9UKUU35; GENERATE_INFOPLIST_FILE = YES; @@ -1602,7 +1602,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.2; + MARKETING_VERSION = 1.0.3; PRODUCT_BUNDLE_IDENTIFIER = "nottodo.iOS-NOTTODO"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1625,7 +1625,7 @@ CODE_SIGN_IDENTITY = "Apple Development"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 1; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = CQJ9UKUU35; GENERATE_INFOPLIST_FILE = YES; @@ -1640,7 +1640,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 1.0.2; + MARKETING_VERSION = 1.0.3; PRODUCT_BUNDLE_IDENTIFIER = "nottodo.iOS-NOTTODO"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1846,4 +1846,4 @@ /* End XCSwiftPackageProductDependency section */ }; rootObject = 3B027A6C299C31B500BEB65C /* Project object */; -} \ No newline at end of file +} From bf77ae648927edcbdebecb088a2540b90f7da773 Mon Sep 17 00:00:00 2001 From: yungu0010 Date: Fri, 16 Feb 2024 14:27:27 +0900 Subject: [PATCH 2/4] =?UTF-8?q?[Add]=20#231=20-=20=EA=B3=B5=ED=86=B5=20?= =?UTF-8?q?=EB=AA=A8=EB=8B=AC=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Global/Extensions/Design/UIImage+.swift | 3 ++- .../modal/img_openchat.imageset/Contents.json | 23 ++++++++++++++++++ .../img_openchat.imageset/img_open_chat.png | Bin 0 -> 10094 bytes .../img_open_chat@2x.png | Bin 0 -> 21546 bytes .../img_open_chat@3x.png | Bin 0 -> 33679 bytes .../img_starbucks.imageset}/Contents.json | 0 .../icon_starbucks.svg | 0 7 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/Contents.json create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat.png create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat@2x.png create mode 100644 iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat@3x.png rename iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/{IC/ic_starbucks.imageset => modal/img_starbucks.imageset}/Contents.json (100%) rename iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/{IC/ic_starbucks.imageset => modal/img_starbucks.imageset}/icon_starbucks.svg (100%) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift index dcaec932..46b4f33f 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/Design/UIImage+.swift @@ -60,13 +60,14 @@ extension UIImage { static var icToastError: UIImage { UIImage(named: "ic_toast_error")! } static var icBell: UIImage { UIImage(named: "ic_bell")! } static var icCircle: UIImage { UIImage(named: "acceptCircle")! } - static var icStarbucks: UIImage { UIImage(named: "ic_starbucks")! } // image static var imgCreateTip: UIImage { UIImage(named: "img_create_tip")! } static var imgUser: UIImage { UIImage(named: "img_myinfouser")! } static var imgTotal: UIImage { UIImage(named: "img_total")! } + static var imgStarbucks: UIImage { UIImage(named: "img_starbucks")! } + static var imgOpenChat: UIImage { UIImage(named: "img_openchat")! } // recommend diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/Contents.json b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/Contents.json new file mode 100644 index 00000000..01f6a12c --- /dev/null +++ b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "img_open_chat.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "img_open_chat@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "img_open_chat@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat.png new file mode 100644 index 0000000000000000000000000000000000000000..73988022f7d0b7654d0b6afec51e88c0774862ef GIT binary patch literal 10094 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 Q+v5Nwd3CuG8S|k31FxtM+5i9m literal 0 HcmV?d00001 diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat@2x.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..0692a6fbe32d43b510484c3107580724efa611a8 GIT binary patch literal 21546 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 literal 0 HcmV?d00001 diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat@3x.png b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_openchat.imageset/img_open_chat@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..851642944c2ce88a3ff28665ead77ebe5184eebd GIT binary patch literal 33679 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 M+*8@g$L1mb4PyY=82|tP literal 0 HcmV?d00001 diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_starbucks.imageset/Contents.json b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_starbucks.imageset/Contents.json similarity index 100% rename from iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_starbucks.imageset/Contents.json rename to iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_starbucks.imageset/Contents.json diff --git a/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_starbucks.imageset/icon_starbucks.svg b/iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_starbucks.imageset/icon_starbucks.svg similarity index 100% rename from iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/IC/ic_starbucks.imageset/icon_starbucks.svg rename to iOS-NOTTODO/iOS-NOTTODO/Resource/Assets/Assets.xcassets/modal/img_starbucks.imageset/icon_starbucks.svg From 682b521526f07756a302ba22274e273b1162eff4 Mon Sep 17 00:00:00 2001 From: yungu0010 Date: Fri, 16 Feb 2024 14:28:30 +0900 Subject: [PATCH 3/4] =?UTF-8?q?[Feat]=20#231=20-=20=ED=8A=B9=EC=A0=95=20?= =?UTF-8?q?=EA=B8=80=EC=9E=90=EB=A7=8C=20highlight=20=ED=95=B4=EC=A3=BC?= =?UTF-8?q?=EB=8A=94=20func=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Global/Extensions/UILabel+.swift | 41 ++++++++++++------- 1 file changed, 26 insertions(+), 15 deletions(-) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UILabel+.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UILabel+.swift index b106ab22..7a1c0122 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UILabel+.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Extensions/UILabel+.swift @@ -61,21 +61,7 @@ extension UILabel { self.attributedText = attributedString } - func htmlToString(_ targetString: String) -> NSAttributedString? { - let text = targetString - - guard let data = text.data(using: .utf8) else { - return NSAttributedString() - } - do { - return try NSAttributedString(data: data, - options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue], - documentAttributes: nil) - } catch { - return NSAttributedString() - } - } - + /// 라벨 일부 textColor와 font 변경해주는 함수 func setAttributedText(targetFontList: [String: UIFont], targetColorList: [String: UIColor]) { let fullText = self.text ?? "" @@ -91,4 +77,29 @@ extension UILabel { } self.attributedText = attributedString } + + /// 라벨에 highlight를 칠해주는 함수 + func partHighlightText(targetString: String, targetHighlightColor: UIColor) { + guard let fullText = self.text else { return } + let range = (fullText as NSString).range(of: targetString) + let attributedString = NSMutableAttributedString(string: fullText) + attributedString.addAttribute(.backgroundColor, value: targetHighlightColor, range: range) + self.attributedText = attributedString + } + + /// html을 string으로 변경해주는 함수 + func htmlToString(_ targetString: String) -> NSAttributedString? { + let text = targetString + + guard let data = text.data(using: .utf8) else { + return NSAttributedString() + } + do { + return try NSAttributedString(data: data, + options: [.documentType: NSAttributedString.DocumentType.html, .characterEncoding: String.Encoding.utf8.rawValue], + documentAttributes: nil) + } catch { + return NSAttributedString() + } + } } From 63e9e493d6dbcc335ec44ac611d95dd43022ac6d Mon Sep 17 00:00:00 2001 From: yungu0010 Date: Fri, 16 Feb 2024 14:28:47 +0900 Subject: [PATCH 4/4] =?UTF-8?q?[Feat]=20#231=20-=20=EA=B3=B5=ED=86=B5=20?= =?UTF-8?q?=EC=95=8C=EB=A6=BC=20=EB=AA=A8=EB=8B=AC=20=EC=BB=A8=ED=85=90?= =?UTF-8?q?=EC=B8=A0=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iOS-NOTTODO/Global/Enum/MyInfoURL.swift | 6 +- .../iOS-NOTTODO/Global/Literals/Strings.swift | 2 +- .../CommonNotificationViewController.swift | 86 +++++++++++-------- .../Modal/NottodoModalViewController.swift | 2 +- 4 files changed, 54 insertions(+), 42 deletions(-) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Enum/MyInfoURL.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Enum/MyInfoURL.swift index b8b554f4..6149ebdf 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Enum/MyInfoURL.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Enum/MyInfoURL.swift @@ -10,7 +10,7 @@ import Foundation import SafariServices enum MyInfoURL { - case guid, faq, notice, question, service, personalInfo, googleForm + case guid, faq, notice, question, service, personalInfo, commonAlarmModal var url: String { switch self { case .guid: @@ -25,8 +25,8 @@ enum MyInfoURL { return "https://teamnottodo.notion.site/81594da775614d23900cdb2475eadb73?pvs=4" case .personalInfo: return "https://teamnottodo.notion.site/5af34df7da3649fc941312c5f533c1eb" - case .googleForm: - return "https://forms.gle/gwBJ4hL4bCTjXRTP6" + case .commonAlarmModal: + return "https://open.kakao.com/o/gbrW727f" } } diff --git a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift index f4c002ef..fd14969b 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Global/Literals/Strings.swift @@ -187,7 +187,7 @@ struct I18N { static let allow = "허용" static let notiDialogButton = "네, 알겠어요 :)" - static let formButton = "이정도야 쉽지!" + static let commonModalTitle = "지금 바로 참여하기" static let deprecatedTitle = "더 이상 보지 않기" static let close = "닫기" diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/CommonNotificationViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/CommonNotificationViewController.swift index 211c4963..a158d0dd 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/CommonNotificationViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/CommonNotificationViewController.swift @@ -22,12 +22,14 @@ final class CommonNotificationViewController: UIViewController { private let backgroundView = UIView() private let titleLabel = UILabel() private let subTitleLabel = UILabel() + private let highlightView = UIView() private let icon = UIImageView() private let deprecatedTitle = UILabel() private let bottomView = UIView() - private lazy var formButton = UIButton() - private lazy var closeButton = UIButton() - private lazy var deprecatedButton = UIButton() + private let blackButton = UIButton() + private let greenButton = UIButton() + private let closeButton = UIButton() + private let deprecatedButton = UIButton() // MARK: - View Life Cycle @@ -47,14 +49,15 @@ extension CommonNotificationViewController { backgroundView.do { $0.backgroundColor = .white - $0.layer.cornerRadius = 15 + $0.layer.cornerRadius = 20 } titleLabel.do { - $0.font = .Pretendard(.bold, size: 18) - $0.textAlignment = .center - $0.text = "1분 서비스 피드백하고 \n기프티콘 받아가세요!" - $0.numberOfLines = 2 + $0.font = .Pretendard(.semiBold, size: 22) + $0.textAlignment = .left + $0.text = "오픈채팅으로\n일일 인증 하고\n갓생살자!" + $0.numberOfLines = 0 + $0.partHighlightText(targetString: "일일 인증", targetHighlightColor: .green2 ?? .black) } subTitleLabel.do { @@ -63,32 +66,45 @@ extension CommonNotificationViewController { $0.text = "매주 추첨을 통해 스타벅스 기프티콘을 드려요" } + highlightView.do { + $0.backgroundColor = .green2 + } + deprecatedTitle.do { - $0.font = .Pretendard(.medium, size: 13) + $0.font = .Pretendard(.semiBold, size: 15) $0.text = I18N.deprecatedTitle $0.textColor = .gray3 } icon.do { $0.contentMode = .scaleAspectFit - $0.image = .icStarbucks + $0.image = .imgOpenChat } bottomView.do { $0.backgroundColor = .gray5 $0.layer.maskedCorners = [.layerMinXMaxYCorner, .layerMaxXMaxYCorner] - $0.layer.cornerRadius = 15 + $0.layer.cornerRadius = 20 } - formButton.do { + blackButton.do { $0.backgroundColor = .black - $0.setTitle(I18N.formButton, for: .normal) + $0.setTitle(I18N.commonModalTitle, for: .normal) $0.setTitleColor(.white, for: .normal) $0.titleLabel?.font = .Pretendard(.medium, size: 13) $0.layer.cornerRadius = 20 $0.addTarget(self, action: #selector(didFormButtonTap), for: .touchUpInside) } + greenButton.do { + $0.backgroundColor = .green2 + $0.setTitle(I18N.commonModalTitle, for: .normal) + $0.setTitleColor(.ntdBlack, for: .normal) + $0.titleLabel?.font = .Pretendard(.semiBold, size: 20) + $0.layer.cornerRadius = 8 + $0.addTarget(self, action: #selector(didFormButtonTap), for: .touchUpInside) + } + deprecatedButton.do { $0.setImage(.deprecatedCheckBox, for: .normal) $0.setImage(.deprecatedCheckBoxFill, for: .selected) @@ -97,8 +113,8 @@ extension CommonNotificationViewController { closeButton.do { $0.setTitle(I18N.close, for: .normal) - $0.setTitleColor(.gray3, for: .normal) - $0.titleLabel?.font = .Pretendard(.medium, size: 13) + $0.setTitleColor(.ntdBlack, for: .normal) + $0.titleLabel?.font = .Pretendard(.semiBold, size: 15) $0.addTarget(self, action: #selector(didCancelButtonTap), for: .touchUpInside) } } @@ -106,54 +122,50 @@ extension CommonNotificationViewController { private func setLayout() { view.addSubview(backgroundView) - backgroundView.addSubviews(titleLabel, subTitleLabel, icon, formButton, bottomView) + backgroundView.addSubviews(titleLabel, highlightView, icon, greenButton, bottomView) bottomView.addSubviews(deprecatedButton, deprecatedTitle, closeButton) backgroundView.snp.makeConstraints { - $0.horizontalEdges.equalToSuperview().inset(46) - $0.height.equalTo(408) + $0.width.equalTo(312) + $0.height.equalTo(459) $0.center.equalToSuperview() } - titleLabel.snp.makeConstraints { - $0.top.equalToSuperview().inset(28) - $0.centerX.equalToSuperview() - } - subTitleLabel.snp.makeConstraints { - $0.top.equalTo(titleLabel.snp.bottom).offset(6) - $0.centerX.equalToSuperview() + titleLabel.snp.makeConstraints { + $0.top.equalToSuperview().inset(30) + $0.leading.equalToSuperview().inset(32) } icon.snp.makeConstraints { - $0.top.equalTo(subTitleLabel.snp.bottom).offset(7) - $0.horizontalEdges.equalToSuperview().inset(16) - $0.height.equalTo(197) + $0.top.equalTo(titleLabel.snp.bottom).offset(4) + $0.horizontalEdges.equalToSuperview().inset(28) + $0.height.equalTo(201) } - formButton.snp.makeConstraints { - $0.top.equalTo(icon.snp.bottom).offset(4) - $0.horizontalEdges.equalToSuperview().inset(36) - $0.height.equalTo(40) + greenButton.snp.makeConstraints { + $0.top.equalTo(icon.snp.bottom).offset(7) + $0.horizontalEdges.equalToSuperview().inset(32) + $0.height.equalTo(52) } bottomView.snp.makeConstraints { $0.horizontalEdges.bottom.equalToSuperview() - $0.height.equalTo(50) + $0.height.equalTo(58) } deprecatedButton.snp.makeConstraints { $0.centerY.equalToSuperview() - $0.leading.equalToSuperview().inset(10) + $0.leading.equalToSuperview().inset(20) $0.size.equalTo(20) } deprecatedTitle.snp.makeConstraints { - $0.leading.equalTo(deprecatedButton.snp.trailing).offset(4) + $0.leading.equalTo(deprecatedButton.snp.trailing).offset(5) $0.centerY.equalToSuperview() } closeButton.snp.makeConstraints { - $0.trailing.equalToSuperview().inset(15) + $0.trailing.equalToSuperview().inset(33) $0.centerY.equalToSuperview() } } @@ -166,7 +178,7 @@ extension CommonNotificationViewController { @objc func didFormButtonTap() { - guard let url = URL(string: MyInfoURL.googleForm.url) else { return } + guard let url = URL(string: MyInfoURL.commonAlarmModal.url) else { return } let safariView: SFSafariViewController = SFSafariViewController(url: url) safariView.delegate = self self.present(safariView, animated: true, completion: nil) diff --git a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/NottodoModalViewController.swift b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/NottodoModalViewController.swift index 8ce4b0fd..dfab9ef6 100644 --- a/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/NottodoModalViewController.swift +++ b/iOS-NOTTODO/iOS-NOTTODO/Presentation/Common/Modal/NottodoModalViewController.swift @@ -33,7 +33,7 @@ final class NottodoModalViewController: UIViewController { private var modalView = UIView() private let withdrawView = WithdrawModalView() private let quitView = QuitModalView() - private lazy var safariViewController = SFSafariViewController(url: URL(string: MyInfoURL.googleForm.url)!) + private lazy var safariViewController = SFSafariViewController(url: URL(string: MyInfoURL.commonAlarmModal.url)!) // MARK: - Life Cycle