Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

๐Ÿ”€ :: FilterFeature ์ œ์ž‘ #221

Merged
merged 39 commits into from
Jul 5, 2023
Merged

Conversation

kimsh153
Copy link
Member

@kimsh153 kimsh153 commented Jul 5, 2023

๐Ÿ’ก ๊ฐœ์š”

FilterFeature ์™„์„ฑ

๐Ÿ“ƒ ์ž‘์—…๋‚ด์šฉ

  • FilterFeature ํผ๋ธ”๋ฆฌ์‹ฑ
  • FilterFeature ์„œ๋ฒ„ํ†ต์‹ 
  • MainFeature์™€ FilterFeature ์—ฐ๊ฒฐ
  • ๋“ฑ๋“ฑ

๐Ÿ”€ ๋ณ€๊ฒฝ์‚ฌํ•ญ

  • SortType์— display ์ƒ์„ฑ๋จ
  • Main ํŽ˜์ด์ง€ ํ•„ํ„ฐ ์ฒ˜๋ฆฌ

kimsh153 added 30 commits May 30, 2023 14:13
@kimsh153 kimsh153 added 0๏ธโƒฃ Priority: Critical ์šฐ์„ ์ˆœ์œ„ - ๊ธด๊ธ‰!!!!! โœจ Feature ์‹ ๊ทœ ๊ธฐ๋Šฅ labels Jul 5, 2023
@kimsh153 kimsh153 self-assigned this Jul 5, 2023
@kimsh153 kimsh153 requested a review from baekteun as a code owner July 5, 2023 10:22
@kimsh153 kimsh153 linked an issue Jul 5, 2023 that may be closed by this pull request
Comment on lines 40 to 45
} else {
if Int(upperValue) ?? 0 < lowValue {
model?.updateUpperScoreValue(upperValue: lowValue)
} else {
model?.updateUpperScoreValue(upperValue: Int(upperValue) ?? 0)
}
Copy link
Member

@baekteun baekteun Jul 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๊ฑฐ else if ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฑฐ ์–ด๋–ค๊ฐ€์š”?

Copy link
Member

@baekteun baekteun Jul 5, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด ํŒŒ์ผ View๋Š” public ์•ˆํ•ด๋„ ๋ ๊ฑฐ๊ฐ™์•„์š”.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FilterOption ๊ตฌ์กฐ์ฒด๋Š” public์œผ๋กœ ์•ˆํ•ด๋„ ๋ ๊ฑฐ๊ฐ™์•„์š”

Projects/Feature/MainFeature/Sources/Scene/MainView.swift Outdated Show resolved Hide resolved
@@ -1,7 +1,7 @@
import Foundation

final class RootModel: ObservableObject, RootStateProtocol {
@Published var sceneType: RootSceneType = .signin
@Published var sceneType: RootSceneType = .main
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

๋‹ค์‹œ ๋Œ๋ ค์ฃผ์‹œ์ฃ 

Comment on lines 25 to 32
filterBuildable: any FilterBuildable,
splashBuildable: any SplashBuildable,
container: MVIContainer<RootIntentProtocol, RootStateProtocol>
) {
self.signinBuildable = signinBuildable
self.inputInformationBuildable = inputInformationBuildable
self.mainBuildable = mainBuildable
self.filterBuildable = filterBuildable
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Root์—์„œ filterBuildable์„ ๋ฐ›๋Š” ์ด์œ ๊ฐ€ ์žˆ๋‚˜์š”?

Comment on lines 51 to 78
if lowValue.contains("๋งŒ์›") {
low = lowValue.replacingOccurrences(of: "๋งŒ์›", with: "")
} else if lowValue.contains("๋งŒ") {
var replacing = lowValue.replacingOccurrences(of: "๋งŒ", with: "")
replacing.removeLast()
low = replacing
} else {
low = lowValue
}
if Int(low) ?? 0 > upperValue {
model?.updateLowerSalaryValue(lowerValue: upperValue)
} else {
model?.updateLowerSalaryValue(lowerValue: Int(low) ?? 0)
}
}

func upperSalaryValue(lowValue: Int, upperValue: String) {
let upp: String
if upperValue.contains("๋งŒ์›") {
upp = upperValue.replacingOccurrences(of: "๋งŒ์›", with: "")
} else if upperValue.contains("๋งŒ") {
var replacing = upperValue.replacingOccurrences(of: "๋งŒ", with: "")
replacing.removeLast()
upp = replacing
} else {
upp = upperValue
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ด๊ฑฐ ์ค‘๋ณต๋˜๋Š” ๋กœ์ง์ธ๊ฑฐ๊ฐ™์€๋ฐ ๋”ฐ๋กœ method ๋นผ์„œ ์ฒ˜๋ฆฌํ•˜๋Š”๊ฑด ์–ด๋–ค๊ฐ€์š”?

Projects/Feature/FilterFeature/Project.swift Show resolved Hide resolved
Comment on lines 27 to 42
func updateIsError(isError: Bool) {
self.isError = isError
}

func updateIsPresentedTeckStackAppend(isPresented: Bool) {
self.isPresentedTechStackAppend = isPresented
}

func updateTeckStacks(techStacks: [String]) {
self.techStacks = techStacks
}

func updateIsLoading(isLoading: Bool) {
self.isLoading = isLoading
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

isError๋ž‘ isLoading ์“ฐ๋Š”๊ณณ์ด ์—†๋Š”๋ฐ ๊ทธ๋ƒฅ ์ฃฝ์ด๋Š”๊ฑฐ ์–ด๋–ค๊ฐ€์š”

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์ข‹์€๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค! ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค

Comment on lines 138 to 155
filterDelegate?.filterDidCompleted(
filterOption:
.init(
majors: Array(state.majorSet),
techStacks: state.techStacks,
grade: state.gradeSet.map(\.rawValue),
classNum: state.classSet.map(\.rawValue),
department: state.departmentSet.map(\.rawValue),
stuNumSort: state.stuNumSortType,
formOfEmployment: state.formOfEmploymentSet.map(\.rawValue),
minGsmAuthenticationScore: state.lowerScoreValue,
maxGsmAuthenticationScore: state.upperScoreValue,
gsmAuthenticationScoreSort: state.scoreSortType,
minSalary: state.lowerSalaryValue,
maxSalary: state.upperSalaryValue,
salarySort: state.salarySortType
)
)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ˜น์‹œ ์ด๊ฑฐ argument ๋ณ€์ˆ˜๋กœ ๋นผ๋Š”๊ฑฐ ์–ด๋–ค๊ฐ€์š”?

Comment on lines 47 to 51
},
data: GradeType.allCases,
id: \.self
) { text in
SMSText("\(text.rawValue)ํ•™๋…„", font: .body2)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ˜น์‹œ data: ๋ž‘ id: ๋ฅผ ํด๋กœ์ ธ๋“ค๋ณด๋‹ค ์œ„์— ์˜ฌ๋ฆฌ๋Š”๊ฑฐ ์–ด๋–ค๊ฐ€์š”? ํด๋กœ์ ธ๋“ค์€ ๋’ค์— ์žˆ๋Š”๊ฒŒ ๊น”๋”ํ• ๊ฑฐ๊ฐ™์•„์š”

Comment on lines 48 to 84
data: GradeType.allCases,
id: \.self
) { text in
SMSText("\(text.rawValue)ํ•™๋…„", font: .body2)
}

checkBoxSection(
text: "๋ฐ˜",
isSelected: {
state.classSet.contains($0)
},
selectAction: {
if state.classSet.contains($0) == false {
intent.classSelect(class: $0)
} else {
intent.classDeSelect(class: $0)
}
},
data: ClassType.allCases,
id: \.self
) { text in
SMSText("\(text.rawValue)๋ฐ˜", font: .body2)
}

checkBoxSection(
text: "ํ•™๊ณผ",
isSelected: {
state.departmentSet.contains($0)
},
selectAction: {
if state.departmentSet.contains($0) == false {
intent.departmentSelect(department: $0)
} else {
intent.departmentDeSelect(department: $0)
}
},
data: DepartmentType.allCases,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ˜น์‹œ ํด๋กœ์ ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ€์ˆ˜๋ช…๋“ค์„ text๋ง๊ณ  ์ข€ ๋” ์ง๊ด€์ ์œผ๋กœ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‚˜์š”?

Comment on lines 74 to 76
isSelected: {
state.departmentSet.contains($0)
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
isSelected: {
state.departmentSet.contains($0)
},
isSelected: state.departmentSet.contains,

๋กœ ๋˜๊ธดํ•œ๋ฐ ํ˜น์‹œ ์ด๊ฑด ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”? ํ˜ธ๋ถˆํ˜ธ ์กฐ๊ธˆ ๊ฐˆ๋ฆด๊ฑฐ๊ฐ™์•„์„œ์š”,

SMSText(text, font: .body2)
}

ConditionView(state.userRole == .guest) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์กฐ๊ฑด ๋ฐ”๊พธ์…”์•ผํ• ๊ฑฐ๊ฐ™์•„์š”

),
bounds: 0...2000
)
.padding(.horizontal, 12)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.padding(.horizontal, 12)
.padding(.horizontal, 12)

indent ์กฐ์ •์ด ํ•„์š”ํ•ด๋ณด์ž…๋‹ˆ๋‹ค

),
bounds: 0...9999
)
.padding(.horizontal, 12)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
.padding(.horizontal, 12)
.padding(.horizontal, 12)

indent ์กฐ์ •์ด ํ•„์š”ํ•ด๋ณด์ž…๋‹ˆ๋‹ค

Comment on lines 151 to 187
HStack {
SMSTextField(
"",
text:
Binding<String>(
get: { "\(state.lowerScoreValue)" },
set: { newValue in
intent.lowerScoreValue(
lowValue: newValue,
upperValue: state.upperScoreValue
)
}
),
isOnClear: false
)
.keyboardType(.numberPad)
.frame(width: 80)

Spacer()

SMSTextField(
"",
text:
Binding<String>(
get: { "\(state.upperScoreValue)" },
set: { newValue in
intent.upperScoreValue(
lowValue: state.lowerScoreValue,
upperValue: newValue
)
}
),
isOnClear: false
)
.keyboardType(.numberPad)
.frame(width: 80)
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ํ˜น์‹œ ์ด๋ถ€๋ถ„ viewBuilder๋กœ ๋นผ๋Š”๊ฑฐ ์–ด๋–ค๊ฐ€์š”? ์žฌ์‚ฌ์šฉ์„ฑ ๋ง๊ณ  ๊ทธ๋ƒฅ ํ•ด๋‹น ์˜์—ญ์˜ view๋กœ์š”

Copy link
Member

@baekteun baekteun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cr

@kimsh153 kimsh153 merged commit d4275a9 into master Jul 5, 2023
@kimsh153 kimsh153 deleted the 150-filter-page-ui branch July 5, 2023 16:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0๏ธโƒฃ Priority: Critical ์šฐ์„ ์ˆœ์œ„ - ๊ธด๊ธ‰!!!!! โœจ Feature ์‹ ๊ทœ ๊ธฐ๋Šฅ
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ํ•„ํ„ฐ ํŽ˜์ด์ง€ UI ์ œ์ž‘
2 participants