From c6a0155daeb16c47a7e377c1c4aa6ccb15f516aa Mon Sep 17 00:00:00 2001 From: heoseungjun Date: Tue, 30 Dec 2025 10:28:18 +0900 Subject: [PATCH 1/5] =?UTF-8?q?refactor:=20#91=20=EB=B9=84=EC=8A=B7?= =?UTF-8?q?=ED=95=9C=20=EA=B8=B0=EB=8A=A5=EC=9D=84=20=ED=95=98=EB=8A=94=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=ED=95=A9=EC=B9=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updatePlaceHolder 메서드의 기능을 updateTaskField 메서드로 병합 --- .../Feature/Home/View/UserScenarioModalView.swift | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/BeforeGoing/Presentation/Feature/Home/View/UserScenarioModalView.swift b/BeforeGoing/Presentation/Feature/Home/View/UserScenarioModalView.swift index 177e077..924fdd5 100644 --- a/BeforeGoing/Presentation/Feature/Home/View/UserScenarioModalView.swift +++ b/BeforeGoing/Presentation/Feature/Home/View/UserScenarioModalView.swift @@ -140,13 +140,12 @@ extension UserScenarioModalView { taskTextField.text = completeText } - func updatePlaceHolder(text: String) { - taskTextField.placeholder = text - } - - func updateTaskField(isEnable: Bool) { - taskTextField.currentType = isEnable ? .enableAddField : .disableAddField - taskTextField.isEnabled = isEnable + func updateTaskField(isEnabled: Bool, text: String) { + taskTextField.do { + $0.currentType = isEnabled ? .enableAddField : .disableAddField + $0.isEnabled = isEnabled + $0.placeholder = text + } } func enableAddTaskButton() { From 71f16ac6636a76cddfd49b712f5f1a30aefa635e Mon Sep 17 00:00:00 2001 From: heoseungjun Date: Tue, 30 Dec 2025 10:29:12 +0900 Subject: [PATCH 2/5] =?UTF-8?q?refactor:=20#91=20=EB=A9=94=EC=84=9C?= =?UTF-8?q?=EB=93=9C=EB=AA=85=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updatePlaceHolderByDate -> updateTaskByDate --- .../ViewController/HomeViewController.swift | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift b/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift index d91eea0..5f80dc0 100644 --- a/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift +++ b/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift @@ -62,6 +62,7 @@ final class HomeViewController: BaseViewController { override func setAction() { setGesture() + rootView.headerView.viewCalendarButton.addTarget( self, action: #selector(viewCalendarButtonDidTap), @@ -115,8 +116,10 @@ final class HomeViewController: BaseViewController { } self.homeDate = result.date rootView.headerView.updateDateUI(date: result.date) - rootView.modalView.updatePlaceHolder(text: "\(monthAndDay)의 미션을 추가해요") - rootView.modalView.updateTaskField(isEnable: true) + rootView.modalView.updateTaskField( + isEnabled: true, + text: "\(monthAndDay)의 미션을 추가해요" + ) } catch (let error) { self.handleError(error) BeforeGoingLogger.error(error) @@ -424,7 +427,7 @@ extension HomeViewController: ToastPresentable { ) { self.homeDate = dateString updateHeaderDate(date: dateString) - updatePlaceHolderByDate( + updateTaskByDate( date: date, currentDate: currentDate, monthAndDay: monthAndDay @@ -457,22 +460,22 @@ extension HomeViewController: ToastPresentable { self.rootView.headerView.updateDateUI(date: date) } - private func updatePlaceHolderByDate( + private func updateTaskByDate( date: Date, currentDate: Date, monthAndDay: String ) { if date >= currentDate { - self.rootView.modalView.do { - $0.updatePlaceHolder(text: "\(monthAndDay)의 미션을 추가해요") - $0.updateTaskField(isEnable: true) - } + self.rootView.modalView.updateTaskField( + isEnabled: true, + text: "\(monthAndDay)의 미션을 추가해요" + ) return } - self.rootView.modalView.do { - $0.updatePlaceHolder(text: "지난 날짜의 리스트는 추가할 수 없어요") - $0.updateTaskField(isEnable: false) - } + self.rootView.modalView.updateTaskField( + isEnabled: false, + text: "지난 날짜의 리스트는 추가할 수 없어요" + ) } private func moveScenarioTab() -> BottomNavigationViewController? { From 93e4bbda5cad08a9c7ed915998830afb94ebf5c2 Mon Sep 17 00:00:00 2001 From: heoseungjun Date: Tue, 30 Dec 2025 10:29:44 +0900 Subject: [PATCH 3/5] =?UTF-8?q?refactor:=20#91=20=EC=8B=9C=EB=82=98?= =?UTF-8?q?=EB=A6=AC=EC=98=A4=20=EA=B0=80=EC=A0=B8=EC=98=A4=EA=B8=B0,=20?= =?UTF-8?q?=EB=82=A0=EC=94=A8=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8?= =?UTF-8?q?=EB=A5=BC=20viewDidLoad=EC=97=90=EC=84=9C=20=EC=88=98=ED=96=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Home/ViewController/HomeViewController.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift b/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift index 5f80dc0..30ac3a3 100644 --- a/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift +++ b/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift @@ -40,19 +40,19 @@ final class HomeViewController: BaseViewController { override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) - let currentDate = DateUtil.getCurrentDate() - let currentDateString = DateUtil.getCurrentDate(format: "yyyy-MM-dd") - - getScenarios(currentDate: currentDateString) checkLoactionAuthorization() - updateWeatherInformation(date: currentDate) } override func viewDidLoad() { super.viewDidLoad() + let currentDate = DateUtil.getCurrentDate() + let currentDateString = DateUtil.getCurrentDate(format: "yyyy-MM-dd") + setLocationManager() requestDate() + getScenarios(currentDate: currentDateString) + updateWeatherInformation(date: currentDate) } override func touchesBegan(_ touches: Set, with event: UIEvent?) { From a7b3d86acbfbed39fd8d8385a5d0761b1cd7baac Mon Sep 17 00:00:00 2001 From: heoseungjun Date: Tue, 30 Dec 2025 10:43:33 +0900 Subject: [PATCH 4/5] =?UTF-8?q?refactor:=20#91=20=ED=99=88=20=EB=A7=90?= =?UTF-8?q?=ED=92=8D=EC=84=A0=20=EB=B7=B0=20=EC=96=91=EC=AA=BD=20=EB=A7=88?= =?UTF-8?q?=EC=A7=84=20=EC=A1=B0=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Presentation/Feature/Home/View/HomeHeaderView.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/BeforeGoing/Presentation/Feature/Home/View/HomeHeaderView.swift b/BeforeGoing/Presentation/Feature/Home/View/HomeHeaderView.swift index 2bddbec..526e600 100644 --- a/BeforeGoing/Presentation/Feature/Home/View/HomeHeaderView.swift +++ b/BeforeGoing/Presentation/Feature/Home/View/HomeHeaderView.swift @@ -115,12 +115,11 @@ final class HomeHeaderView: BaseView { } bubbleView.snp.makeConstraints { $0.top.equalTo(dateStackView.snp.bottom).offset(16.adjustedH) - $0.leading.greaterThanOrEqualToSuperview().inset(20.adjustedW) - $0.trailing.lessThanOrEqualToSuperview().inset(20.adjustedW) + $0.leading.greaterThanOrEqualToSuperview().inset(5.adjustedW) + $0.trailing.lessThanOrEqualToSuperview().inset(5.adjustedW) $0.centerX.equalToSuperview() $0.height.equalTo(62.adjustedH) } - wordLabel.snp.makeConstraints { $0.edges.equalToSuperview().inset( UIEdgeInsets(top: 8, left: 25, bottom: 8, right: 25) From e2843a053874cd69f0284315ceca7fb8ae80a5df Mon Sep 17 00:00:00 2001 From: heoseungjun Date: Tue, 30 Dec 2025 11:11:28 +0900 Subject: [PATCH 5/5] =?UTF-8?q?refactor:=20#91=20=EC=82=AC=EC=9A=A9?= =?UTF-8?q?=EC=9E=90=EA=B0=80=20=EC=84=A0=ED=83=9D=ED=95=9C=20=EB=82=A0?= =?UTF-8?q?=EC=A7=9C=EB=A5=BC=20=EA=B8=B0=EC=A4=80=EC=9C=BC=EB=A1=9C=20?= =?UTF-8?q?=EC=8B=9C=EB=82=98=EB=A6=AC=EC=98=A4=EB=A5=BC=20=EA=B0=80?= =?UTF-8?q?=EC=A0=B8=EC=98=A4=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Calendar/CalendarViewController.swift | 2 +- .../ViewController/HomeViewController.swift | 32 +++++++++---------- BeforeGoing/Presentation/Util/DateUtil.swift | 6 +++- 3 files changed, 22 insertions(+), 18 deletions(-) diff --git a/BeforeGoing/Presentation/Common/Calendar/CalendarViewController.swift b/BeforeGoing/Presentation/Common/Calendar/CalendarViewController.swift index 28f138f..6339ed1 100644 --- a/BeforeGoing/Presentation/Common/Calendar/CalendarViewController.swift +++ b/BeforeGoing/Presentation/Common/Calendar/CalendarViewController.swift @@ -26,7 +26,7 @@ final class CalendarViewController: BaseViewController { } return date } - private lazy var selectedDate = currentDate + lazy var selectedDate = currentDate private var selectableStartDate: Date? private var selectableEndDate: Date? private let formatter: DateFormatter = { diff --git a/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift b/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift index 30ac3a3..dae8243 100644 --- a/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift +++ b/BeforeGoing/Presentation/Feature/Home/ViewController/HomeViewController.swift @@ -12,6 +12,7 @@ import UIKit final class HomeViewController: BaseViewController { private let rootView = HomeView() + private let calendarViewController = CalendarViewController() private let homeViewModel: HomeViewModel private let getScenariosViewModel: GetAllScenariosViewModel private let locationManager = CLLocationManager() @@ -40,19 +41,19 @@ final class HomeViewController: BaseViewController { override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) + let selectedDate = calendarViewController.selectedDate + let dateString = DateUtil.toAPIDateString(date: selectedDate) + + getScenarios(currentDate: dateString) checkLoactionAuthorization() } override func viewDidLoad() { super.viewDidLoad() - - let currentDate = DateUtil.getCurrentDate() - let currentDateString = DateUtil.getCurrentDate(format: "yyyy-MM-dd") - + setLocationManager() requestDate() - getScenarios(currentDate: currentDateString) - updateWeatherInformation(date: currentDate) + updateWeatherInformation(date: DateUtil.getCurrentDate()) } override func touchesBegan(_ touches: Set, with event: UIEvent?) { @@ -270,13 +271,12 @@ extension HomeViewController: ToastPresentable { @objc private func viewCalendarButtonDidTap() { - let calendar = CalendarViewController() - calendar.modalPresentationStyle = .overFullScreen + calendarViewController.modalPresentationStyle = .overFullScreen - initSelectedDate(calendar: calendar) + initSelectedDate(calendarViewController: calendarViewController) - calendar.onDayDidTap = { [weak self] date in - let dateString = DateUtil.toString(date: date) + calendarViewController.onDayDidTap = { [weak self] date in + let dateString = DateUtil.toHomeDateString(date: date) let currentDate = DateUtil.getCurrentDate() guard let self = self, @@ -293,7 +293,7 @@ extension HomeViewController: ToastPresentable { updateWeatherInformation(date: date) } - calendar.onDismiss = { [weak self] in + calendarViewController.onDismiss = { [weak self] in guard let homeDate = self?.homeDate, let date = DateUtil.convertDateFormat(dateString: homeDate) else { return @@ -301,7 +301,7 @@ extension HomeViewController: ToastPresentable { self?.getScenarios(currentDate: date) } - self.present(calendar, animated: true) + self.present(calendarViewController, animated: true) } @objc @@ -410,12 +410,12 @@ extension HomeViewController: ToastPresentable { pushManageScenario(navigationController: navigationController) } - private func initSelectedDate(calendar: CalendarViewController) { + private func initSelectedDate(calendarViewController: CalendarViewController) { if let homeDateString = self.homeDate, let date = DateUtil.toDate(dateString: homeDateString) { - calendar.initialSelectedDate = date + calendarViewController.initialSelectedDate = date } else { - calendar.initialSelectedDate = DateUtil.getCurrentDate() + calendarViewController.initialSelectedDate = DateUtil.getCurrentDate() } } diff --git a/BeforeGoing/Presentation/Util/DateUtil.swift b/BeforeGoing/Presentation/Util/DateUtil.swift index 0a9ff82..b56b44a 100644 --- a/BeforeGoing/Presentation/Util/DateUtil.swift +++ b/BeforeGoing/Presentation/Util/DateUtil.swift @@ -64,10 +64,14 @@ struct DateUtil { return dateFormatter.string(from: date) } - static func toString(date: Date) -> String { + static func toHomeDateString(date: Date) -> String { return homeDateformatter.string(from: date) } + static func toAPIDateString(date: Date) -> String { + return apiDateFormatter.string(from: date) + } + static func toDate(dateString: String) -> Date? { return homeDateformatter.date(from: dateString) }