Skip to content

Commit

Permalink
Merge pull request #341 from GSM-MSG/334-authentication-form-ui-build…
Browse files Browse the repository at this point in the history
…ing-plus-file-download

🔀 :: [#334] 인증제 파일 다운로드 UI 제작
  • Loading branch information
kimsh153 authored Jul 11, 2024
2 parents 68060e2 + 5535bd7 commit 8108a48
Show file tree
Hide file tree
Showing 81 changed files with 2,363 additions and 317 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,18 @@ public extension TargetDependency.Feature {
}

public extension TargetDependency.Domain {
static let AuthenticationDomainTesting = TargetDependency.project(
target: ModulePaths.Domain.AuthenticationDomain.targetName(type: .testing),
path: .relativeToDomain(ModulePaths.Domain.AuthenticationDomain.rawValue)
)
static let AuthenticationDomainInterface = TargetDependency.project(
target: ModulePaths.Domain.AuthenticationDomain.targetName(type: .interface),
path: .relativeToDomain(ModulePaths.Domain.AuthenticationDomain.rawValue)
)
static let AuthenticationDomain = TargetDependency.project(
target: ModulePaths.Domain.AuthenticationDomain.targetName(type: .sources),
path: .relativeToDomain(ModulePaths.Domain.AuthenticationDomain.rawValue)
)
static let TeacherDomainTesting = TargetDependency.project(
target: ModulePaths.Domain.TeacherDomain.targetName(type: .testing),
path: .relativeToDomain(ModulePaths.Domain.TeacherDomain.rawValue)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public extension ModulePaths {

public extension ModulePaths {
enum Domain: String {
case AuthenticationDomain
case TeacherDomain
case UserDomain
case TechStackDomain
Expand Down
1 change: 1 addition & 0 deletions Projects/App/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ let targets: [Target] = [
.Domain.UserDomain,
.Domain.TechStackDomain,
.Domain.TeacherDomain,
.Domain.AuthenticationDomain,
.Core.JwtStore,
.Shared.KeychainModule
],
Expand Down
12 changes: 12 additions & 0 deletions Projects/App/Sources/Application/DI/AppComponent.swift
Original file line number Diff line number Diff line change
@@ -1,10 +1,14 @@
import AuthDomain
import AuthDomainInterface
import AuthenticationDomain
import AuthenticationDomainInterface
import BaseDomain
import FileDomain
import FileDomainInterface
import FilterFeature
import FilterFeatureInterface
import GSMAuthenticationFormFeature
import GSMAuthenticationFormFeatureInterface
import InputCertificateInfoFeature
import InputCertificateInfoFeatureInterface
import InputInformationFeature
Expand Down Expand Up @@ -124,6 +128,10 @@ final class AppComponent: BootstrapComponent {
SplashComponent(parent: self)
}

public var gsmAuthenticationBuildable: any GSMAuthenticationBuildable {
GSMAuthenticationComponent(parent: self)
}

public var authDomainBuildable: any AuthDomainBuildable {
AuthDomainComponent(parent: self)
}
Expand Down Expand Up @@ -155,4 +163,8 @@ final class AppComponent: BootstrapComponent {
public var keychainBuildable: any KeychainBuildable {
KeychainComponent(parent: self)
}

public var authenticationDomainBuildable: any AuthenticationDomainBuildable {
AuthenticationDomainComponent(parent: self)
}
}
104 changes: 78 additions & 26 deletions Projects/App/Sources/Application/NeedleGenerated.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,17 @@

import AuthDomain
import AuthDomainInterface
import AuthenticationDomain
import AuthenticationDomainInterface
import BaseDomain
import BaseFeature
import FileDomain
import FileDomainInterface
import FilterFeature
import FilterFeatureInterface
import Foundation
import GSMAuthenticationFormFeature
import GSMAuthenticationFormFeatureInterface
import InputAuthenticationFeatureInterface
import InputCertificateInfoFeature
import InputCertificateInfoFeatureInterface
Expand Down Expand Up @@ -84,6 +88,22 @@ private class JwtStoreDependency5613ee3d4fea5093f6faProvider: JwtStoreDependency
private func factoryb27d5aae1eb7e73575a6f47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return JwtStoreDependency5613ee3d4fea5093f6faProvider(appComponent: parent1(component) as! AppComponent)
}
private class GSMAuthenticationDependencydf257bda3051cc91534fProvider: GSMAuthenticationDependency {
var authenticationDomainBuildable: any AuthenticationDomainBuildable {
return appComponent.authenticationDomainBuildable
}
var fileDomainBuildable: any FileDomainBuildable {
return appComponent.fileDomainBuildable
}
private let appComponent: AppComponent
init(appComponent: AppComponent) {
self.appComponent = appComponent
}
}
/// ^->AppComponent->GSMAuthenticationComponent
private func factorye9687e0765e19ddd651cf47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return GSMAuthenticationDependencydf257bda3051cc91534fProvider(appComponent: parent1(component) as! AppComponent)
}
private class SplashDependencye0cb7136f2ec3edfd60aProvider: SplashDependency {
var authDomainBuildable: any AuthDomainBuildable {
return appComponent.authDomainBuildable
Expand Down Expand Up @@ -162,6 +182,9 @@ private class MainDependency7c6a5b4738b211b8e155Provider: MainDependency {
var studentDetailBuildable: any StudentDetailBuildable {
return appComponent.studentDetailBuildable
}
var gsmAuthenticationBuildable: any GSMAuthenticationBuildable {
return appComponent.gsmAuthenticationBuildable
}
var userDomainBuildable: any UserDomainBuildable {
return appComponent.userDomainBuildable
}
Expand Down Expand Up @@ -389,6 +412,19 @@ private class TechStackDomainDependencyc7e8371994569e951d57Provider: TechStackDo
private func factory254149359ff45b2db35bf47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return TechStackDomainDependencyc7e8371994569e951d57Provider(appComponent: parent1(component) as! AppComponent)
}
private class AuthenticationDomainDependency304198d4e760c1e9976dProvider: AuthenticationDomainDependency {
var jwtStoreBuildable: any JwtStoreBuildable {
return appComponent.jwtStoreBuildable
}
private let appComponent: AppComponent
init(appComponent: AppComponent) {
self.appComponent = appComponent
}
}
/// ^->AppComponent->AuthenticationDomainComponent
private func factory399be911d3fd8d0d070af47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return AuthenticationDomainDependency304198d4e760c1e9976dProvider(appComponent: parent1(component) as! AppComponent)
}
private class AuthDomainDependency4518b8977185a5c9ff71Provider: AuthDomainDependency {
var jwtStoreBuildable: any JwtStoreBuildable {
return appComponent.jwtStoreBuildable
Expand Down Expand Up @@ -438,38 +474,46 @@ extension JwtStoreComponent: Registration {
extension AppComponent: Registration {
public func registerItems() {

localTable["rootComponent-RootComponent"] = { [unowned self] in self.rootComponent as Any }
localTable["signinBuildable-any SigninBuildable"] = { [unowned self] in self.signinBuildable as Any }
localTable["inputInformationBuildable-any InputInformationBuildable"] = { [unowned self] in self.inputInformationBuildable as Any }
localTable["inputProfileInfoBuildable-any InputProfileInfoBuildable"] = { [unowned self] in self.inputProfileInfoBuildable as Any }
localTable["inputSchoolLifeInfoBuildable-any InputSchoolLifeInfoBuildable"] = { [unowned self] in self.inputSchoolLifeInfoBuildable as Any }
localTable["inputWorkInfoBuildable-any InputWorkInfoBuildable"] = { [unowned self] in self.inputWorkInfoBuildable as Any }
localTable["inputMilitaryInfoBuildable-any InputMilitaryInfoBuildable"] = { [unowned self] in self.inputMilitaryInfoBuildable as Any }
localTable["inputCertificateInfoBuildable-any InputCertificateInfoBuildable"] = { [unowned self] in self.inputCertificateInfoBuildable as Any }
localTable["inputLanguageInfoBuildable-any InputLanguageInfoBuildable"] = { [unowned self] in self.inputLanguageInfoBuildable as Any }
localTable["inputPrizeInfoBuildable-any InputPrizeInfoBuildable"] = { [unowned self] in self.inputPrizeInfoBuildable as Any }
localTable["inputProjectInfoBuildable-any InputProjectInfoBuildable"] = { [unowned self] in self.inputProjectInfoBuildable as Any }
localTable["mainBuildable-any MainBuildable"] = { [unowned self] in self.mainBuildable as Any }
localTable["myPageBuildable-any MyPageBuildable"] = { [unowned self] in self.myPageBuildable as Any }
localTable["techStackAppendBuildable-any TechStackAppendBuildable"] = { [unowned self] in self.techStackAppendBuildable as Any }
localTable["studentDetailBuildable-any StudentDetailBuildable"] = { [unowned self] in self.studentDetailBuildable as Any }
localTable["filterBuildable-any FilterBuildable"] = { [unowned self] in self.filterBuildable as Any }
localTable["splashBuildable-any SplashBuildable"] = { [unowned self] in self.splashBuildable as Any }
localTable["authDomainBuildable-any AuthDomainBuildable"] = { [unowned self] in self.authDomainBuildable as Any }
localTable["studentDomainBuildable-any StudentDomainBuildable"] = { [unowned self] in self.studentDomainBuildable as Any }
localTable["majorDomainBuildable-any MajorDomainBuildable"] = { [unowned self] in self.majorDomainBuildable as Any }
localTable["fileDomainBuildable-any FileDomainBuildable"] = { [unowned self] in self.fileDomainBuildable as Any }
localTable["userDomainBuildable-any UserDomainBuildable"] = { [unowned self] in self.userDomainBuildable as Any }
localTable["techStackDomainBuildable-any TechStackDomainBuildable"] = { [unowned self] in self.techStackDomainBuildable as Any }
localTable["jwtStoreBuildable-any JwtStoreBuildable"] = { [unowned self] in self.jwtStoreBuildable as Any }
localTable["keychainBuildable-any KeychainBuildable"] = { [unowned self] in self.keychainBuildable as Any }
localTable["rootComponent-RootComponent"] = { self.rootComponent as Any }
localTable["signinBuildable-any SigninBuildable"] = { self.signinBuildable as Any }
localTable["inputInformationBuildable-any InputInformationBuildable"] = { self.inputInformationBuildable as Any }
localTable["inputProfileInfoBuildable-any InputProfileInfoBuildable"] = { self.inputProfileInfoBuildable as Any }
localTable["inputSchoolLifeInfoBuildable-any InputSchoolLifeInfoBuildable"] = { self.inputSchoolLifeInfoBuildable as Any }
localTable["inputWorkInfoBuildable-any InputWorkInfoBuildable"] = { self.inputWorkInfoBuildable as Any }
localTable["inputMilitaryInfoBuildable-any InputMilitaryInfoBuildable"] = { self.inputMilitaryInfoBuildable as Any }
localTable["inputCertificateInfoBuildable-any InputCertificateInfoBuildable"] = { self.inputCertificateInfoBuildable as Any }
localTable["inputLanguageInfoBuildable-any InputLanguageInfoBuildable"] = { self.inputLanguageInfoBuildable as Any }
localTable["inputPrizeInfoBuildable-any InputPrizeInfoBuildable"] = { self.inputPrizeInfoBuildable as Any }
localTable["inputProjectInfoBuildable-any InputProjectInfoBuildable"] = { self.inputProjectInfoBuildable as Any }
localTable["mainBuildable-any MainBuildable"] = { self.mainBuildable as Any }
localTable["myPageBuildable-any MyPageBuildable"] = { self.myPageBuildable as Any }
localTable["techStackAppendBuildable-any TechStackAppendBuildable"] = { self.techStackAppendBuildable as Any }
localTable["studentDetailBuildable-any StudentDetailBuildable"] = { self.studentDetailBuildable as Any }
localTable["filterBuildable-any FilterBuildable"] = { self.filterBuildable as Any }
localTable["splashBuildable-any SplashBuildable"] = { self.splashBuildable as Any }
localTable["gsmAuthenticationBuildable-any GSMAuthenticationBuildable"] = { self.gsmAuthenticationBuildable as Any }
localTable["authDomainBuildable-any AuthDomainBuildable"] = { self.authDomainBuildable as Any }
localTable["studentDomainBuildable-any StudentDomainBuildable"] = { self.studentDomainBuildable as Any }
localTable["majorDomainBuildable-any MajorDomainBuildable"] = { self.majorDomainBuildable as Any }
localTable["fileDomainBuildable-any FileDomainBuildable"] = { self.fileDomainBuildable as Any }
localTable["userDomainBuildable-any UserDomainBuildable"] = { self.userDomainBuildable as Any }
localTable["techStackDomainBuildable-any TechStackDomainBuildable"] = { self.techStackDomainBuildable as Any }
localTable["jwtStoreBuildable-any JwtStoreBuildable"] = { self.jwtStoreBuildable as Any }
localTable["keychainBuildable-any KeychainBuildable"] = { self.keychainBuildable as Any }
localTable["authenticationDomainBuildable-any AuthenticationDomainBuildable"] = { self.authenticationDomainBuildable as Any }
}
}
extension KeychainComponent: Registration {
public func registerItems() {

}
}
extension GSMAuthenticationComponent: Registration {
public func registerItems() {
keyPathToName[\GSMAuthenticationDependency.authenticationDomainBuildable] = "authenticationDomainBuildable-any AuthenticationDomainBuildable"
keyPathToName[\GSMAuthenticationDependency.fileDomainBuildable] = "fileDomainBuildable-any FileDomainBuildable"
}
}
extension SplashComponent: Registration {
public func registerItems() {
keyPathToName[\SplashDependency.authDomainBuildable] = "authDomainBuildable-any AuthDomainBuildable"
Expand Down Expand Up @@ -501,6 +545,7 @@ extension MainComponent: Registration {
keyPathToName[\MainDependency.filterBuildable] = "filterBuildable-any FilterBuildable"
keyPathToName[\MainDependency.myPageBuildable] = "myPageBuildable-any MyPageBuildable"
keyPathToName[\MainDependency.studentDetailBuildable] = "studentDetailBuildable-any StudentDetailBuildable"
keyPathToName[\MainDependency.gsmAuthenticationBuildable] = "gsmAuthenticationBuildable-any GSMAuthenticationBuildable"
keyPathToName[\MainDependency.userDomainBuildable] = "userDomainBuildable-any UserDomainBuildable"
}
}
Expand Down Expand Up @@ -589,6 +634,11 @@ extension TechStackDomainComponent: Registration {
keyPathToName[\TechStackDomainDependency.jwtStoreBuildable] = "jwtStoreBuildable-any JwtStoreBuildable"
}
}
extension AuthenticationDomainComponent: Registration {
public func registerItems() {
keyPathToName[\AuthenticationDomainDependency.jwtStoreBuildable] = "jwtStoreBuildable-any JwtStoreBuildable"
}
}
extension AuthDomainComponent: Registration {
public func registerItems() {
keyPathToName[\AuthDomainDependency.jwtStoreBuildable] = "jwtStoreBuildable-any JwtStoreBuildable"
Expand Down Expand Up @@ -619,10 +669,11 @@ private func registerProviderFactory(_ componentPath: String, _ factory: @escapi

#if !NEEDLE_DYNAMIC

@inline(never) private func register1() {
private func register1() {
registerProviderFactory("^->AppComponent->JwtStoreComponent", factoryb27d5aae1eb7e73575a6f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent", factoryEmptyDependencyProvider)
registerProviderFactory("^->AppComponent->KeychainComponent", factoryEmptyDependencyProvider)
registerProviderFactory("^->AppComponent->GSMAuthenticationComponent", factorye9687e0765e19ddd651cf47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->SplashComponent", factoryace9f05f51d68f4c0677f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InputProjectInfoComponent", factory2378736e5949c5e8e9f4f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->MyPageComponent", factory0f6f456ebf157d02dfb3f47b58f8f304c97af4d5)
Expand All @@ -643,6 +694,7 @@ private func registerProviderFactory(_ componentPath: String, _ factory: @escapi
registerProviderFactory("^->AppComponent->FileDomainComponent", factoryd99c631e7a9c4984df37f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->StudentDomainComponent", factory2686a7e321a220c3265af47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->TechStackDomainComponent", factory254149359ff45b2db35bf47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->AuthenticationDomainComponent", factory399be911d3fd8d0d070af47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->AuthDomainComponent", factoryc9b20c320bb79402d4c1f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->MajorDomainComponent", factoryc6563cd3e82b012ec3bef47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->UserDomainComponent", factory46488402f315d7f9530cf47b58f8f304c97af4d5)
Expand Down
5 changes: 5 additions & 0 deletions Projects/App/Support/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "Briefcases.png",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"images" : [
{
"filename" : "file.svg",
"filename" : "File.svg",
"idiom" : "universal"
}
],
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "file.svg",
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"images" : [
{
"filename" : "person.svg",
"idiom" : "universal"
}
],
"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.
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ extension SMSChipButtonStyle {
.padding(8)
.smsFont(.body1, color: .system(.black))
.background {
configuration.isPressed ? Color.sms(.neutral(.n10)) : .sms(.system(.white))
configuration.isPressed ? Color.sms(.neutral(.n20)) : .sms(.neutral(.n10))
}
.overlay {
RoundedRectangle(cornerRadius: 8).stroke(Color.sms(.system(.black)), lineWidth: 1)
Expand Down
2 changes: 1 addition & 1 deletion Projects/Core/DesignSystem/Sources/File/SMSFileField.swift
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public struct SMSFileField: View {
)
.disabled(true)
.overlay(alignment: .trailing) {
SMSIcon(.file)
SMSIcon(.folder)
.padding(.trailing, 12)
}
.simultaneousGesture(
Expand Down
Loading

0 comments on commit 8108a48

Please sign in to comment.