Skip to content

Commit

Permalink
Merge pull request #378 from School-of-Company/377-school-list-page-p…
Browse files Browse the repository at this point in the history
…ublishing

🔀 :: [#377] 학교 목록 페이지 퍼블리싱
  • Loading branch information
uuuunseo authored Jul 22, 2024
2 parents f0ea015 + 136bcdd commit 371f966
Show file tree
Hide file tree
Showing 25 changed files with 436 additions and 140 deletions.
21 changes: 21 additions & 0 deletions App/Resources/Icon/Icons.xcassets/pen_fill.imageset/Contents.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"images" : [
{
"filename" : "penFill.svg",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"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.
2 changes: 1 addition & 1 deletion App/Sources/Application/BitgouelApp.swift
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import SwiftUI

@main
struct BitgouelApp: App {
@StateObject private var sceneState = SceneState(sceneFlow: .login)
@StateObject private var sceneState = SceneState(sceneFlow: .main)
@StateObject private var adminPageState = AdminPageState(adminPageFlow: .user)

init() {
Expand Down
86 changes: 43 additions & 43 deletions App/Sources/Application/NeedleGenerated.swift
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,37 @@ private class MyPageDependency48d84b530313b3ee40feProvider: MyPageDependency {
private func factory0f6f456ebf157d02dfb3f47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return MyPageDependency48d84b530313b3ee40feProvider(appComponent: parent1(component) as! AppComponent)
}
private class AdminRootDependencyce6cd0efed469d5d1848Provider: AdminRootDependency {
var userListFactory: any UserListFactory {
return appComponent.userListFactory
}
var requestUserSignupFactory: any RequestUserSignupFactory {
return appComponent.requestUserSignupFactory
}
var withdrawUserListFactory: any WithdrawUserListFactory {
return appComponent.withdrawUserListFactory
}
var schoolListFactory: any SchoolListFactory {
return appComponent.schoolListFactory
}
var companyListFactory: any CompanyListFactory {
return appComponent.companyListFactory
}
var universityListFactory: any UniversityListFactory {
return appComponent.universityListFactory
}
var governmentListFactory: any GovernmentListFactory {
return appComponent.governmentListFactory
}
private let appComponent: AppComponent
init(appComponent: AppComponent) {
self.appComponent = appComponent
}
}
/// ^->AppComponent->AdminRootComponent
private func factoryc93d1d06706bf3dab12ff47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return AdminRootDependencyce6cd0efed469d5d1848Provider(appComponent: parent1(component) as! AppComponent)
}
private class InquiryDetailDependencyf68d260d1f6dc07aaedbProvider: InquiryDetailDependency {
var inputInquiryFactory: any InputInquiryFactory {
return appComponent.inputInquiryFactory
Expand Down Expand Up @@ -837,37 +868,6 @@ private class NoticeDetailDependency3e09bbd26d7f6105e665Provider: NoticeDetailDe
private func factory0798e0f01e95aeaff56ff47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return NoticeDetailDependency3e09bbd26d7f6105e665Provider(appComponent: parent1(component) as! AppComponent)
}
private class AdminRootDependencyce6cd0efed469d5d1848Provider: AdminRootDependency {
var userListFactory: any UserListFactory {
return appComponent.userListFactory
}
var requestUserSignupFactory: any RequestUserSignupFactory {
return appComponent.requestUserSignupFactory
}
var withdrawUserListFactory: any WithdrawUserListFactory {
return appComponent.withdrawUserListFactory
}
var schoolListFactory: any SchoolListFactory {
return appComponent.schoolListFactory
}
var companyListFactory: any CompanyListFactory {
return appComponent.companyListFactory
}
var universityListFactory: any UniversityListFactory {
return appComponent.universityListFactory
}
var governmentListFactory: any GovernmentListFactory {
return appComponent.governmentListFactory
}
private let appComponent: AppComponent
init(appComponent: AppComponent) {
self.appComponent = appComponent
}
}
/// ^->AppComponent->AdminRootComponent
private func factoryc93d1d06706bf3dab12ff47b58f8f304c97af4d5(_ component: NeedleFoundation.Scope) -> AnyObject {
return AdminRootDependencyce6cd0efed469d5d1848Provider(appComponent: parent1(component) as! AppComponent)
}
private class InputInquiryDependency0f59954f6ae75e794799Provider: InputInquiryDependency {
var inputInquiryUseCase: any InputInquiryUseCase {
return appComponent.inputInquiryUseCase
Expand Down Expand Up @@ -993,6 +993,17 @@ extension MyPageComponent: Registration {
keyPathToName[\MyPageDependency.withdrawalUseCase] = "withdrawalUseCase-any WithdrawalUseCase"
}
}
extension AdminRootComponent: Registration {
public func registerItems() {
keyPathToName[\AdminRootDependency.userListFactory] = "userListFactory-any UserListFactory"
keyPathToName[\AdminRootDependency.requestUserSignupFactory] = "requestUserSignupFactory-any RequestUserSignupFactory"
keyPathToName[\AdminRootDependency.withdrawUserListFactory] = "withdrawUserListFactory-any WithdrawUserListFactory"
keyPathToName[\AdminRootDependency.schoolListFactory] = "schoolListFactory-any SchoolListFactory"
keyPathToName[\AdminRootDependency.companyListFactory] = "companyListFactory-any CompanyListFactory"
keyPathToName[\AdminRootDependency.universityListFactory] = "universityListFactory-any UniversityListFactory"
keyPathToName[\AdminRootDependency.governmentListFactory] = "governmentListFactory-any GovernmentListFactory"
}
}
extension InquiryDetailComponent: Registration {
public func registerItems() {
keyPathToName[\InquiryDetailDependency.inputInquiryFactory] = "inputInquiryFactory-any InputInquiryFactory"
Expand Down Expand Up @@ -1217,17 +1228,6 @@ extension NoticeDetailViewComponent: Registration {
keyPathToName[\NoticeDetailDependency.deletePostUseCase] = "deletePostUseCase-any DeletePostUseCase"
}
}
extension AdminRootComponent: Registration {
public func registerItems() {
keyPathToName[\AdminRootDependency.userListFactory] = "userListFactory-any UserListFactory"
keyPathToName[\AdminRootDependency.requestUserSignupFactory] = "requestUserSignupFactory-any RequestUserSignupFactory"
keyPathToName[\AdminRootDependency.withdrawUserListFactory] = "withdrawUserListFactory-any WithdrawUserListFactory"
keyPathToName[\AdminRootDependency.schoolListFactory] = "schoolListFactory-any SchoolListFactory"
keyPathToName[\AdminRootDependency.companyListFactory] = "companyListFactory-any CompanyListFactory"
keyPathToName[\AdminRootDependency.universityListFactory] = "universityListFactory-any UniversityListFactory"
keyPathToName[\AdminRootDependency.governmentListFactory] = "governmentListFactory-any GovernmentListFactory"
}
}
extension InputInquiryComponent: Registration {
public func registerItems() {
keyPathToName[\InputInquiryDependency.inputInquiryUseCase] = "inputInquiryUseCase-any InputInquiryUseCase"
Expand Down Expand Up @@ -1434,6 +1434,7 @@ private func registerProviderFactory(_ componentPath: String, _ factory: @escapi
registerProviderFactory("^->AppComponent->MainTabComponent", factory1ab5a747ddf21e1393f9f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->NoticeDetailSettingComponent", factory24d19202afbef2333be9e3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->MyPageComponent", factory0f6f456ebf157d02dfb3f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->AdminRootComponent", factoryc93d1d06706bf3dab12ff47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InquiryDetailComponent", factory2d6736bd037393a86ae3f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InputNoticeComponent", factory4545df5fcd42aaf8ed60f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->LectureDetailSettingComponent", factoryd0ffb7dfc6fd9633e0e6f47b58f8f304c97af4d5)
Expand Down Expand Up @@ -1465,7 +1466,6 @@ private func registerProviderFactory(_ componentPath: String, _ factory: @escapi
registerProviderFactory("^->AppComponent->PostDetailSettingComponent", factoryaacb19523586bb790cade3b0c44298fc1c149afb)
registerProviderFactory("^->AppComponent->ActivityDetailComponent", factory7c395808ac9dfb8fb229f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->NoticeDetailViewComponent", factory0798e0f01e95aeaff56ff47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->AdminRootComponent", factoryc93d1d06706bf3dab12ff47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InputInquiryComponent", factory818540ce7b5cc0ed9d3bf47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent->InputActivityComponent", factory3fc1a279eeb8c906e603f47b58f8f304c97af4d5)
registerProviderFactory("^->AppComponent", factoryEmptyDependencyProvider)
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
import SwiftUI

public enum ActivateType {
case check
case add
case pen
}

public struct ActivateButton: View {
let text: String
let buttonType: ActivateType
let action: () -> Void

public var body: some View {
HStack {
Spacer()

HStack(spacing: 8) {
buttonIcon()
.renderingMode(.template)

BitgouelText(
text: text,
font: .text2
)
}
.padding(.vertical, 12)

Spacer()
}
.foregroundColor(.white)
.background(Color.bitgouel(.primary(.p5)))
.cornerRadius(8, corners: .allCorners)
.buttonWrapper {
action()
}
}

func buttonIcon() -> Image {
switch buttonType {
case .check:
return BitgouelAsset.Icons.checkFill.swiftUIImage

case .add:
return BitgouelAsset.Icons.addFill.swiftUIImage

case .pen:
return BitgouelAsset.Icons.penFill.swiftUIImage
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import SwiftUI

public enum deactivateType {
case minus
case cancel
}

public struct DeactivateButton: View {
let text: String
let buttonType: deactivateType
let action: () -> Void

public var body: some View {
HStack {
Spacer()

HStack(spacing: 8) {
ButtonIcon()
.renderingMode(.template)

BitgouelText(
text: text,
font: .text2
)
}
.padding(.vertical, 12)

Spacer()
}
.foregroundColor(.white)
.background(Color.bitgouel(.error(.e5)))
.cornerRadius(8, corners: .allCorners)
.buttonWrapper(action)
}

func ButtonIcon() -> Image {
switch buttonType {
case .minus:
BitgouelAsset.Icons.minusFill.swiftUIImage

case .cancel:
BitgouelAsset.Icons.cancelFill.swiftUIImage
}
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -157,11 +157,17 @@ struct RequestUserSignupView: View {
@ViewBuilder
func handleRequest() -> some View {
HStack(spacing: 8) {
RejectionButton {
DeactivateButton(
text: "거절",
buttonType: .cancel
) {
viewModel.updateIsShowingRejectAlert(isShowing: true)
}

AcceptButton {
ActivateButton(
text: "수락",
buttonType: .check
) {
viewModel.updateIsShowingApproveAlert(isShowing: true)
}
}
Expand Down
Loading

0 comments on commit 371f966

Please sign in to comment.