-
Notifications
You must be signed in to change notification settings - Fork 0
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
๐ :: ๋ฉ์ธ ํ์ด์ง ์ ์ #173
Conversation
โฆinto 145-main-page-ui
Projects/Domain/StudentDomain/Sources/Endpoint/StudentEndpoint.swift
Outdated
Show resolved
Hide resolved
@@ -30,6 +30,7 @@ final class InputInformationIntent: InputInformationIntentProtocol { | |||
} | |||
|
|||
func completeToInputAllInfo(state: any InputInformationStateProtocol) { | |||
model?.updateIsCompleteToInputAllInfo(isComplete: false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ด ์ด๊ฑฐ guard์์ return๋นํ๋ฉด ๊ทธ๋ false๋ก ๋ฐ๊พธ๋๊ฒ ๋ ์ ์ ํ ๊ฑฐ๊ฐ์๋ฐ ์ฎ๊ฒจ์ฃผ์ธ์ฌ ^^7
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ต ์์ ํ์์ต๋๋ค
โฆ.swift Co-authored-by: baegteun <baegteun@gmail.com>
Task { | ||
if !isLast { | ||
let studentList = try await fetchStudentListUseCase.execute(req: .init(page: page, size: 20)) | ||
model?.appendContent(content: studentList.studentList) | ||
model?.updateTotalSize(totalSize: studentList.totalSize) | ||
model?.updatePage(page: page + 1) | ||
model?.updateIsLast(isLast: studentList.isLast) | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Task ์์ฑํ๋๊ฑฐ๋ง์ผ๋ก๋ cost๊ฐ ๋๋ Task๋ง๋ค๊ธฐ ์ ์ isLast ๊ฒ์ฌํ๋๊ฑฐ ์ด๋ ๊ฐ์? ๊ทธ๋ฆฌ๊ณ guard๋ก ๊ฒ์ฌํ๋๊ฒ ์ข์๊ฑฐ๊ฐ์์
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ข์๊ฑฐ ๊ฐ์ต๋๋ค! ์์ ํ์์ต๋๋ค
@Published var totalSize: Int = 0 | ||
@Published var isLast: Bool = false | ||
@Published var isError: Bool = false | ||
@Published var isSuccess: Bool = false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ํน์ isSuccess ์ด๋ค์ฉ๋์ธ๊ฐ์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ด ์ญ์ ํ์์ต๋๋ค
@State var testString: [String] = ["asfds1234", "12313212w33", "43534545"] | ||
@State private var textSizes: [Int: CGSize] = [:] | ||
@State private var truncatedIndices: [Int] = [] | ||
@State private var shouldTruncateLastText = false | ||
@State private var breakIndex = 0 | ||
@State private var textEmpty = false | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ญ์ ํ์์ต๋๋ค
} | ||
ToolbarItem(placement: .topBarTrailing) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
} | |
ToolbarItem(placement: .topBarTrailing) { | |
} | |
ToolbarItem(placement: .topBarTrailing) { |
์ค๋ฐ๊ฟํ์ํ ๊ฑฐ๊ฐ์์
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์์ ํ์์ต๋๋ค
.clipShape(Circle()) | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
navigationViewStyle stack์ผ๋ก ์ค์ ํด์ฃผ์ธ์
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๋ต ์์ ํ์์ต๋๋ค
struct StudentCellView: View { | ||
var body: some View { | ||
VStack(alignment: .leading) { | ||
SMSIcon(.profile, width: 101, height: 101) | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ญ์ ํ์์ต๋๋ค
|
||
@ViewBuilder | ||
func techStackRow(techStack: [String]) -> some View { | ||
ScrollView(.horizontal, showsIndicators: false) { | ||
LazyHStack { | ||
ForEach(techStack, id: \.self) { text in | ||
Text(text) | ||
.smsFont(.body1, color: .neutral(.n40)) | ||
.padding(.horizontal, 12) | ||
.padding(.vertical, 5.5) | ||
.background( | ||
Color.sms(.neutral(.n10)) | ||
) | ||
.cornerRadius(8) | ||
} | ||
|
||
Spacer() | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Row๋ ๋ฐ๋ณต๋๋ View๋ฅผ ๋์ดํ ๋ ๋จ์ผ View๋ก ์ฐ๋ ์ฉ๋๊ฐ ์ฃผ ์ฉ๋์ด๋ ์ด๋ฆ์ ๋ฐ๊ฟ๋ณด๋๊ฑฐ ์ด๋ค๊ฐ์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ข์๊ฑฐ ๊ฐ์ต๋๋ค! ์์ ํ์์ต๋๋ค
Text(name) | ||
.smsFont(.title2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๊ทธ๋ฅ SMSText๋ก ํ๋๊ฒ ์ด๋ค๊ฐ์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ข์๊ฑฐ ๊ฐ์ต๋๋ค! ์์ ํ์์ต๋๋ค
|
||
Text(major) | ||
.smsFont(.body2) | ||
.padding(.bottom, 16) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ด์ชฝ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ทธ๋ฅ SMSText๊ฐ ์ด๋ค๊ฐ์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ข์๊ฑฐ ๊ฐ์ต๋๋ค! ์์ ํ์์ต๋๋ค
โฆinto 145-main-page-ui
guard isLast else { | ||
Task { | ||
let studentList = try await fetchStudentListUseCase.execute(req: .init(page: page, size: 20)) | ||
model?.appendContent(content: studentList.studentList) | ||
model?.updateTotalSize(totalSize: studentList.totalSize) | ||
model?.updatePage(page: page + 1) | ||
model?.updateIsLast(isLast: studentList.isLast) | ||
} | ||
return | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?
@Published var isLast: Bool = false | ||
@Published var isError: Bool = false | ||
@Published var content: [SingleStudentEntity] = [] | ||
@Published var studentList: PagedStudentListEntity = .init(studentList: [], totalSize: 0, isLast: false) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ด๊ฑฐ ์ฐ๋๋ฐ๊ฐ ์๋๋ฐ ์ ์๋๊ฑด๊ฐ์?
@ViewBuilder | ||
func techStackListView(techStack: [String]) -> some View { | ||
ScrollView(.horizontal, showsIndicators: false) { | ||
LazyHStack { | ||
ForEach(techStack, id: \.self) { text in | ||
Text(text) | ||
.smsFont(.body1, color: .neutral(.n40)) | ||
.padding(.horizontal, 12) | ||
.padding(.vertical, 5.5) | ||
.background( | ||
Color.sms(.neutral(.n10)) | ||
) | ||
.cornerRadius(8) | ||
} | ||
|
||
Spacer() | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
?? ๋ค์ฌ์ฐ๊ธฐ ๋ฌด์จ์ผ์ด
Divider() | ||
.background(Color.sms(.neutral(.n10))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ด๊ฑฐ SMSSeparator ์จ์ฃผ์ธ์
๐ก ๊ฐ์
๋ฉ์ธ ํ์ด์ง ์ ์
๐ ์์ ๋ด์ฉ