Skip to content

Commit

Permalink
Merge pull request #67 from GSM-MSG/58-profile-information-page-ui
Browse files Browse the repository at this point in the history
πŸ”€ :: 정보 μž…λ ₯ - ν”„λ‘œν•„ μž…λ ₯ νŽ˜μ΄μ§€
  • Loading branch information
baekteun authored May 16, 2023
2 parents cce5748 + c1f12e2 commit 1292f80
Show file tree
Hide file tree
Showing 39 changed files with 806 additions and 32 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ public extension TargetDependency {
}

public extension TargetDependency.Feature {
static let RootFeature = TargetDependency.project(
target: ModulePaths.Feature.RootFeature.targetName(type: .sources),
path: .relativeToFeature(ModulePaths.Feature.RootFeature.rawValue)
)
static let InputLanguageInfoFeatureInterface = TargetDependency.project(
target: ModulePaths.Feature.InputLanguageInfoFeature.targetName(type: .interface),
path: .relativeToFeature(ModulePaths.Feature.InputLanguageInfoFeature.rawValue)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ public enum ModulePaths {

public extension ModulePaths {
enum Feature: String {
case RootFeature
case InputLanguageInfoFeature
case InputCertificateInfoFeature
case InputMilitaryInfoFeature
Expand Down
8 changes: 8 additions & 0 deletions Projects/App/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,15 @@ let targets: [Target] = [
resources: ["Resources/**"],
scripts: scripts,
dependencies: [
.Feature.RootFeature,
.Feature.SigninFeature,
.Feature.InputInformationFeature,
.Feature.InputProfileInfoFeature,
.Feature.InputSchoolLifeInfoFeature,
.Feature.InputWorkInfoFeature,
.Feature.InputMilitaryInfoFeature,
.Feature.InputCertificateInfoFeature,
.Feature.InputLanguageInfoFeature,
.Domain.AuthDomain,
.Core.JwtStore,
.Shared.KeychainModule
Expand Down
59 changes: 53 additions & 6 deletions Projects/App/Sources/Application/DI/AppComponent.swift
Original file line number Diff line number Diff line change
@@ -1,24 +1,71 @@
import NeedleFoundation
import SwiftUI
import AuthDomainInterface
import AuthDomain
import SigninFeature
import SigninFeatureInterface
import AuthDomainInterface
import BaseDomain
import InputCertificateInfoFeature
import InputCertificateInfoFeatureInterface
import InputInformationFeature
import InputInformationFeatureInterface
import InputLanguageInfoFeature
import InputLanguageInfoFeatureInterface
import InputMilitaryInfoFeature
import InputMilitaryInfoFeatureInterface
import InputProfileInfoFeature
import InputProfileInfoFeatureInterface
import InputSchoolLifeInfoFeature
import InputSchoolLifeInfoFeatureInterface
import InputWorkInfoFeature
import InputWorkInfoFeatureInterface
import RootFeature
import JwtStore
import JwtStoreInterface
import KeychainModule
import KeychainModuleInterface
import NeedleFoundation
import SigninFeature
import SigninFeatureInterface
import SwiftUI

final class AppComponent: BootstrapComponent {
func makeRootView() -> some View {
signinBuildable.makeView().eraseToAnyView()
rootComponent.makeView()
}

var rootComponent: RootComponent {
RootComponent(parent: self)
}

var signinBuildable: any SigninBuildable {
SigninComponent(parent: self)
}

var inputInformationBuildable: any InputInformationBuildable {
InputInformationComponent(parent: self)
}

var inputProfileInfoBuildable: any InputProfileInfoBuildable {
InputProfileInfoComponent(parent: self)
}

var inputSchoolLifeInfoBuildable: any InputSchoolListInfoBuildable {
InputSchoolLifeInfoComponent(parent: self)
}

var inputWorkInfoBuildable: any InputWorkInfoBuildable {
InputWorkInfoComponent(parent: self)
}

var inputMilitaryInfoBuildable: any InputMilitaryInfoBuildable {
InputMilitaryInfoComponent(parent: self)
}

var inputCertificateInfoBuildable: any InputCertificateInfoBuildable {
InputCertificateInfoComponent(parent: self)
}

var inputLanguageInfoBuildable: any InputLanguageInfoBuildable {
InputLanguageInfoComponent(parent: self)
}

var authDomainBuildable: any AuthDomainBuildable {
AuthDomainComponent(parent: self)
}
Expand Down
161 changes: 160 additions & 1 deletion Projects/App/Sources/Application/NeedleGenerated.swift
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,26 @@ import AuthDomain
import AuthDomainInterface
import BaseDomain
import BaseFeature
import InputCertificateInfoFeature
import InputCertificateInfoFeatureInterface
import InputInformationFeature
import InputInformationFeatureInterface
import InputLanguageInfoFeature
import InputLanguageInfoFeatureInterface
import InputMilitaryInfoFeature
import InputMilitaryInfoFeatureInterface
import InputProfileInfoFeature
import InputProfileInfoFeatureInterface
import InputSchoolLifeInfoFeature
import InputSchoolLifeInfoFeatureInterface
import InputWorkInfoFeature
import InputWorkInfoFeatureInterface
import JwtStore
import JwtStoreInterface
import KeychainModule
import KeychainModuleInterface
import NeedleFoundation
import RootFeature
import SigninFeature
import SigninFeatureInterface
import SwiftUI
Expand Down Expand Up @@ -39,6 +54,44 @@ private class JwtStoreDependency5613ee3d4fea5093f6faProvider: JwtStoreDependency
private func factoryb27d5aae1eb7e73575a6f47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return JwtStoreDependency5613ee3d4fea5093f6faProvider(appComponent: parent1(component) as! AppComponent)
}
private class InputWorkInfoDependency74441f61366e4e5af9a2Provider: InputWorkInfoDependency {


init() {

}
}
/// ^->AppComponent->InputWorkInfoComponent
private func factoryfff86bd7854b30412216e3b0c44298fc1c149afb(_ component: NeedleFoundation.Scope) -> AnyObject {
return InputWorkInfoDependency74441f61366e4e5af9a2Provider()
}
private class InputSchoolLifeInfoDependency30edf0903f9bdb7a60fbProvider: InputSchoolLifeInfoDependency {


init() {

}
}
/// ^->AppComponent->InputSchoolLifeInfoComponent
private func factorydc1feebed8f042db375fe3b0c44298fc1c149afb(_ component: NeedleFoundation.Scope) -> AnyObject {
return InputSchoolLifeInfoDependency30edf0903f9bdb7a60fbProvider()
}
private class RootDependency3944cc797a4a88956fb5Provider: RootDependency {
var signinBuildable: any SigninBuildable {
return appComponent.signinBuildable
}
var inputInformationBuildable: any InputInformationBuildable {
return appComponent.inputInformationBuildable
}
private let appComponent: AppComponent
init(appComponent: AppComponent) {
self.appComponent = appComponent
}
}
/// ^->AppComponent->RootComponent
private func factory264bfc4d4cb6b0629b40f47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return RootDependency3944cc797a4a88956fb5Provider(appComponent: parent1(component) as! AppComponent)
}
private class SigninDependencyde06a9d0b22764487733Provider: SigninDependency {
var authDomainBuildable: any AuthDomainBuildable {
return appComponent.authDomainBuildable
Expand All @@ -52,6 +105,63 @@ private class SigninDependencyde06a9d0b22764487733Provider: SigninDependency {
private func factory2882a056d84a613debccf47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return SigninDependencyde06a9d0b22764487733Provider(appComponent: parent1(component) as! AppComponent)
}
private class InputMilitaryInfoDependency0cd58f3f7088aec361b6Provider: InputMilitaryInfoDependency {


init() {

}
}
/// ^->AppComponent->InputMilitaryInfoComponent
private func factory6e35522c47cca1190471e3b0c44298fc1c149afb(_ component: NeedleFoundation.Scope) -> AnyObject {
return InputMilitaryInfoDependency0cd58f3f7088aec361b6Provider()
}
private class InputLanguageInfoDependencye83ef16d0fe38d31cb64Provider: InputLanguageInfoDependency {


init() {

}
}
/// ^->AppComponent->InputLanguageInfoComponent
private func factory36893d70245037098109e3b0c44298fc1c149afb(_ component: NeedleFoundation.Scope) -> AnyObject {
return InputLanguageInfoDependencye83ef16d0fe38d31cb64Provider()
}
private class InputInformationDependency7b32a8e7e8a8f0ab5466Provider: InputInformationDependency {
var inputProfileInfoBuildable: any InputProfileInfoBuildable {
return appComponent.inputProfileInfoBuildable
}
private let appComponent: AppComponent
init(appComponent: AppComponent) {
self.appComponent = appComponent
}
}
/// ^->AppComponent->InputInformationComponent
private func factory0b9613d8c923fa9ae897f47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return InputInformationDependency7b32a8e7e8a8f0ab5466Provider(appComponent: parent1(component) as! AppComponent)
}
private class InputCertificateInfoDependencyd369771b4dc3e8540791Provider: InputCertificateInfoDependency {


init() {

}
}
/// ^->AppComponent->InputCertificateInfoComponent
private func factory9df85876e39e1206b924e3b0c44298fc1c149afb(_ component: NeedleFoundation.Scope) -> AnyObject {
return InputCertificateInfoDependencyd369771b4dc3e8540791Provider()
}
private class InputProfileInfoDependencydedc6189ad35e7ff3001Provider: InputProfileInfoDependency {


init() {

}
}
/// ^->AppComponent->InputProfileInfoComponent
private func factoryb3d74d9bff60efbc0282e3b0c44298fc1c149afb(_ component: NeedleFoundation.Scope) -> AnyObject {
return InputProfileInfoDependencydedc6189ad35e7ff3001Provider()
}
private class AuthDomainDependency4518b8977185a5c9ff71Provider: AuthDomainDependency {
var jwtStoreBuildable: any JwtStoreBuildable {
return appComponent.jwtStoreBuildable
Expand Down Expand Up @@ -83,11 +193,52 @@ extension KeychainComponent: Registration {

}
}
extension InputWorkInfoComponent: Registration {
public func registerItems() {

}
}
extension InputSchoolLifeInfoComponent: Registration {
public func registerItems() {

}
}
extension RootComponent: Registration {
public func registerItems() {
keyPathToName[\RootDependency.signinBuildable] = "signinBuildable-any SigninBuildable"
keyPathToName[\RootDependency.inputInformationBuildable] = "inputInformationBuildable-any InputInformationBuildable"
}
}
extension SigninComponent: Registration {
public func registerItems() {
keyPathToName[\SigninDependency.authDomainBuildable] = "authDomainBuildable-any AuthDomainBuildable"
}
}
extension InputMilitaryInfoComponent: Registration {
public func registerItems() {

}
}
extension InputLanguageInfoComponent: Registration {
public func registerItems() {

}
}
extension InputInformationComponent: Registration {
public func registerItems() {
keyPathToName[\InputInformationDependency.inputProfileInfoBuildable] = "inputProfileInfoBuildable-any InputProfileInfoBuildable"
}
}
extension InputCertificateInfoComponent: Registration {
public func registerItems() {

}
}
extension InputProfileInfoComponent: Registration {
public func registerItems() {

}
}
extension AuthDomainComponent: Registration {
public func registerItems() {
keyPathToName[\AuthDomainDependency.jwtStoreBuildable] = "jwtStoreBuildable-any JwtStoreBuildable"
Expand All @@ -108,11 +259,19 @@ private func registerProviderFactory(_ componentPath: String, _ factory: @escapi

#if !NEEDLE_DYNAMIC

private func register1() {
@inline(never) private func register1() {
registerProviderFactory("^->AppComponent->JwtStoreComponent", factoryb27d5aae1eb7e73575a6f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent", factoryEmptyDependencyProvider)
registerProviderFactory("^->AppComponent->KeychainComponent", factoryEmptyDependencyProvider)
registerProviderFactory("^->AppComponent->InputWorkInfoComponent", factoryfff86bd7854b30412216e3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->InputSchoolLifeInfoComponent", factorydc1feebed8f042db375fe3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->RootComponent", factory264bfc4d4cb6b0629b40f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->SigninComponent", factory2882a056d84a613debccf47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InputMilitaryInfoComponent", factory6e35522c47cca1190471e3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->InputLanguageInfoComponent", factory36893d70245037098109e3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->InputInformationComponent", factory0b9613d8c923fa9ae897f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InputCertificateInfoComponent", factory9df85876e39e1206b924e3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->InputProfileInfoComponent", factoryb3d74d9bff60efbc0282e3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->AuthDomainComponent", factoryc9b20c320bb79402d4c1f47b58f8f304c97af4d5)
}
#endif
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "Profile.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Profile 1.svg",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Profile 2.svg",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 1292f80

Please sign in to comment.