커스텀 폰트 pretendard-bold, gmarket-bold를 사용하고 있던 것을 appFont 모디파이어를 사용하여 한국어는 pretendard, 그 외에는 시스템 폰트를 사용하도록 수정
This commit is contained in:
@@ -20,7 +20,7 @@ struct ContentRankingAllView: View {
|
||||
|
||||
VStack(spacing: 8) {
|
||||
Text("\(viewModel.dateString)")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Text("※ 인기 콘텐츠의 순위는 매주 업데이트됩니다.")
|
||||
@@ -63,7 +63,7 @@ struct ContentRankingAllView: View {
|
||||
.cornerRadius(5.3)
|
||||
|
||||
Text("\(index + 1)")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "3bb9f1"))
|
||||
.padding(.horizontal, 12)
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ struct ContentListView: View {
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("콘텐츠 전체보기")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ struct ContentListView: View {
|
||||
|
||||
if userId == UserDefaults.int(forKey: .userId) {
|
||||
Text("새로운 콘텐츠 등록하기")
|
||||
.font(.custom(Font.bold.rawValue, size: 15))
|
||||
.appFont(size: 15, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.padding(.vertical, 17)
|
||||
.frame(maxWidth: .infinity)
|
||||
|
||||
@@ -29,7 +29,7 @@ struct ContentCreateSelectThemeView: View {
|
||||
VStack(spacing: 0) {
|
||||
HStack(alignment: .top, spacing: 0) {
|
||||
Text("테마 선택")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -29,7 +29,7 @@ struct ContentCreateView: View {
|
||||
ScrollView(.vertical, showsIndicators: false) {
|
||||
VStack(spacing: 0) {
|
||||
Text("썸네일")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -62,7 +62,7 @@ struct ContentCreateView: View {
|
||||
.onTapGesture { isShowPhotoPicker = true }
|
||||
|
||||
Text("등록")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(.top, 13.3)
|
||||
@@ -92,7 +92,7 @@ struct ContentCreateView: View {
|
||||
|
||||
VStack(spacing: 0) {
|
||||
Text("제목")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -110,7 +110,7 @@ struct ContentCreateView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("내용")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Spacer()
|
||||
@@ -135,7 +135,7 @@ struct ContentCreateView: View {
|
||||
.padding(.top, 13.3)
|
||||
|
||||
Text("테마")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(.top, 26.7)
|
||||
@@ -158,7 +158,7 @@ struct ContentCreateView: View {
|
||||
Text(viewModel.theme != nil ?
|
||||
viewModel.theme!.theme :
|
||||
I18n.CreateContent.selectTheme)
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
}
|
||||
.padding(.vertical, viewModel.theme != nil ? 8 : 13.3)
|
||||
@@ -177,7 +177,7 @@ struct ContentCreateView: View {
|
||||
}
|
||||
|
||||
Text("태그")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(.top, 26.7)
|
||||
@@ -204,7 +204,7 @@ struct ContentCreateView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("가격 설정")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -225,7 +225,7 @@ struct ContentCreateView: View {
|
||||
if !viewModel.isFree {
|
||||
VStack(spacing: 13.3) {
|
||||
Text("소장 설정")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -261,7 +261,7 @@ struct ContentCreateView: View {
|
||||
TextField("가격을 입력하세요(5캔 이상)", text: $viewModel.priceString)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.cornerRadius(6.7)
|
||||
.keyboardType(.numberPad)
|
||||
@@ -305,7 +305,7 @@ struct ContentCreateView: View {
|
||||
if viewModel.price > 0 && viewModel.purchaseOption != .RENT_ONLY {
|
||||
VStack(spacing: 13.3) {
|
||||
Text("한정판 설정")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -327,7 +327,7 @@ struct ContentCreateView: View {
|
||||
TextField("한정판 개수를 입력하세요", text: $viewModel.limitedString)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.cornerRadius(6.7)
|
||||
.keyboardType(.numberPad)
|
||||
@@ -342,7 +342,7 @@ struct ContentCreateView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("포인트 사용")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -364,7 +364,7 @@ struct ContentCreateView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("미리듣기")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -387,7 +387,7 @@ struct ContentCreateView: View {
|
||||
if viewModel.isGeneratePreview {
|
||||
VStack(spacing: 10) {
|
||||
Text("미리듣기 시간 설정")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -406,7 +406,7 @@ struct ContentCreateView: View {
|
||||
TextField("00:00:00", text: $viewModel.previewStartTime)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.6))
|
||||
.appFont(size: 14.6, weight: .bold)
|
||||
.foregroundColor(Color.gray77)
|
||||
.padding(.vertical, 16.7)
|
||||
.padding(.horizontal, 13.3)
|
||||
@@ -425,7 +425,7 @@ struct ContentCreateView: View {
|
||||
TextField("00:00:15", text: $viewModel.previewEndTime)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.6))
|
||||
.appFont(size: 14.6, weight: .bold)
|
||||
.foregroundColor(Color.gray77)
|
||||
.padding(.vertical, 16.7)
|
||||
.padding(.horizontal, 13.3)
|
||||
@@ -446,7 +446,7 @@ struct ContentCreateView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("연령 제한")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -475,7 +475,7 @@ struct ContentCreateView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("댓글 가능 여부")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -498,7 +498,7 @@ struct ContentCreateView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text(I18n.CreateContent.publishReserved)
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -573,7 +573,7 @@ struct ContentCreateView: View {
|
||||
VStack(spacing: 0) {
|
||||
HStack(alignment: .top, spacing: 0) {
|
||||
Text("등록")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.white)
|
||||
.frame(height: 50)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -697,7 +697,7 @@ struct SelectButtonView: View {
|
||||
}
|
||||
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(isChecked ? .white : Color.main)
|
||||
}
|
||||
.frame(height: 48.7)
|
||||
|
||||
@@ -20,7 +20,7 @@ struct AudioContentDeleteDialogView: View {
|
||||
var body: some View {
|
||||
VStack(spacing: 0) {
|
||||
Text("콘텐츠 삭제")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Text("[\(title)]을 삭제하시겠습니까?")
|
||||
@@ -57,7 +57,7 @@ struct AudioContentDeleteDialogView: View {
|
||||
|
||||
HStack(spacing: 12) {
|
||||
Text("취소")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "9970ff"))
|
||||
.padding(.horizontal, 55)
|
||||
.padding(.vertical, 16)
|
||||
@@ -71,7 +71,7 @@ struct AudioContentDeleteDialogView: View {
|
||||
}
|
||||
|
||||
Text("확인")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.padding(.horizontal, 55)
|
||||
.padding(.vertical, 16)
|
||||
|
||||
@@ -32,7 +32,7 @@ struct AudioContentReportDialogView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("콘텐츠 신고")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
@@ -66,7 +66,7 @@ struct AudioContentReportDialogView: View {
|
||||
|
||||
HStack(spacing: 12) {
|
||||
Text("취소")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "9970ff"))
|
||||
.padding(.vertical, 16)
|
||||
.frame(width: (screenSize().width - 100) / 2)
|
||||
@@ -80,7 +80,7 @@ struct AudioContentReportDialogView: View {
|
||||
}
|
||||
|
||||
Text("신고")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.padding(.vertical, 16)
|
||||
.frame(width: (screenSize().width - 100) / 2)
|
||||
|
||||
@@ -82,7 +82,7 @@ struct AudioContentCommentItemView: View {
|
||||
.frame(width: 13.3, height: 13.3)
|
||||
|
||||
Text("\(commentItem.donationCan)")
|
||||
.font(.custom(Font.bold.rawValue, size: 12))
|
||||
.appFont(size: 12, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
}
|
||||
.padding(.horizontal, 6.7)
|
||||
|
||||
@@ -26,12 +26,12 @@ struct ContentDetailInfoLimitedEditionView: View {
|
||||
|
||||
if let orderSequence = orderSequence {
|
||||
Text("\(orderSequence)")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
.padding(.leading, 5.3)
|
||||
|
||||
Text("/")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayd2)
|
||||
.padding(.leading, 2.3)
|
||||
|
||||
@@ -56,7 +56,7 @@ struct ContentDetailInfoLimitedEditionView: View {
|
||||
.foregroundColor(Color.grayd2)
|
||||
|
||||
Text("\(remainingContentCount)")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
.padding(.leading, 5.3)
|
||||
}
|
||||
@@ -70,7 +70,7 @@ struct ContentDetailInfoLimitedEditionView: View {
|
||||
|
||||
if !buyerList.isEmpty {
|
||||
Text("구매자")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
ScrollView(.horizontal, showsIndicators: false) {
|
||||
|
||||
@@ -81,7 +81,7 @@ struct ContentDetailInfoView: View {
|
||||
}
|
||||
|
||||
Text(audioContent.translated?.title ?? audioContent.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayd2)
|
||||
.lineSpacing(5)
|
||||
.multilineTextAlignment(.leading)
|
||||
|
||||
@@ -16,7 +16,7 @@ struct ContentDetailOtherContentView: View {
|
||||
var body: some View {
|
||||
VStack(spacing: 21.3) {
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
|
||||
@@ -63,7 +63,7 @@ struct ContentDetailPlayView: View {
|
||||
|
||||
if let _ = audioContent.totalContentCount, let remainingContentCount = audioContent.remainingContentCount, remainingContentCount <= 0, audioContent.creator.creatorId != UserDefaults.int(forKey: .userId), !audioContent.existOrdered {
|
||||
Text("Sold Out")
|
||||
.font(.custom(Font.bold.rawValue, size: 36.7))
|
||||
.appFont(size: 36.7, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.frame(
|
||||
width: screenSize().width - 26.7,
|
||||
|
||||
@@ -22,7 +22,7 @@ struct ContentDetailPurchaseButton: View {
|
||||
}
|
||||
|
||||
Text(UserDefaults.int(forKey: .userId) == 17958 ? "\(price * 110)" : "\(price)")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.leading, 5.3)
|
||||
|
||||
@@ -31,7 +31,7 @@ struct ContentDetailPurchaseButton: View {
|
||||
.foregroundColor(.white)
|
||||
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
}
|
||||
.frame(maxWidth: .infinity)
|
||||
|
||||
@@ -39,7 +39,7 @@ struct ContentDetailView: View {
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("콘텐츠 상세")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ struct ContentDetailView: View {
|
||||
|
||||
if let releaseDate = audioContent.releaseDate {
|
||||
Text(releaseDate)
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.frame(maxWidth: .infinity)
|
||||
.frame(height: 48.7)
|
||||
@@ -123,7 +123,7 @@ struct ContentDetailView: View {
|
||||
audioContent.creator.creatorId != UserDefaults.int(forKey: .userId) {
|
||||
if let _ = audioContent.totalContentCount, let remainingContentCount = audioContent.remainingContentCount, remainingContentCount <= 0 {
|
||||
Text("해당 콘텐츠가 매진되었습니다.")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.frame(maxWidth: .infinity)
|
||||
.frame(height: 48.7)
|
||||
|
||||
@@ -36,7 +36,7 @@ struct ContentOrderConfirmDialogView: View {
|
||||
|
||||
VStack(spacing: 0) {
|
||||
Text("구매확인")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
HStack(spacing: 11) {
|
||||
@@ -64,7 +64,7 @@ struct ContentOrderConfirmDialogView: View {
|
||||
.cornerRadius(2)
|
||||
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 11.3))
|
||||
.appFont(size: 11.3, weight: .bold)
|
||||
.foregroundColor(Color.grayd2)
|
||||
.padding(.top, 2)
|
||||
|
||||
@@ -127,7 +127,7 @@ struct ContentOrderConfirmDialogView: View {
|
||||
.frame(width: 16.7, height: 16.7)
|
||||
|
||||
Text("\(usablePoint)")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
}
|
||||
@@ -145,13 +145,13 @@ struct ContentOrderConfirmDialogView: View {
|
||||
.frame(width: 16.7, height: 16.7)
|
||||
|
||||
Text("\(remainingCan)")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Text("\(price * 110)원")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ struct ContentOrderConfirmDialogView: View {
|
||||
|
||||
HStack(spacing: 12) {
|
||||
Text("취소")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
.padding(.vertical, 15.7)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -182,7 +182,7 @@ struct ContentOrderConfirmDialogView: View {
|
||||
.onTapGesture { isShowing = false }
|
||||
|
||||
Text("확인")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 15.7)
|
||||
.frame(maxWidth: .infinity)
|
||||
|
||||
@@ -28,7 +28,7 @@ struct ContentOrderDialogView: View {
|
||||
HStack(spacing: 0) {
|
||||
VStack(alignment: .leading, spacing: 5.3) {
|
||||
Text("대여")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
Text("(이용기간 5일)")
|
||||
@@ -47,17 +47,17 @@ struct ContentOrderDialogView: View {
|
||||
|
||||
if UserDefaults.int(forKey: .userId) == 17958 {
|
||||
Text("\(Int(ceil(Double(price) * 0.7)) * 110)")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
} else {
|
||||
Text("\(Int(ceil(Double(price) * 0.7)))")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
|
||||
if UserDefaults.int(forKey: .userId) == 17958 {
|
||||
Text("원")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
}
|
||||
@@ -74,7 +74,7 @@ struct ContentOrderDialogView: View {
|
||||
HStack(spacing: 0) {
|
||||
VStack(alignment: .leading, spacing: 5.3) {
|
||||
Text("소장")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
Text("(서비스 종료시까지)")
|
||||
@@ -93,17 +93,17 @@ struct ContentOrderDialogView: View {
|
||||
|
||||
if UserDefaults.int(forKey: .userId) == 17958 {
|
||||
Text("\(price * 110)")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
} else {
|
||||
Text("\(price)")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
|
||||
if UserDefaults.int(forKey: .userId) == 17958 {
|
||||
Text("원")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
.frame(width: 26.7, height: 26.7)
|
||||
|
||||
Text("후원하기")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Spacer()
|
||||
@@ -55,7 +55,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
.frame(width: 26.7, height: 26.7)
|
||||
|
||||
Text("\(can)")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Text("충전")
|
||||
@@ -116,7 +116,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("+10")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 12.7)
|
||||
.frame(width: 74)
|
||||
@@ -134,7 +134,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
Spacer()
|
||||
|
||||
Text("+100")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 12.7)
|
||||
.frame(width: 74)
|
||||
@@ -150,7 +150,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
Spacer()
|
||||
|
||||
Text("+1,000")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 12.7)
|
||||
.frame(width: 74)
|
||||
@@ -168,7 +168,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
Spacer()
|
||||
|
||||
Text("+10,000")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 12.7)
|
||||
.frame(width: 74)
|
||||
@@ -218,7 +218,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
|
||||
HStack(spacing: 13.3) {
|
||||
Text("취소")
|
||||
.font(.custom(Font.bold.rawValue, size: 15))
|
||||
.appFont(size: 15, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
.padding(.vertical, 16)
|
||||
.frame(width: (screenSize().width - 53.3) / 3)
|
||||
@@ -234,7 +234,7 @@ struct LiveRoomDonationDialogView: View {
|
||||
}
|
||||
|
||||
Text("후원하기")
|
||||
.font(.custom(Font.bold.rawValue, size: 15))
|
||||
.appFont(size: 15, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
.padding(.vertical, 16)
|
||||
.frame(width: (screenSize().width - 53.3) * 2 / 3)
|
||||
|
||||
@@ -19,7 +19,7 @@ struct ContentMainView: View {
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
Text("콘텐츠 마켓")
|
||||
.font(.custom(Font.bold.rawValue, size: 21.3))
|
||||
.appFont(size: 21.3, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
|
||||
Spacer()
|
||||
@@ -82,7 +82,7 @@ struct ContentMainView: View {
|
||||
Image("ic_alarm_clock_blue")
|
||||
|
||||
Text("보이스 모닝콜")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "0057ff"))
|
||||
}
|
||||
.cornerRadius(2.6)
|
||||
@@ -104,7 +104,7 @@ struct ContentMainView: View {
|
||||
Image("ic_short_play")
|
||||
|
||||
Text("숏플")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "dd158d"))
|
||||
}
|
||||
.cornerRadius(2.6)
|
||||
@@ -161,7 +161,7 @@ struct ContentMainView: View {
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("콘텐츠 업로드")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
}
|
||||
.padding(13.3)
|
||||
|
||||
@@ -15,7 +15,7 @@ struct ContentMainCurationItemView: View {
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
Text(item.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -15,7 +15,7 @@ struct ContentMainNewContentView: View {
|
||||
LazyVStack(spacing: 16.7) {
|
||||
HStack(spacing: 0) {
|
||||
Text("새로운 콘텐츠")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -17,7 +17,7 @@ struct ContentMainMyStashView: View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
HStack(spacing: 0) {
|
||||
Text("내 보관함")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -29,29 +29,29 @@ struct ContentMainCreatorRankingView: View {
|
||||
let titleArray = response.title.components(separatedBy: coloredTitle)
|
||||
HStack(spacing: 0) {
|
||||
Text(titleArray[0])
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Text(coloredTitle)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: color))
|
||||
|
||||
if titleArray.count > 1 {
|
||||
Text(titleArray[1])
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Text(response.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
|
||||
if let desc = response.desc {
|
||||
VStack(spacing: 8) {
|
||||
Text("\(desc)")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Text("※ 인기 크리에이터의 순위는 매주 업데이트됩니다.")
|
||||
|
||||
@@ -22,7 +22,7 @@ struct ContentMainRankingView: View {
|
||||
LazyVStack(spacing: 16.7) {
|
||||
HStack(spacing: 0) {
|
||||
Text("인기 콘텐츠")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Spacer()
|
||||
@@ -35,7 +35,7 @@ struct ContentMainRankingView: View {
|
||||
|
||||
VStack(spacing: 8) {
|
||||
Text("\(viewModel.dateString)")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Text("※ 인기 콘텐츠의 순위는 매주 업데이트됩니다.")
|
||||
@@ -72,7 +72,7 @@ struct ContentMainRankingView: View {
|
||||
.cornerRadius(2.7)
|
||||
|
||||
Text("\(index + 1)")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "3bb9f1"))
|
||||
.padding(.horizontal, 12)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ struct ContentMainRecommendSeriesView: View {
|
||||
if !viewModel.seriesList.isEmpty {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text("추천 시리즈")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
ScrollView(.horizontal, showsIndicators: false) {
|
||||
|
||||
@@ -35,7 +35,7 @@ struct ContentMainTabRankContentView: View {
|
||||
VStack(spacing: 13.3) {
|
||||
HStack(spacing: 0) {
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Spacer()
|
||||
@@ -76,7 +76,7 @@ struct ContentMainTabRankContentView: View {
|
||||
.cornerRadius(2.7)
|
||||
|
||||
Text("\(index + 1)")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(.button)
|
||||
.padding(.horizontal, 12)
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ struct ContentMainTagCurationView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text("태그별 추천 콘텐츠")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ struct ContentByChannelView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 20) {
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ struct ContentMainCurationItemViewV2: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text(curation.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ struct ContentMainNewContentViewV2: View {
|
||||
LazyVStack(spacing: 13.3) {
|
||||
HStack(spacing: 0) {
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -53,7 +53,7 @@ struct ContentMainViewV2: View {
|
||||
VStack(spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
Text("콘텐츠 마켓")
|
||||
.font(.custom(Font.bold.rawValue, size: 21.3))
|
||||
.appFont(size: 21.3, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -20,7 +20,7 @@ struct ContentMainTabHomeView: View {
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
Text("보이스온")
|
||||
.font(.custom(Font.bold.rawValue, size: 21.3))
|
||||
.appFont(size: 21.3, weight: .bold)
|
||||
.foregroundColor(Color.white)
|
||||
.padding(.leading, 8)
|
||||
|
||||
@@ -278,7 +278,7 @@ struct ContentMainTabHomeView: View {
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("콘텐츠 업로드")
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
}
|
||||
.padding(13.3)
|
||||
|
||||
@@ -27,7 +27,7 @@ struct ContentMainTabHomeRankCreatorView: View {
|
||||
if let desc = response.desc, !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
VStack(spacing: 8) {
|
||||
Text("\(desc)")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Text("※ 인기 순위는 매주 업데이트됩니다.")
|
||||
@@ -43,23 +43,23 @@ struct ContentMainTabHomeRankCreatorView: View {
|
||||
let titleArray = response.title.components(separatedBy: coloredTitle)
|
||||
HStack(spacing: 0) {
|
||||
Text(titleArray[0])
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Text(coloredTitle)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: color))
|
||||
|
||||
if titleArray.count > 1 {
|
||||
Text(titleArray[1])
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
}
|
||||
.padding(.top, token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty ? 0 : 30)
|
||||
} else {
|
||||
Text(response.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.padding(.top, 30)
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ struct ContentMainTabHomeRankSeriesView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text("인기 시리즈")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
ScrollView(.horizontal, showsIndicators: false) {
|
||||
|
||||
@@ -16,7 +16,7 @@ struct ContentMainCompletedSeriesView: View {
|
||||
VStack(spacing: 13.3) {
|
||||
HStack(spacing: 0) {
|
||||
Text("완결 시리즈")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -16,7 +16,7 @@ struct ContentMainNewOrRecommendSeriesView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ struct ContentMainSeriesByGenreView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text("장르별 추천 시리즈")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ struct ContentMainSeriesCurationItemView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text(curation.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ struct ContentMainSeriesRankingView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text("일간 랭킹")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
@@ -43,7 +43,7 @@ struct ContentMainSeriesRankingView: View {
|
||||
.cornerRadius(2.7)
|
||||
|
||||
Text("\(index + 1)")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(.button)
|
||||
.padding(.horizontal, 12)
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ struct ContentMainOriginalAudioDramaView: View {
|
||||
VStack(spacing: 13.3) {
|
||||
HStack(spacing: 0) {
|
||||
Text("오리지널 오디오 드라마")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(.grayee)
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -19,7 +19,7 @@ struct SeriesByChannelView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text(title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ struct ContentModifyView: View {
|
||||
ScrollView(.vertical, showsIndicators: false) {
|
||||
VStack(spacing: 0) {
|
||||
Text("썸네일")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -83,7 +83,7 @@ struct ContentModifyView: View {
|
||||
|
||||
VStack(spacing: 0) {
|
||||
Text("제목")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -101,7 +101,7 @@ struct ContentModifyView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("내용")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
|
||||
Spacer()
|
||||
@@ -126,7 +126,7 @@ struct ContentModifyView: View {
|
||||
.padding(.top, 13.3)
|
||||
|
||||
Text("태그")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
.padding(.top, 26.7)
|
||||
@@ -153,7 +153,7 @@ struct ContentModifyView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("포인트 사용")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -177,7 +177,7 @@ struct ContentModifyView: View {
|
||||
if viewModel.isAdultShowUi {
|
||||
VStack(spacing: 13.3) {
|
||||
Text("연령 제한")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -207,7 +207,7 @@ struct ContentModifyView: View {
|
||||
|
||||
VStack(spacing: 13.3) {
|
||||
Text("댓글 가능 여부")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color(hex: "eeeeee"))
|
||||
.frame(maxWidth: .infinity, alignment: .leading)
|
||||
|
||||
@@ -231,7 +231,7 @@ struct ContentModifyView: View {
|
||||
VStack(spacing: 0) {
|
||||
HStack(alignment: .top, spacing: 0) {
|
||||
Text("수정")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.white)
|
||||
.frame(height: 50)
|
||||
.frame(maxWidth: .infinity)
|
||||
|
||||
@@ -26,7 +26,7 @@ struct ContentPlaylistItemView: View {
|
||||
|
||||
VStack(alignment: .leading, spacing: 7) {
|
||||
Text(item.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayd2)
|
||||
.lineLimit(1)
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ struct ContentPlaylistListView: View {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(spacing: 13.3) {
|
||||
Text("+ 새 재생목록 만들기")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.white)
|
||||
.padding(.vertical, 13.3)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -32,7 +32,7 @@ struct ContentPlaylistListView: View {
|
||||
if viewModel.playlists.isEmpty {
|
||||
VStack(spacing: 13.3) {
|
||||
Text("재생목록이 비어있습니다.")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Text("자주 듣는 콘텐츠를\n재생목록으로 만들어 보세요.")
|
||||
|
||||
@@ -27,7 +27,7 @@ struct ContentPlaylistCreateView: View {
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("새 재생목록 만들기")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ struct ContentPlaylistCreateView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("재생목록 제목")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Spacer()
|
||||
@@ -71,7 +71,7 @@ struct ContentPlaylistCreateView: View {
|
||||
TextField("", text: $viewModel.title)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.keyboardType(.webSearch)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -84,7 +84,7 @@ struct ContentPlaylistCreateView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("재생목록 설명을 입력해 주세요")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Spacer()
|
||||
@@ -104,7 +104,7 @@ struct ContentPlaylistCreateView: View {
|
||||
TextField("", text: $viewModel.desc)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.keyboardType(.webSearch)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -119,7 +119,7 @@ struct ContentPlaylistCreateView: View {
|
||||
Image("btn_plus_round")
|
||||
|
||||
Text("새로운 콘텐츠 추가/제거")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
}
|
||||
.padding(.top, 26.7)
|
||||
|
||||
@@ -18,7 +18,7 @@ struct PlaylistAddContentView: View {
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
ZStack {
|
||||
Text("새로운 콘텐츠 추가/제거")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
HStack(spacing: 0) {
|
||||
|
||||
@@ -112,7 +112,7 @@ struct ContentPlaylistDetailView: View {
|
||||
|
||||
VStack(alignment: .leading, spacing: 6.7) {
|
||||
Text(response.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayd2)
|
||||
.lineLimit(2)
|
||||
.truncationMode(.tail)
|
||||
@@ -142,7 +142,7 @@ struct ContentPlaylistDetailView: View {
|
||||
Image("ic_playlist_play")
|
||||
|
||||
Text("Play")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.white)
|
||||
}
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -160,7 +160,7 @@ struct ContentPlaylistDetailView: View {
|
||||
Image("ic_playlist_shuffle")
|
||||
|
||||
Text("Shuffle")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.white)
|
||||
}
|
||||
.frame(maxWidth: .infinity)
|
||||
|
||||
@@ -28,7 +28,7 @@ struct ContentPlaylistModifyView: View {
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("재생목록 수정")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@ struct ContentPlaylistModifyView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("재생목록 제목")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Spacer()
|
||||
@@ -72,7 +72,7 @@ struct ContentPlaylistModifyView: View {
|
||||
TextField("", text: $viewModel.title)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.keyboardType(.webSearch)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -85,7 +85,7 @@ struct ContentPlaylistModifyView: View {
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("재생목록 설명을 입력해 주세요")
|
||||
.font(.custom(Font.bold.rawValue, size: 16.7))
|
||||
.appFont(size: 16.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Spacer()
|
||||
@@ -105,7 +105,7 @@ struct ContentPlaylistModifyView: View {
|
||||
TextField("", text: $viewModel.desc)
|
||||
.autocapitalization(.none)
|
||||
.disableAutocorrection(true)
|
||||
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||
.appFont(size: 13.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.keyboardType(.webSearch)
|
||||
.frame(maxWidth: .infinity)
|
||||
@@ -120,7 +120,7 @@ struct ContentPlaylistModifyView: View {
|
||||
Image("btn_plus_round")
|
||||
|
||||
Text("새로운 콘텐츠 추가/제거")
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
}
|
||||
.padding(.top, 26.7)
|
||||
|
||||
@@ -46,7 +46,7 @@ struct DayOfWeekSeriesView: View {
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
HStack(spacing: 0) {
|
||||
Text("요일별 시리즈")
|
||||
.font(.custom(Font.preBold.rawValue, size: 24))
|
||||
.appFont(size: 24, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
Spacer()
|
||||
|
||||
@@ -18,7 +18,7 @@ struct SeriesDetailHomeView: View {
|
||||
VStack(spacing: 0) {
|
||||
HStack(spacing: 0) {
|
||||
Text("전체회차 듣기")
|
||||
.font(.custom(Font.bold.rawValue, size: 16))
|
||||
.appFont(size: 16, weight: .bold)
|
||||
.foregroundColor(Color.button)
|
||||
|
||||
Text(" (\(contentCount))")
|
||||
|
||||
@@ -16,7 +16,7 @@ struct SeriesDetailIntroductionView: View {
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
Text(I18n.SeriesDetail.keywords)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.padding(.top, 16)
|
||||
.padding(.horizontal, 13.3)
|
||||
@@ -32,7 +32,7 @@ struct SeriesDetailIntroductionView: View {
|
||||
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text(I18n.SeriesDetail.workIntro)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
Text(seriesDetail.displayIntroduction)
|
||||
@@ -48,7 +48,7 @@ struct SeriesDetailIntroductionView: View {
|
||||
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
Text(I18n.SeriesDetail.details)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
HStack(spacing: 30) {
|
||||
@@ -117,7 +117,7 @@ struct SeriesDetailIntroductionView: View {
|
||||
|
||||
VStack(alignment: .leading, spacing: 13.3) {
|
||||
Text(I18n.SeriesDetail.price)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.appFont(size: 14.7, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
|
||||
HStack(spacing: 30) {
|
||||
|
||||
@@ -77,7 +77,7 @@ struct SeriesDetailView: View {
|
||||
|
||||
VStack(alignment: .leading, spacing: 0) {
|
||||
Text(seriesDetail.displayTitle)
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.appFont(size: 18.3, weight: .bold)
|
||||
.foregroundColor(Color.grayee)
|
||||
.padding(.horizontal, 13.3)
|
||||
.padding(.top, 24)
|
||||
|
||||
@@ -24,7 +24,7 @@ struct SeriesMainHomeView: View {
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
HStack(spacing: 0) {
|
||||
Text("완결 시리즈")
|
||||
.font(.custom(Font.preBold.rawValue, size: 24))
|
||||
.appFont(size: 24, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
Spacer()
|
||||
@@ -59,7 +59,7 @@ struct SeriesMainHomeView: View {
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
HStack(spacing: 0) {
|
||||
Text("추천 시리즈")
|
||||
.font(.custom(Font.preBold.rawValue, size: 24))
|
||||
.appFont(size: 24, weight: .bold)
|
||||
.foregroundColor(.white)
|
||||
|
||||
Spacer()
|
||||
|
||||
Reference in New Issue
Block a user