From 8924be94578c5b8c55a3d4450bbd2791d2603207 Mon Sep 17 00:00:00 2001 From: chopmozzi <44396392+chopmozzi@users.noreply.github.com> Date: Thu, 30 Nov 2023 13:33:46 +0900 Subject: [PATCH 1/6] =?UTF-8?q?:bento:=20SettingScene=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Setting이라고 해놓으면 뭔가 이상해서 Setting Scene이라고 이름 붙임 --- iOS/Layover/Layover.xcodeproj/project.pbxproj | 32 +++++++++++ .../SettingScene/SettingSceneInteractor.swift | 27 +++++++++ .../SettingScene/SettingSceneModels.swift | 24 ++++++++ .../SettingScene/SettingScenePresenter.swift | 22 +++++++ .../SettingScene/SettingSceneRouter.swift | 27 +++++++++ .../SettingSceneViewController.swift | 57 +++++++++++++++++++ .../SettingScene/SettingSceneWorker.swift | 19 +++++++ 7 files changed, 208 insertions(+) create mode 100644 iOS/Layover/Layover/Scenes/SettingScene/SettingSceneInteractor.swift create mode 100644 iOS/Layover/Layover/Scenes/SettingScene/SettingSceneModels.swift create mode 100644 iOS/Layover/Layover/Scenes/SettingScene/SettingScenePresenter.swift create mode 100644 iOS/Layover/Layover/Scenes/SettingScene/SettingSceneRouter.swift create mode 100644 iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift create mode 100644 iOS/Layover/Layover/Scenes/SettingScene/SettingSceneWorker.swift diff --git a/iOS/Layover/Layover.xcodeproj/project.pbxproj b/iOS/Layover/Layover.xcodeproj/project.pbxproj index 9e6f69e..40e6a0f 100644 --- a/iOS/Layover/Layover.xcodeproj/project.pbxproj +++ b/iOS/Layover/Layover.xcodeproj/project.pbxproj @@ -57,6 +57,12 @@ 835A61A22B068115002F22A5 /* PlaybackInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 835A619C2B068115002F22A5 /* PlaybackInteractor.swift */; }; 835A61A62B0B4DDD002F22A5 /* Dashboard-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 835A61A52B0B4DDD002F22A5 /* Dashboard-Regular.ttf */; }; 835A61A92B0B5A31002F22A5 /* LoginConfigurator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 835A61A82B0B5A31002F22A5 /* LoginConfigurator.swift */; }; + 836C33992B1843BE00ECAFB0 /* SettingScenePresenter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836C33932B1843BE00ECAFB0 /* SettingScenePresenter.swift */; }; + 836C339A2B1843BE00ECAFB0 /* SettingSceneWorker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836C33942B1843BE00ECAFB0 /* SettingSceneWorker.swift */; }; + 836C339B2B1843BE00ECAFB0 /* SettingSceneRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836C33952B1843BE00ECAFB0 /* SettingSceneRouter.swift */; }; + 836C339C2B1843BE00ECAFB0 /* SettingSceneModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836C33962B1843BE00ECAFB0 /* SettingSceneModels.swift */; }; + 836C339D2B1843BE00ECAFB0 /* SettingSceneViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836C33972B1843BE00ECAFB0 /* SettingSceneViewController.swift */; }; + 836C339E2B1843BE00ECAFB0 /* SettingSceneInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 836C33982B1843BE00ECAFB0 /* SettingSceneInteractor.swift */; }; 83C35E1B2B108C3500D8DD5C /* PlaybackView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C35E1A2B108C3500D8DD5C /* PlaybackView.swift */; }; 83C35E1E2B10923C00D8DD5C /* PlaybackCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 83C35E1D2B10923C00D8DD5C /* PlaybackCell.swift */; }; FC2511A02B045C0A004717BC /* SignUpInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC25119F2B045C0A004717BC /* SignUpInteractor.swift */; }; @@ -185,6 +191,12 @@ 835A61A52B0B4DDD002F22A5 /* Dashboard-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Dashboard-Regular.ttf"; sourceTree = ""; }; 835A61A82B0B5A31002F22A5 /* LoginConfigurator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoginConfigurator.swift; sourceTree = ""; }; 835A61AA2B0B85FD002F22A5 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/LaunchScreen.strings; sourceTree = ""; }; + 836C33932B1843BE00ECAFB0 /* SettingScenePresenter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingScenePresenter.swift; sourceTree = ""; }; + 836C33942B1843BE00ECAFB0 /* SettingSceneWorker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingSceneWorker.swift; sourceTree = ""; }; + 836C33952B1843BE00ECAFB0 /* SettingSceneRouter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingSceneRouter.swift; sourceTree = ""; }; + 836C33962B1843BE00ECAFB0 /* SettingSceneModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingSceneModels.swift; sourceTree = ""; }; + 836C33972B1843BE00ECAFB0 /* SettingSceneViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingSceneViewController.swift; sourceTree = ""; }; + 836C33982B1843BE00ECAFB0 /* SettingSceneInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingSceneInteractor.swift; sourceTree = ""; }; 83C35E1A2B108C3500D8DD5C /* PlaybackView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaybackView.swift; sourceTree = ""; }; 83C35E1D2B10923C00D8DD5C /* PlaybackCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlaybackCell.swift; sourceTree = ""; }; FC25119F2B045C0A004717BC /* SignUpInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SignUpInteractor.swift; sourceTree = ""; }; @@ -409,6 +421,19 @@ path = Playback; sourceTree = ""; }; + 836C33922B18436A00ECAFB0 /* SettingScene */ = { + isa = PBXGroup; + children = ( + 836C33932B1843BE00ECAFB0 /* SettingScenePresenter.swift */, + 836C33942B1843BE00ECAFB0 /* SettingSceneWorker.swift */, + 836C33952B1843BE00ECAFB0 /* SettingSceneRouter.swift */, + 836C33962B1843BE00ECAFB0 /* SettingSceneModels.swift */, + 836C33972B1843BE00ECAFB0 /* SettingSceneViewController.swift */, + 836C33982B1843BE00ECAFB0 /* SettingSceneInteractor.swift */, + ); + path = SettingScene; + sourceTree = ""; + }; 83C35E1C2B10923000D8DD5C /* Cell */ = { isa = PBXGroup; children = ( @@ -571,6 +596,7 @@ FC7E457B2AFF6F9D004F155A /* Scenes */ = { isa = PBXGroup; children = ( + 836C33922B18436A00ECAFB0 /* SettingScene */, 19BB8A572B07BEE30070B922 /* UIComponents */, 1945520E2B03AEA400299768 /* Configurator.swift */, 835A61962B0680FC002F22A5 /* Playback */, @@ -790,6 +816,7 @@ 1972CCD42B138E6B00C3C762 /* SignUpRouter.swift in Sources */, FC5BE11C2B148D160036366D /* EditProfilePresenter.swift in Sources */, FC68E2A32B0233BC001AABFF /* NetworkError.swift in Sources */, + 836C339C2B1843BE00ECAFB0 /* SettingSceneModels.swift in Sources */, FC3F3BD82B069EB30080E3A6 /* MapCarouselCollectionViewCell.swift in Sources */, 194552252B0478B400299768 /* HomeViewController.swift in Sources */, 194552222B0478B400299768 /* HomeWorker.swift in Sources */, @@ -806,6 +833,7 @@ FCEE0FF22B036B6000195BBE /* LOButton.swift in Sources */, FC5BE1212B148D170036366D /* EditProfileInteractor.swift in Sources */, FC930E7C2B0CD80800AA48E3 /* ProfileConfigurator.swift in Sources */, + 836C33992B1843BE00ECAFB0 /* SettingScenePresenter.swift in Sources */, FC2511A62B049020004717BC /* SignUpConfigurator.swift in Sources */, 194552392B05230E00299768 /* HomeCarouselCollectionViewCell.swift in Sources */, FC767FAA2B126D080088CF9B /* LOAnnotation.swift in Sources */, @@ -836,8 +864,10 @@ FC767F842B1214A80088CF9B /* MockUserWorker.swift in Sources */, FC930E782B0CD75C00AA48E3 /* ProfileModels.swift in Sources */, FC68E29B2B02325D001AABFF /* Requestable.swift in Sources */, + 836C339B2B1843BE00ECAFB0 /* SettingSceneRouter.swift in Sources */, FC2511A22B045C3F004717BC /* SignUpPresenter.swift in Sources */, FC767FA82B1269DB0088CF9B /* LOAnnotationView.swift in Sources */, + 836C339E2B1843BE00ECAFB0 /* SettingSceneInteractor.swift in Sources */, FC68E29D2B02326A001AABFF /* Responsable.swift in Sources */, FC2511A02B045C0A004717BC /* SignUpInteractor.swift in Sources */, FC767F862B1214C10088CF9B /* CheckUserNameDTO.swift in Sources */, @@ -848,6 +878,7 @@ 83C35E1B2B108C3500D8DD5C /* PlaybackView.swift in Sources */, 835A61A02B068115002F22A5 /* PlaybackModels.swift in Sources */, 19C7AFCE2B02410F003B35F2 /* AuthManager.swift in Sources */, + 836C339D2B1843BE00ECAFB0 /* SettingSceneViewController.swift in Sources */, FC9BB82C2B094E5500EB72A9 /* UICollectionViewLayout+.swift in Sources */, 194552232B0478B400299768 /* HomeRouter.swift in Sources */, 835783C32B14A41600E7D304 /* MockLoginWorker.swift in Sources */, @@ -859,6 +890,7 @@ 1945520F2B03AEA400299768 /* Configurator.swift in Sources */, 835A619F2B068115002F22A5 /* PlaybackRouter.swift in Sources */, FC2511B12B04EAEC004717BC /* MapModels.swift in Sources */, + 836C339A2B1843BE00ECAFB0 /* SettingSceneWorker.swift in Sources */, FC68E29F2B023315001AABFF /* HTTPMethod.swift in Sources */, 835A619D2B068115002F22A5 /* PlaybackPresenter.swift in Sources */, FCEE0FFA2B03AF8500195BBE /* SignUpViewController.swift in Sources */, diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneInteractor.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneInteractor.swift new file mode 100644 index 0000000..9fdf321 --- /dev/null +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneInteractor.swift @@ -0,0 +1,27 @@ +// +// SettingSceneInteractor.swift +// Layover +// +// Created by 황지웅 on 11/30/23. +// Copyright © 2023 CodeBomber. All rights reserved. +// + +import UIKit + +protocol SettingSceneBusinessLogic { + +} + +protocol SettingSceneDataStore { + +} + +final class SettingSceneInteractor: SettingSceneBusinessLogic, SettingSceneDataStore { + + // MARK: - Properties + + typealias Models = SettingSceneModels + + lazy var worker = SettingSceneWorker() + var presenter: SettingScenePresentationLogic? +} diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneModels.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneModels.swift new file mode 100644 index 0000000..80dcd5b --- /dev/null +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneModels.swift @@ -0,0 +1,24 @@ +// +// SettingSceneModels.swift +// Layover +// +// Created by 황지웅 on 11/30/23. +// Copyright © 2023 CodeBomber. All rights reserved. +// + +import UIKit + +enum SettingSceneModels { + + enum PerformSettingScene { + struct Request { + var exampleVariable: String? + } + + struct Response { + } + + struct ViewModel { + } + } +} diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingScenePresenter.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingScenePresenter.swift new file mode 100644 index 0000000..0120ed4 --- /dev/null +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingScenePresenter.swift @@ -0,0 +1,22 @@ +// +// SettingScenePresenter.swift +// Layover +// +// Created by 황지웅 on 11/30/23. +// Copyright © 2023 CodeBomber. All rights reserved. +// + +import UIKit + +protocol SettingScenePresentationLogic { + +} + +final class SettingScenePresenter: SettingScenePresentationLogic { + + // MARK: - Properties + + typealias Models = SettingSceneModels + weak var viewController: SettingSceneDisplayLogic? + +} diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneRouter.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneRouter.swift new file mode 100644 index 0000000..349a89a --- /dev/null +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneRouter.swift @@ -0,0 +1,27 @@ +// +// SettingSceneRouter.swift +// Layover +// +// Created by 황지웅 on 11/30/23. +// Copyright © 2023 CodeBomber. All rights reserved. +// + +import UIKit + +protocol SettingSceneRoutingLogic { +} + +protocol SettingSceneDataPassing { + var dataStore: SettingSceneDataStore? { get } +} + +final class SettingSceneRouter: NSObject, SettingSceneRoutingLogic, SettingSceneDataPassing { + + // MARK: - Properties + + weak var viewController: SettingSceneViewController? + var dataStore: SettingSceneDataStore? + + // MARK: - Routing + +} diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift new file mode 100644 index 0000000..1876b30 --- /dev/null +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift @@ -0,0 +1,57 @@ +// +// SettingSceneViewController.swift +// Layover +// +// Created by 황지웅 on 11/30/23. +// Copyright © 2023 CodeBomber. All rights reserved. +// + +import UIKit + +protocol SettingSceneDisplayLogic: AnyObject { +} + +final class SettingSceneViewController: BaseViewController, SettingSceneDisplayLogic { + + // MARK: - Properties + + typealias Models = SettingSceneModels + var router: (NSObjectProtocol & SettingSceneRoutingLogic & SettingSceneDataPassing)? + var interactor: SettingSceneBusinessLogic? + + // MARK: - Object lifecycle + + override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { + super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil) + setup() + } + + required init?(coder aDecoder: NSCoder) { + super.init(coder: aDecoder) + setup() + } + + // MARK: - Setup + + private func setup() { + let viewController = self + let interactor = SettingSceneInteractor() + let presenter = SettingScenePresenter() + let router = SettingSceneRouter() + + viewController.router = router + viewController.interactor = interactor + interactor.presenter = presenter + presenter.viewController = viewController + router.viewController = viewController + router.dataStore = interactor + } + + // MARK: - View Lifecycle + + override func viewDidLoad() { + super.viewDidLoad() + + } + +} diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneWorker.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneWorker.swift new file mode 100644 index 0000000..a1591ca --- /dev/null +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneWorker.swift @@ -0,0 +1,19 @@ +// +// SettingSceneWorker.swift +// Layover +// +// Created by 황지웅 on 11/30/23. +// Copyright © 2023 CodeBomber. All rights reserved. +// + +import UIKit + +final class SettingSceneWorker { + + // MARK: - Properties + + typealias Models = SettingSceneModels + + // MARK: - Methods + +} From f34455b9b5b09c9a1b3da39019071a00dfaa394d Mon Sep 17 00:00:00 2001 From: chopmozzi <44396392+chopmozzi@users.noreply.github.com> Date: Thu, 30 Nov 2023 14:24:19 +0900 Subject: [PATCH 2/6] =?UTF-8?q?:sparkles:=20=EC=84=A4=EC=A0=95=20=EB=B7=B0?= =?UTF-8?q?=20UI=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SettingSceneViewController.swift | 85 ++++++++++++++++++- 1 file changed, 83 insertions(+), 2 deletions(-) diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift index 1876b30..cd2f4cf 100644 --- a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift @@ -11,7 +11,7 @@ import UIKit protocol SettingSceneDisplayLogic: AnyObject { } -final class SettingSceneViewController: BaseViewController, SettingSceneDisplayLogic { +final class SettingSceneViewController: BaseViewController { // MARK: - Properties @@ -19,6 +19,15 @@ final class SettingSceneViewController: BaseViewController, SettingSceneDisplayL var router: (NSObjectProtocol & SettingSceneRoutingLogic & SettingSceneDataPassing)? var interactor: SettingSceneBusinessLogic? + private let settingSceneTableView: UITableView = { + let tableView: UITableView = UITableView(frame: .zero, style: .insetGrouped) + tableView.translatesAutoresizingMaskIntoConstraints = false + return tableView + }() + + let policy: [String] = ["이용약관", "개인정보 처리 방침", "위치정보 이용 약관"] + let versionInfo: [String] = ["버전정보"] + let userInfo: [String] = ["로그아웃", "탈퇴"] // MARK: - Object lifecycle override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { @@ -51,7 +60,79 @@ final class SettingSceneViewController: BaseViewController, SettingSceneDisplayL override func viewDidLoad() { super.viewDidLoad() - + settingSceneTableView.delegate = self + settingSceneTableView.dataSource = self + settingSceneTableView.register(UITableViewCell.self, forCellReuseIdentifier: UITableViewCell.identifier) + } + + override func setConstraints() { + view.addSubview(settingSceneTableView) + NSLayoutConstraint.activate([ + settingSceneTableView.topAnchor.constraint(equalTo: view.topAnchor), + settingSceneTableView.leadingAnchor.constraint(equalTo: view.leadingAnchor), + settingSceneTableView.trailingAnchor.constraint(equalTo: view.trailingAnchor), + settingSceneTableView.bottomAnchor.constraint(equalTo: view.bottomAnchor) + ]) + } + +} + +extension SettingSceneViewController: SettingSceneDisplayLogic { + +} + +extension SettingSceneViewController: UITableViewDelegate { + +} + +extension SettingSceneViewController: UITableViewDataSource { + func numberOfSections(in tableView: UITableView) -> Int { + return 3 + } + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + switch section { + case 0: + return 3 + case 1: + return 1 + case 2: + return 2 + default: + return 0 + } } + func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? { + switch section { + case 0: + return "약관 및 정책" + default: + return nil + } + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: UITableViewCell.identifier, for: indexPath) + var content = cell.defaultContentConfiguration() + switch indexPath.section { + case 0: + content.text = policy[indexPath.row] + cell.contentConfiguration = content + case 1: + content.text = versionInfo[indexPath.row] + content.secondaryText = "1.0.0" + cell.contentConfiguration = content + case 2: + content.text = userInfo[indexPath.row] + cell.contentConfiguration = content + default: + break + } + return cell + } +} + +#Preview { + SettingSceneViewController() } From 6e40cb6469f1a38ddce6be6495055936d13b44c5 Mon Sep 17 00:00:00 2001 From: chopmozzi <44396392+chopmozzi@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:59:17 +0900 Subject: [PATCH 3/6] =?UTF-8?q?:sparkles:=20=EC=84=A4=EC=A0=95=ED=99=94?= =?UTF-8?q?=EB=A9=B4=20UI=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SettingSceneViewController.swift | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift index cd2f4cf..8dd1504 100644 --- a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift @@ -19,6 +19,14 @@ final class SettingSceneViewController: BaseViewController { var router: (NSObjectProtocol & SettingSceneRoutingLogic & SettingSceneDataPassing)? var interactor: SettingSceneBusinessLogic? + private let backButton: UIBarButtonItem = { + let button: UIBarButtonItem = UIBarButtonItem() + button.image = UIImage(systemName: "chevron.left") + button.tintColor = .layoverWhite + button.target = SettingSceneViewController.self + button.action = #selector(popViewController) + return button + }() private let settingSceneTableView: UITableView = { let tableView: UITableView = UITableView(frame: .zero, style: .insetGrouped) tableView.translatesAutoresizingMaskIntoConstraints = false @@ -75,6 +83,20 @@ final class SettingSceneViewController: BaseViewController { ]) } + override func setUI() { + setNavigationBar() + } + + private func setNavigationBar() { + self.navigationController?.navigationBar.tintColor = .layoverWhite + self.navigationController?.navigationBar.prefersLargeTitles = true + self.navigationController?.navigationBar.topItem?.title = "설정" + self.navigationItem.leftBarButtonItem = backButton + } + + @objc func popViewController() { + self.navigationController?.popViewController(animated: true) + } } extension SettingSceneViewController: SettingSceneDisplayLogic { @@ -134,5 +156,13 @@ extension SettingSceneViewController: UITableViewDataSource { } #Preview { - SettingSceneViewController() + let navi = UINavigationController(rootViewController: UIViewController()) + navi.pushViewController(SettingSceneViewController(), animated: false) + return navi } + +//#Preview { +// let navi = UINavigationController(rootViewController: UIViewController()) +// navi.pushViewController(TagPlayListViewController(), animated: false) +// return navi +//} From 3a0a247b5d221856384eafc4bd26cba09809c61a Mon Sep 17 00:00:00 2001 From: chopmozzi <44396392+chopmozzi@users.noreply.github.com> Date: Thu, 30 Nov 2023 17:59:35 +0900 Subject: [PATCH 4/6] =?UTF-8?q?:sparkles:=20profile=ED=99=94=EB=A9=B4?= =?UTF-8?q?=EC=97=90=EC=84=9C=20=EC=97=B0=EA=B2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iOS/Layover/Layover/Scenes/Profile/ProfileRouter.swift | 9 +++++++-- .../Layover/Scenes/Profile/ProfileViewController.swift | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/iOS/Layover/Layover/Scenes/Profile/ProfileRouter.swift b/iOS/Layover/Layover/Scenes/Profile/ProfileRouter.swift index a609e22..32f45d3 100644 --- a/iOS/Layover/Layover/Scenes/Profile/ProfileRouter.swift +++ b/iOS/Layover/Layover/Scenes/Profile/ProfileRouter.swift @@ -10,13 +10,14 @@ import UIKit protocol ProfileRoutingLogic { func routeToEditProfileViewController() + func routeToSettingSceneViewController() } protocol ProfileDataPassing { var dataStore: ProfileDataStore? { get } } -class ProfileRouter: NSObject, ProfileRoutingLogic, ProfileDataPassing { +final class ProfileRouter: NSObject, ProfileRoutingLogic, ProfileDataPassing { // MARK: - Properties @@ -38,5 +39,9 @@ class ProfileRouter: NSObject, ProfileRoutingLogic, ProfileDataPassing { editProfileViewController.hidesBottomBarWhenPushed = true viewController?.navigationController?.pushViewController(editProfileViewController, animated: true) } - + + func routeToSettingSceneViewController() { + let settingSceneViewController: SettingSceneViewController = SettingSceneViewController() + viewController?.navigationController?.pushViewController(settingSceneViewController, animated: true) + } } diff --git a/iOS/Layover/Layover/Scenes/Profile/ProfileViewController.swift b/iOS/Layover/Layover/Scenes/Profile/ProfileViewController.swift index 12d4507..0d85592 100644 --- a/iOS/Layover/Layover/Scenes/Profile/ProfileViewController.swift +++ b/iOS/Layover/Layover/Scenes/Profile/ProfileViewController.swift @@ -130,7 +130,7 @@ final class ProfileViewController: BaseViewController { } @objc private func settingButtonDidTap() { - + router?.routeToSettingSceneViewController() } } From 5c3476be34e9c477e71dc79d248d703504c5dd0c Mon Sep 17 00:00:00 2001 From: chopmozzi <44396392+chopmozzi@users.noreply.github.com> Date: Thu, 30 Nov 2023 18:35:29 +0900 Subject: [PATCH 5/6] =?UTF-8?q?:recycle:=20UI=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Layover/Scenes/SettingScene/SettingSceneViewController.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift index 8dd1504..5a3c0c6 100644 --- a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift @@ -144,6 +144,7 @@ extension SettingSceneViewController: UITableViewDataSource { case 1: content.text = versionInfo[indexPath.row] content.secondaryText = "1.0.0" + content.prefersSideBySideTextAndSecondaryText = true cell.contentConfiguration = content case 2: content.text = userInfo[indexPath.row] From 4c3439492755451601c5bcebef1557b1d892d0eb Mon Sep 17 00:00:00 2001 From: chopmozzi <44396392+chopmozzi@users.noreply.github.com> Date: Thu, 30 Nov 2023 19:46:46 +0900 Subject: [PATCH 6/6] =?UTF-8?q?:recycle:=20=EC=A3=BC=EC=84=9D=20=EC=82=AD?= =?UTF-8?q?=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scenes/SettingScene/SettingSceneViewController.swift | 6 ------ 1 file changed, 6 deletions(-) diff --git a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift index 5a3c0c6..1f50eee 100644 --- a/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift +++ b/iOS/Layover/Layover/Scenes/SettingScene/SettingSceneViewController.swift @@ -161,9 +161,3 @@ extension SettingSceneViewController: UITableViewDataSource { navi.pushViewController(SettingSceneViewController(), animated: false) return navi } - -//#Preview { -// let navi = UINavigationController(rootViewController: UIViewController()) -// navi.pushViewController(TagPlayListViewController(), animated: false) -// return navi -//}