오디션 상세 페이지 추가
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
//
|
||||
// AuditionDetailRoleItemView.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by klaus on 1/6/25.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import Kingfisher
|
||||
|
||||
struct AuditionDetailRoleItemView: View {
|
||||
|
||||
let item: GetAuditionRoleListData
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 10) {
|
||||
ZStack(alignment: .topLeading) {
|
||||
KFImage(URL(string: item.imageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(size: CGSize(width: 1000, height: 350))
|
||||
.resizable()
|
||||
.aspectRatio(1000/350, contentMode: .fit)
|
||||
.frame(maxWidth: .infinity)
|
||||
.cornerRadius(6.7)
|
||||
.overlay(
|
||||
Color.black
|
||||
.cornerRadius(6.7)
|
||||
.opacity(item.isComplete ? 0.7 : 0.0)
|
||||
)
|
||||
|
||||
Text(item.isComplete ? "모집완료" : "모집중")
|
||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||
.foregroundColor(Color.white)
|
||||
.padding(.horizontal, 9)
|
||||
.padding(.vertical, 3)
|
||||
.background(
|
||||
item.isComplete ? Color.gray90 : Color.button
|
||||
)
|
||||
.cornerRadius(13.3)
|
||||
.padding(.top, 7)
|
||||
.padding(.leading, 7)
|
||||
}
|
||||
.frame(maxWidth: .infinity)
|
||||
|
||||
Text(item.name)
|
||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||
.foregroundColor(Color.grayee)
|
||||
.lineLimit(1)
|
||||
.truncationMode(.tail)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
AuditionDetailRoleItemView(
|
||||
item: GetAuditionRoleListData(
|
||||
roleId: 1,
|
||||
name: "[남주] 김희준",
|
||||
imageUrl: "https://test-cf.sodalive.net/audition/role/7/audition_role-dc4174e1-10b5-4a97-8379-c7a9336ab230-6691-1735908236571",
|
||||
isComplete: false
|
||||
)
|
||||
)
|
||||
}
|
Reference in New Issue
Block a user