From 1c1b83c28ad9431ce8ffea7b1d61a3343522d9a2 Mon Sep 17 00:00:00 2001 From: baegteun Date: Fri, 26 May 2023 22:41:44 +0900 Subject: [PATCH 1/6] =?UTF-8?q?:sparkles:=20::=20InputInformationBaseFeatu?= =?UTF-8?q?re=20=EB=AA=A8=EB=93=88=20=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dependency+Target.swift | 4 ++++ .../ProjectDescriptionHelpers/ModulePaths.swift | 1 + .../InputCertificateInfoFeature/Project.swift | 2 +- .../InputInformationBaseFeature/Project.swift | 12 ++++++++++++ .../InputInformationBaseFeature/Sources/Source.swift | 1 + .../Feature/InputInformationFeature/Project.swift | 2 +- .../Feature/InputLanguageInfoFeature/Project.swift | 2 +- .../Feature/InputMilitaryInfoFeature/Project.swift | 2 +- .../Feature/InputProfileInfoFeature/Project.swift | 2 +- .../Feature/InputSchoolLifeInfoFeature/Project.swift | 2 +- Projects/Feature/InputWorkInfoFeature/Project.swift | 2 +- 11 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 Projects/Feature/InputInformationBaseFeature/Project.swift create mode 100644 Projects/Feature/InputInformationBaseFeature/Sources/Source.swift diff --git a/Plugin/DependencyPlugin/ProjectDescriptionHelpers/Dependency+Target.swift b/Plugin/DependencyPlugin/ProjectDescriptionHelpers/Dependency+Target.swift index d9bfcab1..89325365 100644 --- a/Plugin/DependencyPlugin/ProjectDescriptionHelpers/Dependency+Target.swift +++ b/Plugin/DependencyPlugin/ProjectDescriptionHelpers/Dependency+Target.swift @@ -9,6 +9,10 @@ public extension TargetDependency { } public extension TargetDependency.Feature { + static let InputInformationBaseFeature = TargetDependency.project( + target: ModulePaths.Feature.InputInformationBaseFeature.targetName(type: .sources), + path: .relativeToFeature(ModulePaths.Feature.InputInformationBaseFeature.rawValue) + ) static let RootFeature = TargetDependency.project( target: ModulePaths.Feature.RootFeature.targetName(type: .sources), path: .relativeToFeature(ModulePaths.Feature.RootFeature.rawValue) diff --git a/Plugin/DependencyPlugin/ProjectDescriptionHelpers/ModulePaths.swift b/Plugin/DependencyPlugin/ProjectDescriptionHelpers/ModulePaths.swift index c3a4dbea..c5f215cf 100644 --- a/Plugin/DependencyPlugin/ProjectDescriptionHelpers/ModulePaths.swift +++ b/Plugin/DependencyPlugin/ProjectDescriptionHelpers/ModulePaths.swift @@ -10,6 +10,7 @@ public enum ModulePaths { public extension ModulePaths { enum Feature: String { + case InputInformationBaseFeature case RootFeature case InputLanguageInfoFeature case InputCertificateInfoFeature diff --git a/Projects/Feature/InputCertificateInfoFeature/Project.swift b/Projects/Feature/InputCertificateInfoFeature/Project.swift index 50306a56..51d9fa68 100644 --- a/Projects/Feature/InputCertificateInfoFeature/Project.swift +++ b/Projects/Feature/InputCertificateInfoFeature/Project.swift @@ -7,6 +7,6 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.BaseFeature + .Feature.InputInformationBaseFeature ] ) diff --git a/Projects/Feature/InputInformationBaseFeature/Project.swift b/Projects/Feature/InputInformationBaseFeature/Project.swift new file mode 100644 index 00000000..d74dd0bd --- /dev/null +++ b/Projects/Feature/InputInformationBaseFeature/Project.swift @@ -0,0 +1,12 @@ +import ProjectDescription +import ProjectDescriptionHelpers +import DependencyPlugin + +let project = Project.makeModule( + name: ModulePaths.Feature.InputInformationBaseFeature.rawValue, + product: .framework, + targets: [], + internalDependencies: [ + .Feature.BaseFeature + ] +) diff --git a/Projects/Feature/InputInformationBaseFeature/Sources/Source.swift b/Projects/Feature/InputInformationBaseFeature/Sources/Source.swift new file mode 100644 index 00000000..b1853ce6 --- /dev/null +++ b/Projects/Feature/InputInformationBaseFeature/Sources/Source.swift @@ -0,0 +1 @@ +// This is for Tuist diff --git a/Projects/Feature/InputInformationFeature/Project.swift b/Projects/Feature/InputInformationFeature/Project.swift index 40acab65..3a5582a4 100644 --- a/Projects/Feature/InputInformationFeature/Project.swift +++ b/Projects/Feature/InputInformationFeature/Project.swift @@ -7,7 +7,7 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.BaseFeature, + .Feature.InputInformationBaseFeature .Feature.InputProfileInfoFeatureInterface, .Feature.InputSchoolLifeInfoFeatureInterface, .Feature.InputWorkInfoFeatureInterface, diff --git a/Projects/Feature/InputLanguageInfoFeature/Project.swift b/Projects/Feature/InputLanguageInfoFeature/Project.swift index 7f1f977f..047ef36b 100644 --- a/Projects/Feature/InputLanguageInfoFeature/Project.swift +++ b/Projects/Feature/InputLanguageInfoFeature/Project.swift @@ -7,6 +7,6 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.BaseFeature + .Feature.InputInformationBaseFeature ] ) diff --git a/Projects/Feature/InputMilitaryInfoFeature/Project.swift b/Projects/Feature/InputMilitaryInfoFeature/Project.swift index a14bd8a6..85143b47 100644 --- a/Projects/Feature/InputMilitaryInfoFeature/Project.swift +++ b/Projects/Feature/InputMilitaryInfoFeature/Project.swift @@ -7,7 +7,7 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.BaseFeature, + .Feature.InputInformationBaseFeature, .Domain.StudentDomainInterface ] ) diff --git a/Projects/Feature/InputProfileInfoFeature/Project.swift b/Projects/Feature/InputProfileInfoFeature/Project.swift index 6441e4d3..3fd5cd8a 100644 --- a/Projects/Feature/InputProfileInfoFeature/Project.swift +++ b/Projects/Feature/InputProfileInfoFeature/Project.swift @@ -7,7 +7,7 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.BaseFeature, + .Feature.InputInformationBaseFeature, .Domain.MajorDomainInterface ], unitTestDependencies: [ diff --git a/Projects/Feature/InputSchoolLifeInfoFeature/Project.swift b/Projects/Feature/InputSchoolLifeInfoFeature/Project.swift index 5519b3f8..842eb5e6 100644 --- a/Projects/Feature/InputSchoolLifeInfoFeature/Project.swift +++ b/Projects/Feature/InputSchoolLifeInfoFeature/Project.swift @@ -7,6 +7,6 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.BaseFeature + .Feature.InputInformationBaseFeature ] ) diff --git a/Projects/Feature/InputWorkInfoFeature/Project.swift b/Projects/Feature/InputWorkInfoFeature/Project.swift index 0521e2c9..b3269ad5 100644 --- a/Projects/Feature/InputWorkInfoFeature/Project.swift +++ b/Projects/Feature/InputWorkInfoFeature/Project.swift @@ -7,7 +7,7 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.BaseFeature, + .Feature.InputInformationBaseFeature, .Domain.StudentDomainInterface ] ) From 983939bded06b03b73edbaca52bf3d556de8e43f Mon Sep 17 00:00:00 2001 From: baegteun Date: Fri, 26 May 2023 22:43:21 +0900 Subject: [PATCH 2/6] =?UTF-8?q?:goal=5Fnet:=20::=20=EB=B0=B0=EC=97=B4=20?= =?UTF-8?q?=EC=9A=94=EC=86=8C=20=EA=B0=84=20,=20=EB=A5=BC=20=EC=A0=81?= =?UTF-8?q?=EC=A7=80=20=EC=95=8A=EC=9D=80=20=EC=82=AC=EC=86=8C=ED=95=98?= =?UTF-8?q?=EC=A7=80=EB=A7=8C=20=EC=B9=98=EB=AA=85=EC=A0=81=EC=9D=B8=20?= =?UTF-8?q?=ED=9C=B4=EB=A8=BC=20=EC=97=90=EB=9F=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Projects/Feature/InputInformationFeature/Project.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/Projects/Feature/InputInformationFeature/Project.swift b/Projects/Feature/InputInformationFeature/Project.swift index 3a5582a4..e1904978 100644 --- a/Projects/Feature/InputInformationFeature/Project.swift +++ b/Projects/Feature/InputInformationFeature/Project.swift @@ -7,7 +7,6 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ - .Feature.InputInformationBaseFeature .Feature.InputProfileInfoFeatureInterface, .Feature.InputSchoolLifeInfoFeatureInterface, .Feature.InputWorkInfoFeatureInterface, From c13e5ac31504d584d38b14527206b0b0af76b8ff Mon Sep 17 00:00:00 2001 From: baegteun Date: Fri, 26 May 2023 22:46:50 +0900 Subject: [PATCH 3/6] :sparkles: :: InputInformationPageTitleView --- .../InputInformationPageTitleView.swift | 37 +++++++++++++++++++ .../Sources/Source.swift | 1 - 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift delete mode 100644 Projects/Feature/InputInformationBaseFeature/Sources/Source.swift diff --git a/Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift b/Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift new file mode 100644 index 00000000..5b2502a2 --- /dev/null +++ b/Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift @@ -0,0 +1,37 @@ +import DesignSystem +import SwiftUI + +public struct InputInformationPageTitleView: View { + let title: String + let isRequired: Bool + let pageCount: Int + let selectedPage: Int + + public init( + title: String, + isRequired: Bool, + pageCount: Int, + selectedPage: Int + ) { + self.title = title + self.isRequired = isRequired + self.pageCount = pageCount + self.selectedPage = selectedPage + } + + public var body: some View { + HStack(spacing: 4) { + Text(title) + .foregroundColor(.sms(.system(.black))) + + Text("*") + .foregroundColor(.sms(.sub(.s2))) + .conditional(isRequired) + + Spacer() + + SMSPageControl(pageCount: pageCount, selectedPage: selectedPage) + } + .smsFont(.title1) + } +} diff --git a/Projects/Feature/InputInformationBaseFeature/Sources/Source.swift b/Projects/Feature/InputInformationBaseFeature/Sources/Source.swift deleted file mode 100644 index b1853ce6..00000000 --- a/Projects/Feature/InputInformationBaseFeature/Sources/Source.swift +++ /dev/null @@ -1 +0,0 @@ -// This is for Tuist From 76bdf6b747f67d2bc6610a63bd28c822111e781b Mon Sep 17 00:00:00 2001 From: baegteun Date: Fri, 26 May 2023 22:52:20 +0900 Subject: [PATCH 4/6] =?UTF-8?q?:recycle:=20::=20=EA=B0=81=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=EB=B3=84=20InputInformationPageTitleView=20?= =?UTF-8?q?=EC=82=AC=EC=9A=A9=EC=9C=BC=EB=A1=9C=20=EB=A6=AC=ED=8C=A9?= =?UTF-8?q?=ED=86=A0=EB=A7=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Scene/InputCertificateInfoView.swift | 24 ++++++------------- .../InputInformationPageTitleView.swift | 2 +- .../Sources/Scene/InputLanguageInfoView.swift | 24 ++++++------------- .../Sources/Scene/InputMilitaryInfoView.swift | 21 +++------------- .../Sources/Scene/InputProfileInfoView.swift | 19 ++------------- .../Scene/InputSchoolLifeInfoView.swift | 19 ++------------- .../Sources/Scene/InputWorkInfoView.swift | 21 +++------------- 7 files changed, 25 insertions(+), 105 deletions(-) diff --git a/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift b/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift index e73dd1ce..8206a987 100644 --- a/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift +++ b/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift @@ -1,6 +1,7 @@ import BaseFeature import DesignSystem import FoundationUtil +import InputInformationBaseFeature import SwiftUI import ViewUtil @@ -19,7 +20,12 @@ struct InputCertificateInfoView: View { .frame(height: 16) VStack(spacing: 32) { - pageTitleView() + InputInformationPageTitleView( + title: "자격증", + isRequired: false, + pageCount: 6, + selectedPage: 4 + ) VStack(spacing: 8) { certificateListView() @@ -54,22 +60,6 @@ struct InputCertificateInfoView: View { .hideKeyboardWhenTap() } - @ViewBuilder - func pageTitleView() -> some View { - HStack(spacing: 4) { - Text("자격증") - .foregroundColor(.sms(.system(.black))) - - Text("*") - .foregroundColor(.sms(.sub(.s2))) - - Spacer() - - SMSPageControl(pageCount: 6, selectedPage: 4) - } - .smsFont(.title1) - } - @ViewBuilder func certificateListView() -> some View { VStack(spacing: 12) { diff --git a/Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift b/Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift index 5b2502a2..897b8020 100644 --- a/Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift +++ b/Projects/Feature/InputInformationBaseFeature/Sources/InputInformationPageTitleView.swift @@ -9,7 +9,7 @@ public struct InputInformationPageTitleView: View { public init( title: String, - isRequired: Bool, + isRequired: Bool = true, pageCount: Int, selectedPage: Int ) { diff --git a/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift b/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift index ec706b2e..f4a05b6b 100644 --- a/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift +++ b/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift @@ -1,6 +1,7 @@ import BaseFeature import DesignSystem import FoundationUtil +import InputInformationBaseFeature import SwiftUI import ViewUtil @@ -19,7 +20,12 @@ struct InputLanguageInfoView: View { .frame(height: 16) VStack(spacing: 32) { - pageTitleView() + InputInformationPageTitleView( + title: "외국어", + isRequired: false, + pageCount: 6, + selectedPage: 5 + ) languageListView(proxy: proxy) } @@ -45,22 +51,6 @@ struct InputLanguageInfoView: View { .hideKeyboardWhenTap() } - @ViewBuilder - func pageTitleView() -> some View { - HStack(spacing: 4) { - Text("외국어") - .foregroundColor(.sms(.system(.black))) - - Text("*") - .foregroundColor(.sms(.sub(.s2))) - - Spacer() - - SMSPageControl(pageCount: 6, selectedPage: 5) - } - .smsFont(.title1) - } - @ViewBuilder func languageListView(proxy: GeometryProxy) -> some View { VStack(spacing: 8) { diff --git a/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift b/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift index 5a256493..ef8210df 100644 --- a/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift +++ b/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift @@ -1,7 +1,8 @@ import BaseFeature import DesignSystem -import SwiftUI +import InputInformationBaseFeature import StudentDomainInterface +import SwiftUI struct InputMilitaryInfoView: View { @StateObject var container: MVIContainer @@ -17,7 +18,7 @@ struct InputMilitaryInfoView: View { .frame(height: 16) VStack(spacing: 32) { - pageTitleView() + InputInformationPageTitleView(title: "병역", pageCount: 6, selectedPage: 3) VStack(spacing: 24) { SMSTextField( @@ -69,22 +70,6 @@ struct InputMilitaryInfoView: View { .animation(.default, value: state.isPresentedMilitarySheet) } - @ViewBuilder - func pageTitleView() -> some View { - HStack(spacing: 4) { - Text("병역") - .foregroundColor(.sms(.system(.black))) - - Text("*") - .foregroundColor(.sms(.sub(.s2))) - - Spacer() - - SMSPageControl(pageCount: 6, selectedPage: 3) - } - .smsFont(.title1) - } - @ViewBuilder func militaryListView() -> some View { VStack(spacing: 16) { diff --git a/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift b/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift index cd00e330..8c2a8866 100644 --- a/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift +++ b/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift @@ -1,6 +1,7 @@ import BaseFeature import DesignSystem import SwiftUI +import InputInformationBaseFeature struct InputProfileInfoView: View { enum FocusField: Hashable { @@ -24,7 +25,7 @@ struct InputProfileInfoView: View { .frame(height: 16) VStack(spacing: 32) { - pageTitleView() + InputInformationPageTitleView(title: "프로필", pageCount: 6, selectedPage: 0) VStack(alignment: .leading, spacing: 24) { VStack(alignment: .leading, spacing: 8) { @@ -186,22 +187,6 @@ struct InputProfileInfoView: View { .animation(.default, value: state.inputProfileErrorFieldSet) } - @ViewBuilder - func pageTitleView() -> some View { - HStack(spacing: 4) { - Text("프로필") - .foregroundColor(.sms(.system(.black))) - - Text("*") - .foregroundColor(.sms(.sub(.s2))) - - Spacer() - - SMSPageControl(pageCount: 6, selectedPage: 0) - } - .smsFont(.title1) - } - @ViewBuilder func majorListView() -> some View { ScrollView { diff --git a/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift b/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift index 4b925526..02e9dcfb 100644 --- a/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift +++ b/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift @@ -1,5 +1,6 @@ import BaseFeature import DesignSystem +import InputInformationBaseFeature import SwiftUI import UniformTypeIdentifiers @@ -17,7 +18,7 @@ struct InputSchoolLifeInfoView: View { .frame(height: 16) VStack(spacing: 32) { - pageTitleView() + InputInformationPageTitleView(title: "학교 생활", pageCount: 6, selectedPage: 1) VStack(spacing: 24) { SMSTextField( @@ -87,20 +88,4 @@ struct InputSchoolLifeInfoView: View { } } } - - @ViewBuilder - func pageTitleView() -> some View { - HStack(spacing: 4) { - Text("학교 생활") - .foregroundColor(.sms(.system(.black))) - - Text("*") - .foregroundColor(.sms(.sub(.s2))) - - Spacer() - - SMSPageControl(pageCount: 6, selectedPage: 1) - } - .smsFont(.title1) - } } diff --git a/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift b/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift index e4549caa..86e02c14 100644 --- a/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift +++ b/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift @@ -1,8 +1,9 @@ import BaseFeature import DesignSystem import FoundationUtil -import SwiftUI +import InputInformationBaseFeature import StudentDomainInterface +import SwiftUI import ViewUtil struct InputWorkInfoView: View { @@ -20,7 +21,7 @@ struct InputWorkInfoView: View { .frame(height: 16) VStack(spacing: 32) { - pageTitleView() + InputInformationPageTitleView(title: "근무 조건", pageCount: 6, selectedPage: 2) VStack(spacing: 24) { SMSTextField( @@ -92,22 +93,6 @@ struct InputWorkInfoView: View { .animation(.default, value: state.isPresentedFormOfEmployeementSheet) } - @ViewBuilder - func pageTitleView() -> some View { - HStack(spacing: 4) { - Text("근무 조건") - .foregroundColor(.sms(.system(.black))) - - Text("*") - .foregroundColor(.sms(.sub(.s2))) - - Spacer() - - SMSPageControl(pageCount: 6, selectedPage: 2) - } - .smsFont(.title1) - } - @ViewBuilder func workRegionList() -> some View { VStack(spacing: 8) { From 31dcb3ba327e47476d3087412e11effb020f31fd Mon Sep 17 00:00:00 2001 From: baegteun Date: Sat, 27 May 2023 12:44:53 +0900 Subject: [PATCH 5/6] =?UTF-8?q?:recycle:=20::=20SMSSeparator=EB=A5=BC=20?= =?UTF-8?q?=EB=A7=8C=EB=93=A4=EC=96=B4=20separator=20=EC=A4=91=EB=B3=B5=20?= =?UTF-8?q?=EC=BD=94=EB=93=9C=20=EA=B0=9C=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sources/Separator/SMSSeparator.swift | 16 ++++++++++++++++ .../Sources/Scene/InputCertificateInfoView.swift | 5 +---- .../Sources/Scene/InputLanguageInfoView.swift | 5 +---- .../Sources/Scene/InputMilitaryInfoView.swift | 5 +---- .../Sources/Scene/InputProfileInfoView.swift | 5 +---- .../Sources/Scene/InputSchoolLifeInfoView.swift | 5 +---- .../Sources/Scene/InputWorkInfoView.swift | 5 +---- 7 files changed, 22 insertions(+), 24 deletions(-) create mode 100644 Projects/Core/DesignSystem/Sources/Separator/SMSSeparator.swift diff --git a/Projects/Core/DesignSystem/Sources/Separator/SMSSeparator.swift b/Projects/Core/DesignSystem/Sources/Separator/SMSSeparator.swift new file mode 100644 index 00000000..c669e3d9 --- /dev/null +++ b/Projects/Core/DesignSystem/Sources/Separator/SMSSeparator.swift @@ -0,0 +1,16 @@ +import SwiftUI + +public struct SMSSeparator: View { + let height: CGFloat + + public init(height: CGFloat = 16) { + self.height = height + } + + public var body: some View { + Rectangle() + .fill(Color.sms(.neutral(.n10))) + .frame(maxWidth: .infinity) + .frame(height: height) + } +} diff --git a/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift b/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift index 8206a987..cacb4a7e 100644 --- a/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift +++ b/Projects/Feature/InputCertificateInfoFeature/Sources/Scene/InputCertificateInfoView.swift @@ -14,10 +14,7 @@ struct InputCertificateInfoView: View { GeometryReader { proxy in SMSNavigationTitleView(title: "정보입력") { ScrollView(showsIndicators: false) { - Rectangle() - .fill(Color.sms(.neutral(.n10))) - .frame(maxWidth: .infinity) - .frame(height: 16) + SMSSeparator() VStack(spacing: 32) { InputInformationPageTitleView( diff --git a/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift b/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift index f4a05b6b..9ce55c99 100644 --- a/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift +++ b/Projects/Feature/InputLanguageInfoFeature/Sources/Scene/InputLanguageInfoView.swift @@ -14,10 +14,7 @@ struct InputLanguageInfoView: View { GeometryReader { proxy in SMSNavigationTitleView(title: "정보입력") { ScrollView(showsIndicators: false) { - Rectangle() - .fill(Color.sms(.neutral(.n10))) - .frame(maxWidth: .infinity) - .frame(height: 16) + SMSSeparator() VStack(spacing: 32) { InputInformationPageTitleView( diff --git a/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift b/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift index ef8210df..177bc8fa 100644 --- a/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift +++ b/Projects/Feature/InputMilitaryInfoFeature/Sources/Scene/InputMilitaryInfoView.swift @@ -12,10 +12,7 @@ struct InputMilitaryInfoView: View { var body: some View { GeometryReader { proxy in SMSNavigationTitleView(title: "정보입력") { - Rectangle() - .fill(Color.sms(.neutral(.n10))) - .frame(maxWidth: .infinity) - .frame(height: 16) + SMSSeparator() VStack(spacing: 32) { InputInformationPageTitleView(title: "병역", pageCount: 6, selectedPage: 3) diff --git a/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift b/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift index 8c2a8866..da1efc8e 100644 --- a/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift +++ b/Projects/Feature/InputProfileInfoFeature/Sources/Scene/InputProfileInfoView.swift @@ -19,10 +19,7 @@ struct InputProfileInfoView: View { var body: some View { SMSNavigationTitleView(title: "정보입력") { ScrollView(showsIndicators: false) { - Rectangle() - .fill(Color.sms(.neutral(.n10))) - .frame(maxWidth: .infinity) - .frame(height: 16) + SMSSeparator() VStack(spacing: 32) { InputInformationPageTitleView(title: "프로필", pageCount: 6, selectedPage: 0) diff --git a/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift b/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift index 02e9dcfb..5f963864 100644 --- a/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift +++ b/Projects/Feature/InputSchoolLifeInfoFeature/Sources/Scene/InputSchoolLifeInfoView.swift @@ -12,10 +12,7 @@ struct InputSchoolLifeInfoView: View { var body: some View { GeometryReader { proxy in SMSNavigationTitleView(title: "정보입력") { - Rectangle() - .fill(Color.sms(.neutral(.n10))) - .frame(maxWidth: .infinity) - .frame(height: 16) + SMSSeparator() VStack(spacing: 32) { InputInformationPageTitleView(title: "학교 생활", pageCount: 6, selectedPage: 1) diff --git a/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift b/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift index 86e02c14..f092661a 100644 --- a/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift +++ b/Projects/Feature/InputWorkInfoFeature/Sources/Scene/InputWorkInfoView.swift @@ -15,10 +15,7 @@ struct InputWorkInfoView: View { GeometryReader { proxy in SMSNavigationTitleView(title: "정보입력") { ScrollView(showsIndicators: false) { - Rectangle() - .fill(Color.sms(.neutral(.n10))) - .frame(maxWidth: .infinity) - .frame(height: 16) + SMSSeparator() VStack(spacing: 32) { InputInformationPageTitleView(title: "근무 조건", pageCount: 6, selectedPage: 2) From f9d7a5f33295403d4d66a7565a7d95e4aa696cd5 Mon Sep 17 00:00:00 2001 From: baegteun Date: Sat, 27 May 2023 14:05:52 +0900 Subject: [PATCH 6/6] :heavy_plus_sign: :: BaseFeature -> InputInformationFeautre --- Projects/Feature/InputInformationFeature/Project.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Projects/Feature/InputInformationFeature/Project.swift b/Projects/Feature/InputInformationFeature/Project.swift index e1904978..40acab65 100644 --- a/Projects/Feature/InputInformationFeature/Project.swift +++ b/Projects/Feature/InputInformationFeature/Project.swift @@ -7,6 +7,7 @@ let project = Project.makeModule( product: .staticLibrary, targets: [.interface, .unitTest], internalDependencies: [ + .Feature.BaseFeature, .Feature.InputProfileInfoFeatureInterface, .Feature.InputSchoolLifeInfoFeatureInterface, .Feature.InputWorkInfoFeatureInterface,