시리즈 전체보기

- 아이템 상단 정렬
This commit is contained in:
Yu Sung 2024-05-14 23:11:00 +09:00
parent 523295648b
commit 602ee790eb
2 changed files with 42 additions and 45 deletions

View File

@ -24,7 +24,6 @@ struct SeriesListAllView: View {
ForEach(0..<viewModel.seriesList.count, id: \.self) { index in ForEach(0..<viewModel.seriesList.count, id: \.self) { index in
let item = viewModel.seriesList[index] let item = viewModel.seriesList[index]
SeriesListItemView(itemWidth: (screenSize().width - 40) / 3, item: item) SeriesListItemView(itemWidth: (screenSize().width - 40) / 3, item: item)
.alignmentGuide(.top) { _ in 0 }
.contentShape(Rectangle()) .contentShape(Rectangle())
.onTapGesture { .onTapGesture {
AppState.shared AppState.shared

View File

@ -15,56 +15,54 @@ struct SeriesListItemView: View {
let item: SeriesListItem let item: SeriesListItem
var body: some View { var body: some View {
HStack(alignment: .top) { VStack(alignment: .leading, spacing: 8) {
VStack(alignment: .leading, spacing: 8) { ZStack {
ZStack { KFImage(URL(string: item.coverImage))
KFImage(URL(string: item.coverImage)) .resizable()
.resizable() .scaledToFill()
.scaledToFill() .frame(width: itemWidth, height: itemWidth * 432 / 306)
.frame(width: itemWidth, height: itemWidth * 432 / 306) .cornerRadius(5)
.cornerRadius(5) .clipped()
.clipped()
VStack(alignment: .leading, spacing: 0) { VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 3.3) { HStack(spacing: 3.3) {
if !item.isComplete && item.isNew { if !item.isComplete && item.isNew {
SeriesItemBadgeView(title: "신작", backgroundColor: .button) SeriesItemBadgeView(title: "신작", backgroundColor: .button)
} }
if item.isComplete { if item.isComplete {
SeriesItemBadgeView(title: "완결", backgroundColor: Color(hex: "002abd")) SeriesItemBadgeView(title: "완결", backgroundColor: Color(hex: "002abd"))
} }
if item.isPopular { if item.isPopular {
SeriesItemBadgeView(title: "인기", backgroundColor: Color(hex: "ec6033")) SeriesItemBadgeView(title: "인기", backgroundColor: Color(hex: "ec6033"))
}
Spacer()
} }
Spacer() Spacer()
HStack {
Spacer()
SeriesItemBadgeView(title: "\(item.numberOfContent)", backgroundColor: Color.gray33.opacity(0.7))
}
} }
.padding(3.3)
Spacer()
HStack {
Spacer()
SeriesItemBadgeView(title: "\(item.numberOfContent)", backgroundColor: Color.gray33.opacity(0.7))
}
} }
.padding(3.3)
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color.grayee)
.lineLimit(2)
.frame(width: itemWidth, alignment: .leading)
Text(item.publishedDaysOfWeek)
.font(.custom(Font.medium.rawValue, size: 11))
.foregroundColor(Color.gray77)
.frame(width: itemWidth, alignment: .leading)
} }
.frame(width: itemWidth) .frame(width: itemWidth, height: itemWidth * 432 / 306)
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color.grayee)
.lineLimit(2)
.frame(width: itemWidth, alignment: .leading)
Text(item.publishedDaysOfWeek)
.font(.custom(Font.medium.rawValue, size: 11))
.foregroundColor(Color.gray77)
.frame(width: itemWidth, alignment: .leading)
} }
} }
} }