시리즈 아이템
- 상단을 기준으로 정렬이 되도록 수정
This commit is contained in:
		| @@ -25,10 +25,10 @@ struct SeriesListAllView: View { | ||||
|                 DetailNavigationBar(title: "시리즈 전체보기") | ||||
|                  | ||||
|                 ScrollView(.vertical, showsIndicators: false) { | ||||
|                     LazyVGrid(columns: columns, spacing: 13.3) { | ||||
|                     LazyVGrid(columns: columns, spacing: 16.7) { | ||||
|                         ForEach(0..<viewModel.seriesList.count, id: \.self) { index in | ||||
|                             let item = viewModel.seriesList[index] | ||||
|                             SeriesListItemView(item: item) | ||||
|                             SeriesListItemView(itemWidth: (screenSize().width - 40) / 3, item: item) | ||||
|                                 .contentShape(Rectangle()) | ||||
|                                 .onTapGesture { | ||||
|                                     AppState.shared | ||||
|   | ||||
| @@ -30,7 +30,7 @@ struct UserProfileSeriesView: View { | ||||
|             } | ||||
|              | ||||
|             ScrollView(.horizontal, showsIndicators: false) { | ||||
|                 HStack(spacing: 13.3) { | ||||
|                 HStack(alignment: .top, spacing: 13.3) { | ||||
|                     ForEach(0..<items.count, id: \.self) { | ||||
|                         let item = items[$0] | ||||
|                         SeriesListBigItemView(item: item) | ||||
|   | ||||
| @@ -49,7 +49,7 @@ struct UserProfileCreatorView: View { | ||||
|                             .padding(.horizontal, 16) | ||||
|                             .overlay( | ||||
|                                 RoundedRectangle(cornerRadius: 16.7) | ||||
|                                     .stroke(Color(hex: "9970ff"), lineWidth: 1) | ||||
|                                     .stroke(Color.button, lineWidth: 1) | ||||
|                             ) | ||||
|                             .padding(.top, 13.3) | ||||
|                             .onTapGesture { | ||||
| @@ -79,7 +79,7 @@ struct UserProfileCreatorView: View { | ||||
|              | ||||
|             Text(creator.tags.map { "#\($0)" }.joined(separator: " ")) | ||||
|                 .font(.custom(Font.medium.rawValue, size: 13.3)) | ||||
|                 .foregroundColor(Color(hex: "9970ff")) | ||||
|                 .foregroundColor(Color.button) | ||||
|                 .padding(.top, creator.tags.count > 0 ? 13.3 : 0) | ||||
|              | ||||
|             HStack(spacing: 10) { | ||||
|   | ||||
| @@ -11,67 +11,73 @@ import Kingfisher | ||||
|  | ||||
| struct SeriesListItemView: View { | ||||
|      | ||||
|     let itemWidth: CGFloat | ||||
|     let item: SeriesListItem | ||||
|      | ||||
|     var body: some View { | ||||
|         VStack(alignment: .leading, spacing: 8) { | ||||
|             ZStack { | ||||
|                 KFImage(URL(string: item.coverImage)) | ||||
|                     .resizable() | ||||
|                     .scaledToFill() | ||||
|                     .cornerRadius(5) | ||||
|                     .clipped() | ||||
|                  | ||||
|                 LinearGradient( | ||||
|                     colors: [Color.black.opacity(0.1), Color.black.opacity(0.8)], | ||||
|                     startPoint: .top, | ||||
|                     endPoint: .bottom | ||||
|                 ) | ||||
|                  | ||||
|                 VStack(alignment: .leading, spacing: 0) { | ||||
|                     HStack(spacing: 3.3) { | ||||
|                         if !item.isComplete && item.isNew { | ||||
|                             SeriesItemBadgeView(title: "신작", backgroundColor: .button) | ||||
|                         } | ||||
|                          | ||||
|                         if item.isComplete { | ||||
|                             SeriesItemBadgeView(title: "완결", backgroundColor: Color(hex: "002abd")) | ||||
|                         } | ||||
|                          | ||||
|                         if item.isPopular { | ||||
|                             SeriesItemBadgeView(title: "인기", backgroundColor: Color(hex: "ec6033")) | ||||
|         HStack(alignment: .top) { | ||||
|             VStack(alignment: .leading, spacing: 8) { | ||||
|                 ZStack { | ||||
|                     KFImage(URL(string: item.coverImage)) | ||||
|                         .resizable() | ||||
|                         .scaledToFill() | ||||
|                         .cornerRadius(5) | ||||
|                         .clipped() | ||||
|                      | ||||
|                     LinearGradient( | ||||
|                         colors: [Color.black.opacity(0.1), Color.black.opacity(0.8)], | ||||
|                         startPoint: .top, | ||||
|                         endPoint: .bottom | ||||
|                     ) | ||||
|                      | ||||
|                     VStack(alignment: .leading, spacing: 0) { | ||||
|                         HStack(spacing: 3.3) { | ||||
|                             if !item.isComplete && item.isNew { | ||||
|                                 SeriesItemBadgeView(title: "신작", backgroundColor: .button) | ||||
|                             } | ||||
|                              | ||||
|                             if item.isComplete { | ||||
|                                 SeriesItemBadgeView(title: "완결", backgroundColor: Color(hex: "002abd")) | ||||
|                             } | ||||
|                              | ||||
|                             if item.isPopular { | ||||
|                                 SeriesItemBadgeView(title: "인기", backgroundColor: Color(hex: "ec6033")) | ||||
|                             } | ||||
|                              | ||||
|                             Spacer() | ||||
|                         } | ||||
|                          | ||||
|                         Spacer() | ||||
|                     } | ||||
|                      | ||||
|                     Spacer() | ||||
|                      | ||||
|                     HStack { | ||||
|                         Spacer() | ||||
|                          | ||||
|                         SeriesItemBadgeView(title: "총 \(item.numberOfContent)화", backgroundColor: Color.gray33.opacity(0.7)) | ||||
|                         HStack { | ||||
|                             Spacer() | ||||
|                              | ||||
|                             SeriesItemBadgeView(title: "총 \(item.numberOfContent)화", backgroundColor: Color.gray33.opacity(0.7)) | ||||
|                         } | ||||
|                     } | ||||
|                     .padding(3.3) | ||||
|                 } | ||||
|                 .padding(3.3) | ||||
|                 .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) | ||||
|             } | ||||
|              | ||||
|             Text(item.title) | ||||
|                 .font(.custom(Font.medium.rawValue, size: 12)) | ||||
|                 .foregroundColor(Color.grayee) | ||||
|                 .lineLimit(2) | ||||
|                 .frame(width: (screenSize().width - 60) / 3, alignment: .leading) | ||||
|              | ||||
|             Text(item.publishedDaysOfWeek) | ||||
|                 .font(.custom(Font.medium.rawValue, size: 11)) | ||||
|                 .foregroundColor(Color.gray77) | ||||
|             .frame(width: itemWidth) | ||||
|         } | ||||
|         .frame(width: (screenSize().width - 60) / 3) | ||||
|     } | ||||
| } | ||||
|  | ||||
| #Preview { | ||||
|     SeriesListItemView( | ||||
|         itemWidth: CGFloat(294 / 3), | ||||
|         item: SeriesListItem( | ||||
|             seriesId: 1, | ||||
|             title: "제목, 관심사,프로필+방장, 참여인원(어딘가..)", | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yu Sung
					Yu Sung