커스텀 폰트 pretendard-medium, gmarket-medium를 사용하고 있던 것을 appFont 모디

파이어를 사용하여 한국어는 pretendard, 그 외에는 시스템 폰트를 사용하도록 수정
This commit is contained in:
Yu Sung
2026-01-23 03:09:20 +09:00
parent d92dcbc696
commit 280e424385
238 changed files with 831 additions and 831 deletions

View File

@@ -40,7 +40,7 @@ struct ApplyMethodView: View {
Image("ic_upload")
Text("파일 업로드")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.button)
}
.padding(.vertical, 8)
@@ -61,7 +61,7 @@ struct ApplyMethodView: View {
Image("ic_mic_color_button")
Text("바로 녹음")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.button)
}
.padding(.vertical, 8)
@@ -82,7 +82,7 @@ struct ApplyMethodView: View {
HStack(spacing: 0) {
Text("※ 파일은 mp3, aac만 업로드 가능")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray77)
.padding(.top, 13.3)

View File

@@ -43,7 +43,7 @@ struct AuditionApplicantItemView: View {
VStack(spacing: 8) {
HStack(spacing: 0) {
Text(item.nickname.count > 9 ? "\(item.nickname.prefix(9))..." : item.nickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.white)
.onTapGesture {
AppState.shared.setAppStep(step: .creatorDetail(userId: item.memberId))
@@ -53,7 +53,7 @@ struct AuditionApplicantItemView: View {
if soundManager.applicantId == item.applicantId {
Text("\(secondsToMinutesSeconds(Int(soundManager.currentTime)))/\(secondsToMinutesSeconds(Int(soundManager.duration)))")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray77)
}
}
@@ -68,7 +68,7 @@ struct AuditionApplicantItemView: View {
Image("ic_heart_vote")
Text("\(item.voteCount)")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray77)
}
.onTapGesture {

View File

@@ -77,7 +77,7 @@ struct AuditionApplicantRecordingView: View {
Spacer()
Text("삭제")
.font(.custom(Font.medium.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .medium)
.foregroundColor(Color.graybb.opacity(0))
Spacer()
@@ -100,7 +100,7 @@ struct AuditionApplicantRecordingView: View {
Spacer()
Text("삭제")
.font(.custom(Font.medium.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .medium)
.foregroundColor(Color.graybb)
.onTapGesture {
soundManager.stopAudio()
@@ -178,7 +178,7 @@ struct AuditionApplicantRecordingView: View {
.padding(.vertical, 13.3)
.padding(.horizontal, 6.7)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -34,7 +34,7 @@ struct AuditionApplyView: View {
VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 0) {
Text("오디션 지원")
.font(.custom(Font.medium.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .medium)
.foregroundColor(.white)
Spacer()
@@ -54,7 +54,7 @@ struct AuditionApplyView: View {
Image("ic_note_square")
Text(filename)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.grayd2)
Spacer()
@@ -75,7 +75,7 @@ struct AuditionApplyView: View {
.autocapitalization(.none)
.disableAutocorrection(true)
.keyboardType(.decimalPad)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.grayee)
.padding(.horizontal, 13.3)
.padding(.vertical, 17)
@@ -90,7 +90,7 @@ struct AuditionApplyView: View {
.frame(width: 20, height: 20)
Text("보이스온 오디오 드라마 오디션 합격시 개인 연락을 위한 개인 정보(연락처) 수집 및 활용에 동의합니다.\n오디션 지원자는 개인정보 수집 및 활용 동의에 거부할 권리가 있으며 비동의시 오디션 지원은 취소 됩니다.")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.lineSpacing(3)
}
@@ -137,7 +137,7 @@ struct AuditionApplyView: View {
Text(errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -31,7 +31,7 @@ struct AuditionItemView: View {
.frame(maxWidth: .infinity)
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(1)
.truncationMode(.tail)

View File

@@ -44,13 +44,13 @@ struct AuditionView: View {
HStack(spacing: 0) {
Text("보이스온 오디션 이용방법")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.white)
Spacer()
Text("자세히>")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.white)
}
.padding(.horizontal, 13.3)
@@ -84,7 +84,7 @@ struct AuditionView: View {
Spacer()
Text("\(viewModel.inProgressCount)")
.font(.custom(Font.medium.rawValue, size: 11.3))
.appFont(size: 11.3, weight: .medium)
.foregroundColor(Color.graybb)
}
@@ -122,7 +122,7 @@ struct AuditionView: View {
Spacer()
Text("\(viewModel.completedCount)")
.font(.custom(Font.medium.rawValue, size: 11.3))
.appFont(size: 11.3, weight: .medium)
.foregroundColor(Color.graybb)
}
.padding(.top, 30)

View File

@@ -74,7 +74,7 @@ struct AuditionDetailView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -29,7 +29,7 @@ struct AuditionDetailRoleItemView: View {
)
Text(item.isComplete ? "모집완료" : "모집중")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.white)
.padding(.horizontal, 9)
.padding(.vertical, 3)
@@ -43,7 +43,7 @@ struct AuditionDetailRoleItemView: View {
.frame(maxWidth: .infinity)
Text(item.name)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(1)
.truncationMode(.tail)

View File

@@ -84,28 +84,28 @@ struct AuditionRoleDetailView: View {
if viewModel.applicantList.isEmpty {
Text("지원자가 없습니다.")
.font(.custom(Font.medium.rawValue, size: 13))
.appFont(size: 13, weight: .medium)
.foregroundColor(Color.grayee)
.padding(.top, 15)
} else {
HStack(spacing: 0) {
Text("참여자")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.graybb)
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.button)
.padding(.leading, 2.3)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.graybb)
Spacer()
Text("최신순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
viewModel.sortType == .NEWEST ? Color.button : Color.graybb
)
@@ -114,7 +114,7 @@ struct AuditionRoleDetailView: View {
}
Text("좋아요순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
viewModel.sortType == .LIKES ? Color.button : Color.graybb
)
@@ -156,7 +156,7 @@ struct AuditionRoleDetailView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
@@ -171,7 +171,7 @@ struct AuditionRoleDetailView: View {
Text(soundManager.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -127,7 +127,7 @@ struct CharacterView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -141,7 +141,7 @@ struct CharacterDetailView: View {
.frame(alignment: .center)
.frame(maxWidth: .infinity)
.padding(.horizontal, 33.3)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -54,7 +54,7 @@ struct CharacterDetailGalleryView: View {
.frame(alignment: .center)
.frame(maxWidth: .infinity)
.padding(.horizontal, 33.3)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -99,7 +99,7 @@ struct NewCharacterListView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -76,7 +76,7 @@ struct OriginalTabView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -315,7 +315,7 @@ struct ChatRoomView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -53,7 +53,7 @@ struct ChatBgSelectionView: View {
.frame(alignment: .center)
.frame(maxWidth: .infinity)
.padding(.horizontal, 33.3)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -22,7 +22,7 @@ struct ContentAllByThemeView: View {
Spacer()
Text("최신순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .NEWEST ? 1 : 0.5)
@@ -34,7 +34,7 @@ struct ContentAllByThemeView: View {
}
Text("높은 가격순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .PRICE_HIGH ? 1 : 0.5)
@@ -46,7 +46,7 @@ struct ContentAllByThemeView: View {
}
Text("낮은 가격순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .PRICE_LOW ? 1 : 0.5)
@@ -64,16 +64,16 @@ struct ContentAllByThemeView: View {
HStack(spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
.padding(.leading, 8)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
.padding(.leading, 2)

View File

@@ -32,7 +32,7 @@ struct ContentAllView: View {
Spacer()
Text("최신순")
.font(.custom(Font.preMedium.rawValue, size: 16))
.appFont(size: 16, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .NEWEST ? 1 : 0.5)
@@ -44,7 +44,7 @@ struct ContentAllView: View {
}
Text("인기순")
.font(.custom(Font.preMedium.rawValue, size: 16))
.appFont(size: 16, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .POPULARITY ? 1 : 0.5)

View File

@@ -41,11 +41,11 @@ struct ContentNewAllItemView: View {
Image("ic_card_can_gray")
Text("\(item.price)")
.font(.custom(Font.medium.rawValue, size: 8.5))
.appFont(size: 8.5, weight: .medium)
.foregroundColor(Color.white)
} else {
Text("무료")
.font(.custom(Font.medium.rawValue, size: 8.5))
.appFont(size: 8.5, weight: .medium)
.foregroundColor(Color.white)
}
}
@@ -59,7 +59,7 @@ struct ContentNewAllItemView: View {
HStack(spacing: 2) {
Text(item.duration)
.font(.custom(Font.medium.rawValue, size: 8.5))
.appFont(size: 8.5, weight: .medium)
.foregroundColor(Color.white)
}
.padding(3)
@@ -73,7 +73,7 @@ struct ContentNewAllItemView: View {
.frame(width: width, height: width)
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "d2d2d2"))
.frame(width: width, alignment: .leading)
.multilineTextAlignment(.leading)
@@ -96,7 +96,7 @@ struct ContentNewAllItemView: View {
.onTapGesture { AppState.shared.setAppStep(step: .creatorDetail(userId: item.creatorId)) }
Text(item.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "777777"))
.lineLimit(1)
}

View File

@@ -20,7 +20,7 @@ struct ContentNewAllView: View {
DetailNavigationBar(title: isFree ? "최신 무료 콘텐츠" : "최신 콘텐츠")
Text("※ 최근 2주간 등록된 새로운 콘텐츠 입니다.")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(.graybb)
.padding(.horizontal, 13.3)
.padding(.vertical, 8)
@@ -37,16 +37,16 @@ struct ContentNewAllView: View {
HStack(spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
.padding(.leading, 8)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
.padding(.leading, 2)
}

View File

@@ -70,14 +70,14 @@ struct ContentRankingAllView: View {
VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 8) {
Text(item.themeStr)
.font(.custom(Font.medium.rawValue, size: 8))
.appFont(size: 8, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(2.6)
.background(Color(hex: "28312b"))
.cornerRadius(2.6)
Text(item.duration)
.font(.custom(Font.medium.rawValue, size: 8))
.appFont(size: 8, weight: .medium)
.foregroundColor(Color(hex: "777777"))
.padding(2.6)
.background(Color(hex: "222222"))
@@ -85,7 +85,7 @@ struct ContentRankingAllView: View {
if item.isPointAvailable {
Text("포인트")
.font(.custom(Font.medium.rawValue, size: 8))
.appFont(size: 8, weight: .medium)
.foregroundColor(.white)
.padding(2.6)
.background(Color(hex: "7849bc"))
@@ -94,12 +94,12 @@ struct ContentRankingAllView: View {
}
Text(item.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 10.7))
.appFont(size: 10.7, weight: .medium)
.foregroundColor(Color(hex: "777777"))
.padding(.vertical, 8)
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "d2d2d2"))
.lineLimit(2)
.padding(.top, 2.7)
@@ -114,12 +114,12 @@ struct ContentRankingAllView: View {
.frame(width: 17, height: 17)
Text("\(item.price)")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "909090"))
}
} else {
Text("무료")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "ffffff"))
.padding(.horizontal, 5.3)
.padding(.vertical, 2.7)
@@ -153,7 +153,7 @@ struct ContentRankingAllView: View {
.padding(.vertical, 13.3)
.padding(.horizontal, 6.7)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color(hex: "9970ff"))
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -14,7 +14,7 @@ struct ContentBoxTabView: View {
var body: some View {
Text(title)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(isSelected ? Color.button : Color.gray77)
.padding(.vertical, 8.3)
.padding(.horizontal, 13.3)

View File

@@ -19,7 +19,7 @@ struct ContentListCategoryView: View {
ForEach(0..<categoryList.count, id: \.self) { index in
let category = categoryList[index]
Text(category.category)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color(hex: selectedCategory == category.category ? "3bb9f1" : "777777"))
.padding(.horizontal, 13.3)
.padding(.vertical, 9.3)

View File

@@ -30,7 +30,7 @@ struct ContentListItemView: View {
HStack(spacing: 8) {
if item.isScheduledToOpen {
Text("오픈예정")
.font(.custom(Font.preMedium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color(hex: "3bb9f1"))
.padding(2.6)
.background(Color(hex: "003851"))
@@ -38,14 +38,14 @@ struct ContentListItemView: View {
}
Text(item.themeStr)
.font(.custom(Font.preMedium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(2.6)
.background(Color(hex: "28312b"))
.cornerRadius(2.6)
Text(item.duration!)
.font(.custom(Font.preMedium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color(hex: "777777"))
.padding(2.6)
.background(Color(hex: "222222"))
@@ -53,7 +53,7 @@ struct ContentListItemView: View {
if item.isPointAvailable {
Text("포인트")
.font(.custom(Font.preMedium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(.white)
.padding(2.6)
.background(Color(hex: "7849bc"))
@@ -68,7 +68,7 @@ struct ContentListItemView: View {
}
Text(item.title)
.font(.custom(Font.preMedium.rawValue, size: 18))
.appFont(size: 18, weight: .medium)
.foregroundColor(.white)
.multilineTextAlignment(.leading)
@@ -79,7 +79,7 @@ struct ContentListItemView: View {
.frame(width: 18, height: 18)
Text("\(item.likeCount)")
.font(.custom(Font.preMedium.rawValue, size: 18))
.appFont(size: 18, weight: .medium)
.foregroundColor(Color(hex: "777777"))
}
@@ -89,7 +89,7 @@ struct ContentListItemView: View {
.frame(width: 18, height: 18)
Text("\(item.commentCount)")
.font(.custom(Font.preMedium.rawValue, size: 18))
.appFont(size: 18, weight: .medium)
.foregroundColor(Color(hex: "777777"))
}
}
@@ -99,7 +99,7 @@ struct ContentListItemView: View {
if item.isOwned {
Text("소장중")
.font(.custom(Font.preMedium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(Color.gray11)
.padding(.horizontal, 5.3)
.padding(.vertical, 2.7)
@@ -107,7 +107,7 @@ struct ContentListItemView: View {
.cornerRadius(2.6)
} else if item.isRented {
Text("대여중")
.font(.custom(Font.preMedium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(Color.white)
.padding(.horizontal, 5.3)
.padding(.vertical, 2.7)
@@ -115,7 +115,7 @@ struct ContentListItemView: View {
.cornerRadius(2.6)
} else if item.isSoldOut {
Text("Sold Out")
.font(.custom(Font.preMedium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(Color.grayd2)
.padding(.horizontal, 5.3)
.padding(.vertical, 2.7)
@@ -131,12 +131,12 @@ struct ContentListItemView: View {
.frame(width: 17, height: 17)
Text("\(item.price)")
.font(.custom(Font.preMedium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(.white)
}
} else {
Text("무료")
.font(.custom(Font.preMedium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(.white)
}
}

View File

@@ -61,7 +61,7 @@ struct ContentListView: View {
Spacer()
Text("최신순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .NEWEST ? 1 : 0.5)
@@ -73,7 +73,7 @@ struct ContentListView: View {
}
Text("높은 가격순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .PRICE_HIGH ? 1 : 0.5)
@@ -85,7 +85,7 @@ struct ContentListView: View {
}
Text("낮은 가격순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .PRICE_LOW ? 1 : 0.5)
@@ -103,16 +103,16 @@ struct ContentListView: View {
HStack(spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
.padding(.leading, 8)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
.padding(.leading, 2)
@@ -157,7 +157,7 @@ struct ContentListView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color(hex: "3bb9f1"))
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -60,7 +60,7 @@ struct ContentCreateSelectThemeView: View {
.clipShape(Circle())
Text(theme.theme)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color(hex: "bbbbbb"))
}
.onTapGesture {

View File

@@ -68,7 +68,7 @@ struct ContentCreateView: View {
.padding(.top, 13.3)
Text(viewModel.fileName.trimmingCharacters(in: .whitespacesAndNewlines) == "" ? I18n.CreateContent.selectFile : viewModel.fileName)
.font(.custom(Font.medium.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .medium)
.foregroundColor(Color.button)
.padding(.vertical, 10)
.frame(maxWidth: .infinity)
@@ -99,7 +99,7 @@ struct ContentCreateView: View {
TextField("제목을 입력하세요", text: $viewModel.title)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.padding(.vertical, 16.7)
.padding(.horizontal, 13.3)
@@ -116,10 +116,10 @@ struct ContentCreateView: View {
Spacer()
Text("\(viewModel.detail.count)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color.mainRed) +
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.mainRed)
Text(" / 최대 500자")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
}
.padding(.top, 26.7)
@@ -185,7 +185,7 @@ struct ContentCreateView: View {
TextField("예: #연애 #커버곡", text: $viewModel.hashtags)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.padding(.vertical, 16.7)
.padding(.horizontal, 13.3)
@@ -253,7 +253,7 @@ struct ContentCreateView: View {
VStack(spacing: 0) {
Text(viewModel.purchaseOption == .RENT_ONLY ? "대여 가격" : "소장 가격")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -270,7 +270,7 @@ struct ContentCreateView: View {
Spacer()
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
}
.padding(.vertical, 17)
@@ -285,18 +285,18 @@ struct ContentCreateView: View {
.padding(.top, 11)
Text("※ 이용기간 대여 (5일) | 소장 (서비스종료시까지)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 13.3)
Text("※ 대여가격은 소장가격의 70%로 자동 반영")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.frame(maxWidth: .infinity, alignment: .leading)
Text("※ 콘텐츠의 최소금액은 5캔 입니다")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.frame(maxWidth: .infinity, alignment: .leading)
}
@@ -392,14 +392,14 @@ struct ContentCreateView: View {
.frame(maxWidth: .infinity, alignment: .leading)
Text("미리듣기 시간을 직접 설정하지 않으면 콘텐츠 앞부분 15초가 자동으로 설정됩니다. 미리듣기의 시간제한은 없습니다.")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.frame(maxWidth: .infinity, alignment: .leading)
HStack(spacing: 13.3) {
VStack(spacing: 5.3) {
Text("시작 시간")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -418,7 +418,7 @@ struct ContentCreateView: View {
VStack(spacing: 5.3) {
Text("종료 시간")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -465,7 +465,7 @@ struct ContentCreateView: View {
}
Text("성인콘텐츠를 전체관람가로 등록할 시 발생하는 법적 책임은 회사와 상관없이 콘텐츠를 등록한 본인에게 있습니다.\n콘텐츠 내용은 물론 제목도 19금 여부를 체크해 주시기 바랍니다.")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.mainRed3)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 13.3)
@@ -520,7 +520,7 @@ struct ContentCreateView: View {
HStack(spacing: 13.3) {
VStack(alignment: .leading, spacing: 6.7) {
Text("예약 날짜")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
Button(action: {
@@ -528,7 +528,7 @@ struct ContentCreateView: View {
self.isShowSelectDateView = true
}) {
Text(viewModel.releaseDateString)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity)
.frame(height: 48.7)
@@ -541,7 +541,7 @@ struct ContentCreateView: View {
VStack(alignment: .leading, spacing: 6.7) {
Text("예약 시간")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
Button(action: {
@@ -549,7 +549,7 @@ struct ContentCreateView: View {
self.isShowSelectTimeView = true
}) {
Text(viewModel.releaseTimeString)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity)
.frame(height: 48.7)
@@ -669,7 +669,7 @@ struct ContentCreateView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -30,7 +30,7 @@ struct ContentCurationView: View {
Spacer()
Text("최신순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .NEWEST ? 1 : 0.5)
@@ -42,7 +42,7 @@ struct ContentCurationView: View {
}
Text("높은 가격순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .PRICE_HIGH ? 1 : 0.5)
@@ -54,7 +54,7 @@ struct ContentCurationView: View {
}
Text("낮은 가격순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color(hex: "e2e2e2")
.opacity(viewModel.sort == .PRICE_LOW ? 1 : 0.5)
@@ -72,16 +72,16 @@ struct ContentCurationView: View {
HStack(spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
.padding(.leading, 8)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
.padding(.leading, 2)

View File

@@ -24,7 +24,7 @@ struct AudioContentDeleteDialogView: View {
.foregroundColor(Color(hex: "eeeeee"))
Text("[\(title)]을 삭제하시겠습니까?")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.top, 21.3)
@@ -37,7 +37,7 @@ struct AudioContentDeleteDialogView: View {
}
Text("삭제된 콘텐츠는 되돌릴 수 없음을 알고 있습니다.")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "eeeeee"))
.onTapGesture {
isAgree.toggle()
@@ -49,7 +49,7 @@ struct AudioContentDeleteDialogView: View {
.padding(.top, 13.3)
Text("콘텐츠를 삭제하더라도 이미 구매한\n사용자는 콘텐츠를 이용할 수 있습니다.")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "dd4500"))
.fixedSize(horizontal: false, vertical: true)
.multilineTextAlignment(.center)

View File

@@ -44,7 +44,7 @@ struct AudioContentReportDialogView: View {
.frame(width: 20, height: 20)
Text(reason)
.font(.custom(Font.medium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
@@ -60,7 +60,7 @@ struct AudioContentReportDialogView: View {
.padding(.vertical, 21.3)
Text("신고한 콘텐츠를 관리자가 확인 후, 서비스정책을\n위반한 경우 삭제 조치할 예정입니다.")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "dd4500"))
.multilineTextAlignment(.center)

View File

@@ -47,12 +47,12 @@ struct AudioContentCommentItemView: View {
VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 6.7) {
Text(commentItem.nickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
if commentItem.isSecret {
Text("비밀댓글")
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.grayee)
.padding(.horizontal, 4)
.padding(.vertical, 2)
@@ -62,7 +62,7 @@ struct AudioContentCommentItemView: View {
}
Text(commentItem.date)
.font(.custom(Font.medium.rawValue, size: 10.3))
.appFont(size: 10.3, weight: .medium)
.foregroundColor(Color.gray52)
.padding(.top, 4)
}
@@ -107,7 +107,7 @@ struct AudioContentCommentItemView: View {
TextField("댓글을 입력해 보세요.", text: $comment)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.accentColor(Color.button)
.keyboardType(.default)
@@ -137,7 +137,7 @@ struct AudioContentCommentItemView: View {
} else {
VStack(alignment: .leading, spacing: 13.3) {
Text(commentItem.comment)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.fixedSize(horizontal: false, vertical: true)
.lineSpacing(8)
@@ -152,7 +152,7 @@ struct AudioContentCommentItemView: View {
)
) {
Text(commentItem.replyCount > 0 ? "답글 \(commentItem.replyCount)" : "답글 쓰기")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.button)
}
}
@@ -173,7 +173,7 @@ struct AudioContentCommentItemView: View {
VStack(spacing: 10) {
if commentItem.writerId == UserDefaults.int(forKey: .userId) {
Text("수정")
.font(.custom(Font.medium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(Color.gray77)
.onTapGesture {
isModeModify = true
@@ -185,7 +185,7 @@ struct AudioContentCommentItemView: View {
commentItem.writerId == UserDefaults.int(forKey: .userId)
{
Text("삭제")
.font(.custom(Font.medium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(Color.gray77)
.onTapGesture {
isModeModify = false

View File

@@ -30,12 +30,12 @@ struct AudioContentCommentListView: View {
VStack(spacing: 0) {
HStack(spacing: 0) {
Text("댓글")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(.white)
.padding(.leading, 13.3)
Text("\(viewModel.totalCommentCount)")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "909090"))
.padding(.leading, 6.7)
@@ -66,7 +66,7 @@ struct AudioContentCommentListView: View {
}
Text("비밀댓글")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(viewModel.isSecret ? Color.button : Color.grayee)
.onTapGesture {
viewModel.isSecret.toggle()
@@ -88,7 +88,7 @@ struct AudioContentCommentListView: View {
TextField("댓글을 입력해 보세요.", text: $viewModel.comment)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.accentColor(Color.button)
.keyboardType(.default)
@@ -195,7 +195,7 @@ struct AudioContentCommentListView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color(hex: "9970ff"))
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -30,7 +30,7 @@ struct AudioContentListReplyView: View {
Image("ic_back")
Text("답글")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(.white)
Spacer()
@@ -58,7 +58,7 @@ struct AudioContentListReplyView: View {
TextField("댓글을 입력해 보세요.", text: $viewModel.comment)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "eeeeee"))
.accentColor(Color(hex: "3bb9f1"))
.keyboardType(.default)

View File

@@ -23,11 +23,11 @@ struct ContentDetailCommentView: View {
VStack(alignment: .leading, spacing: 10.3) {
HStack(spacing: 5.3) {
Text("댓글")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(.white)
Text("\(commentCount)")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
Spacer()
@@ -39,7 +39,7 @@ struct ContentDetailCommentView: View {
.frame(width: 20, height: 20)
Text("비밀댓글")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(isSecret ? Color.button : Color.grayee)
}
.onTapGesture {
@@ -64,7 +64,7 @@ struct ContentDetailCommentView: View {
if commentCount > 0 {
Text(commentList[0].comment)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.graybb)
.lineLimit(1)
.lineSpacing(8)
@@ -74,7 +74,7 @@ struct ContentDetailCommentView: View {
TextField("댓글을 입력해 보세요.", text: $comment)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.accentColor(Color.button)
.keyboardType(.default)

View File

@@ -29,7 +29,7 @@ struct ContentDetailAnotherItemView: View {
HStack(spacing: 0) {
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "777777"))
.multilineTextAlignment(.leading)
.lineLimit(1)

View File

@@ -29,7 +29,7 @@ struct ContentDetailCreatorProfileView: View {
.clipShape(Circle())
Text(creator.nickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray77)
.padding(.horizontal, 5.3)

View File

@@ -19,7 +19,7 @@ struct ContentDetailInfoLimitedEditionView: View {
VStack(alignment: .leading, spacing: 13.3) {
HStack(spacing: 0) {
Text("한정판")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.button)
Spacer()
@@ -36,12 +36,12 @@ struct ContentDetailInfoLimitedEditionView: View {
.padding(.leading, 2.3)
Text("\(totalContentCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
.padding(.leading, 2.3)
} else if (remainingContentCount <= 0) {
Text("Sold Out")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.grayd2)
.padding(.horizontal, 5.3)
.padding(.vertical, 3.3)
@@ -52,7 +52,7 @@ struct ContentDetailInfoLimitedEditionView: View {
)
} else {
Text("잔여수량")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
Text("\(remainingContentCount)")
@@ -87,7 +87,7 @@ struct ContentDetailInfoLimitedEditionView: View {
.clipShape(Circle())
Text(buyer.nickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.graybb)
.lineLimit(1)
}

View File

@@ -23,7 +23,7 @@ struct ContentDetailInfoView: View {
HStack(spacing: 5.3) {
if let _ = audioContent.releaseDate {
Text("오픈예정")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "3bb9f1"))
.padding(.horizontal, 5.3)
.padding(.vertical, 3.3)
@@ -32,7 +32,7 @@ struct ContentDetailInfoView: View {
}
Text(audioContent.themeStr)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(.horizontal, 5.3)
.padding(.vertical, 3.3)
@@ -41,7 +41,7 @@ struct ContentDetailInfoView: View {
if audioContent.isAdult {
Text("19")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "e33621"))
.padding(.horizontal, 5.3)
.padding(.vertical, 3.3)
@@ -57,13 +57,13 @@ struct ContentDetailInfoView: View {
Image("ic_time_l")
Text(remainingTime)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "909090"))
}
}
Text(orderType == .KEEP ? "소장중" : "대여중")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(
orderType == .KEEP ?
Color(hex: "b1ef2c") :
@@ -101,7 +101,7 @@ struct ContentDetailInfoView: View {
)
Text("\(audioContent.likeCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
}
.padding(.horizontal, 13.3)
@@ -114,7 +114,7 @@ struct ContentDetailInfoView: View {
Image("ic_audio_content_share")
Text("공유")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
}
.padding(.horizontal, 13.3)
@@ -130,7 +130,7 @@ struct ContentDetailInfoView: View {
.frame(width: 13.3, height: 13.3)
Text("후원")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
}
.padding(.horizontal, 13.3)
@@ -157,13 +157,13 @@ struct ContentDetailInfoView: View {
VStack(spacing: 8) {
if audioContent.tag.count > 0 {
Text(audioContent.translated?.tags ?? audioContent.tag)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.button)
.frame(maxWidth: .infinity, alignment: .leading)
}
Text(audioContent.translated?.detail ?? audioContent.detail)
.font(.custom(Font.medium.rawValue, size: 14))
.appFont(size: 14, weight: .medium)
.foregroundColor(Color.gray90)
.lineLimit(isExpandDescription ? nil : 3)
.lineSpacing(5)
@@ -175,7 +175,7 @@ struct ContentDetailInfoView: View {
if isShowingPreviewAlert() {
HStack(spacing: 0) {
Text("미리듣기 중입니다.\n콘텐츠 구매 후 전체를 감상해 보세요.")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.graybb)
.lineSpacing(5)

View File

@@ -35,7 +35,7 @@ struct ContentDetailMenuView: View {
Image(isPin ? "ic_pin_cancel" : "ic_pin")
Text(isPin ? "내 채널에 고정 취소" : "내 채널에 고정")
.font(.custom(Font.medium.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .medium)
.foregroundColor(.white)
Spacer()
@@ -52,7 +52,7 @@ struct ContentDetailMenuView: View {
Image("ic_make_message")
Text("수정")
.font(.custom(Font.medium.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .medium)
.foregroundColor(.white)
Spacer()
@@ -69,7 +69,7 @@ struct ContentDetailMenuView: View {
Image("ic_trash_can")
Text("삭제")
.font(.custom(Font.medium.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .medium)
.foregroundColor(.white)
Spacer()
@@ -84,7 +84,7 @@ struct ContentDetailMenuView: View {
} else {
HStack(spacing: 0) {
Text("신고")
.font(.custom(Font.medium.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .medium)
.foregroundColor(.white)
Spacer()

View File

@@ -17,12 +17,12 @@ struct ContentDetailMosaicView: View {
Image("ic_notice_exclamation_mark")
Text("본 콘텐츠는 만 19세 미만의 청소년이\n이용할 수 없습니다.\n본인인증 후 콘텐츠를 이용해 주세요.")
.font(.custom(Font.medium.rawValue, size: 18.7))
.appFont(size: 18.7, weight: .medium)
.foregroundColor(Color(hex: "bbbbbb"))
.padding(.top, 21.7)
Text("본인인증")
.font(.custom(Font.medium.rawValue, size: 18.7))
.appFont(size: 18.7, weight: .medium)
.foregroundColor(Color.white)
.padding(.horizontal, 13.3)
.padding(.vertical, 8)

View File

@@ -38,7 +38,7 @@ struct ContentDetailOtherContentView: View {
Text("\(title)를 준비중입니다.\n조금만 기다려주세요.")
.multilineTextAlignment(.center)
.font(.custom(Font.medium.rawValue, size: 10.7))
.appFont(size: 10.7, weight: .medium)
.foregroundColor(Color(hex: "bbbbbb"))
}
.padding(13.3)

View File

@@ -96,7 +96,7 @@ struct ContentDetailPlayView: View {
.frame(width: 24, height: 24)
Text(I18n.ContentDetail.preview)
.font(.custom(Font.medium.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .medium)
.foregroundColor(Color.white)
}
.padding(.vertical, 13.3)
@@ -169,7 +169,7 @@ struct ContentDetailPlayView: View {
.frame(width: 24, height: 24)
Text(I18n.ContentDetail.noPreview)
.font(.custom(Font.medium.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .medium)
.foregroundColor(Color(hex: "444446"))
}
.padding(.vertical, 13.3)
@@ -217,7 +217,7 @@ struct ContentDetailPlayView: View {
HStack(spacing: 0) {
Text("\(getProgress()) / \(getDuration())")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(.white)
Spacer()

View File

@@ -27,13 +27,13 @@ struct ContentDetailPreviousNextContentButtonView: View {
VStack(alignment: .leading, spacing: 5.3) {
Text(previousContent.title)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(.grayd2)
.multilineTextAlignment(.leading)
.lineLimit(2)
Text("이전화")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.button)
.multilineTextAlignment(.leading)
.lineLimit(2)
@@ -66,13 +66,13 @@ struct ContentDetailPreviousNextContentButtonView: View {
VStack(alignment: .leading, spacing: 5.3) {
Text(nextContent.title)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(.grayd2)
.multilineTextAlignment(.leading)
.lineLimit(2)
Text("다음화")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.button)
.multilineTextAlignment(.leading)
.lineLimit(2)

View File

@@ -422,7 +422,7 @@ struct ContentDetailView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color(hex: "9970ff"))
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -57,7 +57,7 @@ struct ContentOrderConfirmDialogView: View {
VStack(alignment: .leading, spacing: 0) {
Text(themeStr)
.font(.custom(Font.medium.rawValue, size: 8))
.appFont(size: 8, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(2.3)
.background(Color(hex: "28312b"))
@@ -82,13 +82,13 @@ struct ContentOrderConfirmDialogView: View {
.clipShape(Circle())
Text(creatorNickname)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color.gray77)
}
.padding(.top, 6.7)
Text(duration)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.gray77)
.padding(.top, 6.7)
}
@@ -101,7 +101,7 @@ struct ContentOrderConfirmDialogView: View {
.padding(.top, 21.3)
Text("콘텐츠를 \(orderType == .RENTAL ? "대여" : "소장")하시겠습니까?")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.fixedSize(horizontal: false, vertical: true)
.multilineTextAlignment(.center)
@@ -109,7 +109,7 @@ struct ContentOrderConfirmDialogView: View {
if UserDefaults.int(forKey: .userId) != 17958 {
Text("아래 금액이 차감됩니다.")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.fixedSize(horizontal: false, vertical: true)
.multilineTextAlignment(.center)
@@ -134,7 +134,7 @@ struct ContentOrderConfirmDialogView: View {
if usablePoint > 0 && remainingCan > 0 {
Text("+")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
}

View File

@@ -59,7 +59,7 @@ struct LiveRoomDonationDialogView: View {
.foregroundColor(Color.grayee)
Text("충전")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.main)
.padding(.horizontal, 13.3)
.padding(.vertical, 8)
@@ -93,7 +93,7 @@ struct LiveRoomDonationDialogView: View {
.frame(width: 20, height: 20)
Text("비밀미션")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(isSecret ? Color.button : Color.grayee)
}
.onTapGesture {
@@ -105,7 +105,7 @@ struct LiveRoomDonationDialogView: View {
}
TextField(isSecret ? "10캔 이상 입력하세요" : "1캔 이상 입력하세요", text: $donationCan)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.padding(13.3)
.keyboardType(.numberPad)
@@ -205,7 +205,7 @@ struct LiveRoomDonationDialogView: View {
)
TextField("함께 보낼 \(isSecret ? "비밀 " : "")메시지 입력(최대 1000자)", text: $donationMessage)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.padding(13.3)
.background(Color.gray30)
@@ -272,7 +272,7 @@ struct LiveRoomDonationDialogView: View {
Text(errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -36,7 +36,7 @@ struct ContentMainItemView: View {
}
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.grayd2)
.frame(width: 133.3, alignment: .leading)
.multilineTextAlignment(.leading)
@@ -59,7 +59,7 @@ struct ContentMainItemView: View {
.onTapGesture { AppState.shared.setAppStep(step: .creatorDetail(userId: item.creatorId)) }
Text(item.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(.gray77)
.lineLimit(1)
}

View File

@@ -41,7 +41,7 @@ struct ContentMainView: View {
Image("ic_title_search_black")
Text("채널명을 입력해 보세요")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray55)
.keyboardType(.default)
.padding(.horizontal, 13.3)
@@ -145,7 +145,7 @@ struct ContentMainView: View {
- 대표 이메일 : sodalive.official@gmail.com
""")
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.gray77)
.padding(.top, 13.3)
.padding(.horizontal, 13.3)

View File

@@ -35,7 +35,7 @@ struct ContentMainCurationItemView: View {
}
Text(item.description)
.font(.custom(Font.medium.rawValue, size: 13))
.appFont(size: 13, weight: .medium)
.foregroundColor(Color(hex: "777777"))
.padding(.top, 4)

View File

@@ -19,7 +19,7 @@ struct ContentMainNewContentThemeView: View {
ForEach(0..<themes.count, id: \.self) { index in
let theme = themes[index]
Text(theme)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color(hex: selectedTheme == theme ? "3bb9f1" : "777777"))
.padding(.horizontal, 13.3)
.padding(.vertical, 9.3)

View File

@@ -110,14 +110,14 @@ struct ContentMainCreatorRankingView: View {
}
Text(creator.nickname)
.font(.custom(Font.medium.rawValue, size: 11.3))
.appFont(size: 11.3, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(1)
.frame(width: 93.3)
.padding(.top, 13.3)
Text(creator.tags)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color.button)
.lineLimit(1)
.frame(width: 93.3)

View File

@@ -19,7 +19,7 @@ struct ContentMainRankingSortView: View {
ForEach(0..<sorts.count, id: \.self) { index in
let sort = sorts[index]
Text(sort)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(selectedSort == sort ? Color.button : Color.gray77)
.padding(.horizontal, 13.3)
.padding(.vertical, 9.3)

View File

@@ -79,11 +79,11 @@ struct ContentMainRankingView: View {
VStack(alignment: .leading, spacing: 8) {
Text(content.title)
.lineLimit(2)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "d2d2d2"))
Text(content.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color(hex: "777777"))
}
}

View File

@@ -32,7 +32,7 @@ struct ContentMainRecommendSeriesView: View {
Image("ic_refresh")
Text("새로고침")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.grayd2)
}
.padding(.vertical, 11)

View File

@@ -18,7 +18,7 @@ struct ContentMainAlarmAllView: View {
DetailNavigationBar(title: "새로운 알람")
Text("※ 최근 2주간 등록된 새로운 알람 입니다.")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(.graybb)
.padding(.horizontal, 13.3)
.padding(.vertical, 8)
@@ -36,16 +36,16 @@ struct ContentMainAlarmAllView: View {
HStack(spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
.padding(.leading, 8)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
.padding(.leading, 2)
}

View File

@@ -56,7 +56,7 @@ struct ContentMainTabAlarmView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -18,7 +18,7 @@ struct ContentMainAsmrAllView: View {
DetailNavigationBar(title: "새로운 ASMR")
Text("※ 최근 2주간 등록된 새로운 ASMR 입니다.")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(.graybb)
.padding(.horizontal, 13.3)
.padding(.vertical, 8)
@@ -27,16 +27,16 @@ struct ContentMainAsmrAllView: View {
HStack(spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
.padding(.leading, 8)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
.padding(.leading, 2)
}

View File

@@ -66,7 +66,7 @@ struct ContentMainTabAsmrView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -90,7 +90,7 @@ struct ContentMainTabContentView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -83,11 +83,11 @@ struct ContentMainTabRankContentView: View {
VStack(alignment: .leading, spacing: 8) {
Text(content.title)
.lineLimit(2)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.grayd2)
Text(content.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(.gray77)
}
}

View File

@@ -40,7 +40,7 @@ struct ContentMainTagCurationView: View {
ForEach(0..<tagList.count, id: \.self) { index in
let tag = tagList[index]
Text(tagList[index])
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(
selectedTag == tag ?
.button:
@@ -123,11 +123,11 @@ struct ContentMainTagCurationContentView: View {
Image("ic_card_can_gray")
Text("\(item.price)")
.font(.custom(Font.medium.rawValue, size: 8.5))
.appFont(size: 8.5, weight: .medium)
.foregroundColor(Color.white)
} else {
Text("무료")
.font(.custom(Font.medium.rawValue, size: 8.5))
.appFont(size: 8.5, weight: .medium)
.foregroundColor(Color.white)
}
}
@@ -141,7 +141,7 @@ struct ContentMainTagCurationContentView: View {
HStack(spacing: 2) {
Text(item.duration)
.font(.custom(Font.medium.rawValue, size: 8.5))
.appFont(size: 8.5, weight: .medium)
.foregroundColor(Color.white)
}
.padding(3)
@@ -155,7 +155,7 @@ struct ContentMainTagCurationContentView: View {
.frame(width: itemWidth, height: itemWidth)
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayd2)
.frame(width: itemWidth, alignment: .leading)
.multilineTextAlignment(.leading)
@@ -178,7 +178,7 @@ struct ContentMainTagCurationContentView: View {
.onTapGesture { AppState.shared.setAppStep(step: .creatorDetail(userId: item.creatorId)) }
Text(item.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(.gray77)
.lineLimit(1)
}

View File

@@ -82,7 +82,7 @@ struct ContentByChannelView: View {
}
Text(content.price > 0 ? "\(content.price)" : "무료")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.white)
}
.padding(4)
@@ -92,7 +92,7 @@ struct ContentByChannelView: View {
Spacer()
Text(content.duration)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.white)
.padding(4)
.background(Color.gray33.opacity(0.7))
@@ -103,7 +103,7 @@ struct ContentByChannelView: View {
}
Text(content.title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.grayd2)
.lineLimit(1)
@@ -117,7 +117,7 @@ struct ContentByChannelView: View {
.clipped()
Text(content.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(.gray77)
}
.onTapGesture {

View File

@@ -31,7 +31,7 @@ struct ContentCreatorView: View {
)
Text(item.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 11.3))
.appFont(size: 11.3, weight: .medium)
.foregroundColor(
isSelected ?
Color.button :

View File

@@ -15,7 +15,7 @@ struct ContentMainNoItemView: View {
.frame(width: 60, height: 60)
Text("마이페이지에서 본인인증을 해주세요")
.font(.custom(Font.medium.rawValue, size: 13))
.appFont(size: 13, weight: .medium)
.foregroundColor(.graybb)
.fixedSize(horizontal: false, vertical: true)
.multilineTextAlignment(.center)

View File

@@ -151,12 +151,12 @@ struct ContentMainViewV2: View {
VStack(alignment: .leading, spacing: 2.3) {
Text(contentPlayerPlayManager.title)
.font(.custom(Font.medium.rawValue, size: 13))
.appFont(size: 13, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(2)
Text(contentPlayerPlayManager.nickname)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.grayd2)
}
.padding(.horizontal, 10.7)
@@ -201,12 +201,12 @@ struct ContentMainViewV2: View {
VStack(alignment: .leading, spacing: 2.3) {
Text(contentPlayManager.title)
.font(.custom(Font.medium.rawValue, size: 13))
.appFont(size: 13, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(2)
Text(contentPlayManager.nickname)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.grayd2)
}
.padding(.horizontal, 10.7)

View File

@@ -58,7 +58,7 @@ struct ContentMainIntroduceCreatorAllView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -84,7 +84,7 @@ struct ContentMainTabFreeView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -20,7 +20,7 @@ struct ContentMainTabCategoryView: View {
.frame(width: 43, height: 43)
Text(title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(.gray77)
}
.onTapGesture {

View File

@@ -15,13 +15,13 @@ struct ContentMainTabHomeNoticeView: View {
var body: some View {
HStack(spacing: 0) {
Text(notice.title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.white)
Spacer()
Text("자세히 >")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.white)
.onTapGesture {
onClick(notice)

View File

@@ -58,7 +58,7 @@ struct ContentMainTabHomeView: View {
Image("ic_title_search_black")
Text("검색어를 2글자 이상 입력하세요")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray55)
.keyboardType(.default)
.padding(.horizontal, 13.3)
@@ -262,7 +262,7 @@ struct ContentMainTabHomeView: View {
- 대표 이메일 : sodalive.official@gmail.com
""")
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.gray77)
.padding(.top, 30)
}
@@ -297,7 +297,7 @@ struct ContentMainTabHomeView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -107,14 +107,14 @@ struct ContentMainTabHomeRankCreatorView: View {
}
Text(creator.nickname)
.font(.custom(Font.medium.rawValue, size: 11.3))
.appFont(size: 11.3, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(1)
.frame(width: 93.3)
.padding(.top, 13.3)
Text(creator.tags)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color.button)
.lineLimit(1)
.frame(width: 93.3)

View File

@@ -18,7 +18,7 @@ struct ContentMainReplayAllView: View {
DetailNavigationBar(title: "새로운 라이브 다시듣기")
Text("※ 최근 2주간 등록된 새로운 라이브 다시듣기 입니다.")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(.graybb)
.padding(.horizontal, 13.3)
.padding(.vertical, 8)
@@ -27,16 +27,16 @@ struct ContentMainReplayAllView: View {
HStack(spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
.padding(.leading, 8)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "e2e2e2"))
.padding(.leading, 2)
}

View File

@@ -66,7 +66,7 @@ struct ContentMainTabReplayView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -24,16 +24,16 @@ struct CompletedSeriesView: View {
HStack(alignment: .center, spacing: 0) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.graye2)
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.mainRed)
.padding(.leading, 6.7)
Text("")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.graye2)
Spacer()
@@ -66,7 +66,7 @@ struct CompletedSeriesView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -52,7 +52,7 @@ struct ContentMainNewOrRecommendSeriesItemView: View {
.clipShape(RoundedRectangle(cornerRadius: 5))
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.grayee)
HStack(spacing: 5.3) {
@@ -65,7 +65,7 @@ struct ContentMainNewOrRecommendSeriesItemView: View {
.clipShape(Circle())
Text(item.creatorNickname)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(.gray77)
}
.onTapGesture {

View File

@@ -19,7 +19,7 @@ struct ContentMainSeriesGenreView: View {
ForEach(0..<genreList.count, id: \.self) { index in
let genre = genreList[index]
Text(genre.genre)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(selectedGenreId == genre.id ? Color.button : Color.gray77)
.padding(.horizontal, 13.3)
.padding(.vertical, 9.3)

View File

@@ -50,11 +50,11 @@ struct ContentMainSeriesRankingView: View {
VStack(alignment: .leading, spacing: 8) {
Text(series.title)
.lineLimit(2)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.grayd2)
Text(series.creator.nickname)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(.gray77)
}
}

View File

@@ -92,7 +92,7 @@ struct ContentMainTabSeriesView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -71,13 +71,13 @@ struct ContentMainOriginalAudioDramaItemView: View {
.frame(width: itemWidth, height: (itemWidth * 636) / 450, alignment: .center)
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(1)
if isAll {
Text(item.publishedDaysOfWeek)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.gray77)
}
}

View File

@@ -90,7 +90,7 @@ struct ContentModifyView: View {
TextField("제목을 입력하세요", text: $viewModel.title)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.vertical, 16.7)
.padding(.horizontal, 13.3)
@@ -107,10 +107,10 @@ struct ContentModifyView: View {
Spacer()
Text("\(viewModel.detail.count)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "ff5c49")) +
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "ff5c49"))
Text(" / 최대 500자")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "777777"))
}
.padding(.top, 26.7)
@@ -134,7 +134,7 @@ struct ContentModifyView: View {
TextField("예: #연애 #커버곡", text: $viewModel.hashtags)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
.padding(.vertical, 16.7)
.padding(.horizontal, 13.3)
@@ -196,7 +196,7 @@ struct ContentModifyView: View {
}
Text("성인콘텐츠를 전체관람가로 등록할 시 발생하는 법적 책임은 회사와 상관없이 콘텐츠를 등록한 본인에게 있습니다.\n콘텐츠 내용은 물론 제목도 19금 여부를 체크해 주시기 바랍니다.")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "DD4500"))
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 13.3)
@@ -284,7 +284,7 @@ struct ContentModifyView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -28,7 +28,7 @@ struct ContentPlayerView: View {
if !playerManager.isShowPlaylist {
Text(playerManager.title)
.font(.custom(Font.medium.rawValue, size: 16))
.appFont(size: 16, weight: .medium)
.foregroundColor(.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 16)
@@ -43,7 +43,7 @@ struct ContentPlayerView: View {
.clipShape(Circle())
Text(playerManager.nickname)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(.gray90)
Spacer()
@@ -115,13 +115,13 @@ struct ContentPlayerView: View {
HStack(spacing: 0) {
Text(secondsToMinutesSeconds(seconds: Int(playerManager.currentTime)))
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(.graybb)
Spacer()
Text(secondsToMinutesSeconds(seconds: Int(playerManager.duration)))
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(.gray77)
}
.padding(.top, 5.3)

View File

@@ -32,13 +32,13 @@ struct ContentPlaylistItemView: View {
if !item.desc.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
Text(item.desc)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
.lineLimit(1)
}
Text("\(item.contentCount)")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
.lineLimit(1)
}

View File

@@ -36,7 +36,7 @@ struct ContentPlaylistListView: View {
.foregroundColor(Color.grayee)
Text("자주 듣는 콘텐츠를\n재생목록으로 만들어 보세요.")
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.grayee)
.multilineTextAlignment(.center)
}
@@ -46,11 +46,11 @@ struct ContentPlaylistListView: View {
} else {
HStack(spacing: 5.3) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
Spacer()
@@ -77,7 +77,7 @@ struct ContentPlaylistListView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -34,7 +34,7 @@ struct ContentPlaylistCreateView: View {
Spacer()
Text("저장")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.grayee)
.frame(minHeight: 48)
.onTapGesture {
@@ -57,7 +57,7 @@ struct ContentPlaylistCreateView: View {
Spacer()
Text("\(viewModel.title.count)/30")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.onChange(of: viewModel.title) { newValue in
if newValue.count > 30 {
@@ -90,7 +90,7 @@ struct ContentPlaylistCreateView: View {
Spacer()
Text("\(viewModel.desc.count)/40")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.onChange(of: viewModel.desc) { newValue in
if newValue.count > 40 {
@@ -144,7 +144,7 @@ struct ContentPlaylistCreateView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -34,7 +34,7 @@ struct PlaylistAddContentItemView: View {
VStack(alignment: .leading, spacing: 2.6) {
HStack(spacing: 8) {
Text(item.themeStr)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(2.6)
.background(Color(hex: "28312b"))
@@ -42,7 +42,7 @@ struct PlaylistAddContentItemView: View {
if let duration = item.duration {
Text(duration)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color.gray77)
.padding(2.6)
.background(Color.gray22)
@@ -51,7 +51,7 @@ struct PlaylistAddContentItemView: View {
}
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.grayd2)
.lineLimit(2)
.truncationMode(.tail)

View File

@@ -25,7 +25,7 @@ struct PlaylistAddContentView: View {
Spacer()
Text("닫기")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.grayee)
.frame(minHeight: 48)
.onTapGesture { isShowing = false }
@@ -37,11 +37,11 @@ struct PlaylistAddContentView: View {
HStack(alignment: .center, spacing: 5.3) {
Text("전체")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
Text("\(viewModel.totalCount)")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
}

View File

@@ -25,14 +25,14 @@ struct PlaylistCreateContentView: View {
VStack(alignment: .leading, spacing: 6.7) {
HStack(spacing: 8) {
Text(content.category)
.font(.custom(Font.medium.rawValue, size: 8))
.appFont(size: 8, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(2.6)
.background(Color(hex: "28312b"))
.cornerRadius(2.6)
Text(content.duration)
.font(.custom(Font.medium.rawValue, size: 8))
.appFont(size: 8, weight: .medium)
.foregroundColor(Color.gray77)
.padding(2.6)
.background(Color.gray22)
@@ -40,7 +40,7 @@ struct PlaylistCreateContentView: View {
}
Text(content.title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.grayd2)
.multilineTextAlignment(.leading)
.lineLimit(3)

View File

@@ -118,7 +118,7 @@ struct ContentPlaylistDetailView: View {
.truncationMode(.tail)
Text(response.desc.prefix(100))
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
.truncationMode(.tail)
}
@@ -126,13 +126,13 @@ struct ContentPlaylistDetailView: View {
HStack(spacing: 0) {
Text("만든 날짜 \(response.createdDate)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray90)
Spacer()
Text("\(response.contentCount)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
}
.padding(.top, 13.3)
@@ -203,12 +203,12 @@ struct ContentPlaylistDetailView: View {
VStack(alignment: .leading, spacing: 2.3) {
Text(contentPlayerPlayManager.title)
.font(.custom(Font.medium.rawValue, size: 13))
.appFont(size: 13, weight: .medium)
.foregroundColor(Color.grayee)
.lineLimit(2)
Text(contentPlayerPlayManager.nickname)
.font(.custom(Font.medium.rawValue, size: 11))
.appFont(size: 11, weight: .medium)
.foregroundColor(Color.grayd2)
}
.padding(.horizontal, 10.7)
@@ -244,7 +244,7 @@ struct ContentPlaylistDetailView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
@@ -270,7 +270,7 @@ struct ContentPlaylistDetailView: View {
HStack(spacing: 13.3) {
Text("삭제")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.grayee)
Spacer()

View File

@@ -27,14 +27,14 @@ struct PlaylistContentItemView: View {
VStack(alignment: .leading, spacing: 2.6) {
HStack(spacing: 8) {
Text(item.category)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(2.6)
.background(Color(hex: "28312b"))
.cornerRadius(2.6)
Text(item.duration)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color.gray77)
.padding(2.6)
.background(Color.gray22)
@@ -42,7 +42,7 @@ struct PlaylistContentItemView: View {
}
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.grayd2)
.lineLimit(2)
.truncationMode(.tail)

View File

@@ -35,7 +35,7 @@ struct ContentPlaylistModifyView: View {
Spacer()
Text("수정")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.grayee)
.frame(minHeight: 48)
.onTapGesture {
@@ -58,7 +58,7 @@ struct ContentPlaylistModifyView: View {
Spacer()
Text("\(viewModel.title.count)/30")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.onChange(of: viewModel.title) { newValue in
if newValue.count > 30 {
@@ -91,7 +91,7 @@ struct ContentPlaylistModifyView: View {
Spacer()
Text("\(viewModel.desc.count)/40")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray77)
.onChange(of: viewModel.desc) { newValue in
if newValue.count > 40 {
@@ -145,7 +145,7 @@ struct ContentPlaylistModifyView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -24,7 +24,7 @@ struct SeriesContentAllView: View {
Spacer()
Text("최신순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color.graye2
.opacity(viewModel.sortType == .NEWEST ? 1 : 0.5)
@@ -36,7 +36,7 @@ struct SeriesContentAllView: View {
}
Text("등록순")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(
Color.graye2
.opacity(viewModel.sortType == .OLDEST ? 1 : 0.5)

View File

@@ -26,7 +26,7 @@ struct SeriesContentListItemView: View {
VStack(alignment: .leading, spacing: 2.7) {
HStack(spacing: 8) {
Text(item.duration)
.font(.custom(Font.medium.rawValue, size: 10))
.appFont(size: 10, weight: .medium)
.foregroundColor(Color.gray77)
.padding(2.7)
.background(Color.gray22)
@@ -34,7 +34,7 @@ struct SeriesContentListItemView: View {
if item.isPointAvailable {
Text("포인트")
.font(.custom(Font.medium.rawValue, size: 8))
.appFont(size: 8, weight: .medium)
.foregroundColor(.white)
.padding(2.6)
.background(Color(hex: "7849bc"))
@@ -43,7 +43,7 @@ struct SeriesContentListItemView: View {
}
Text(item.title)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.grayd2)
}
@@ -51,7 +51,7 @@ struct SeriesContentListItemView: View {
if item.isOwned {
Text("소장중")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.gray11)
.padding(.horizontal, 5.3)
.padding(.vertical, 2.7)
@@ -59,7 +59,7 @@ struct SeriesContentListItemView: View {
.cornerRadius(2.6)
} else if item.isRented {
Text("대여중")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.white)
.padding(.horizontal, 5.3)
.padding(.vertical, 2.7)
@@ -70,12 +70,12 @@ struct SeriesContentListItemView: View {
Image("ic_can")
Text("\(item.price)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "909090"))
}
} else {
Text("무료")
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color.white)
.padding(.horizontal, 5.3)
.padding(.vertical, 2.7)

View File

@@ -36,7 +36,7 @@ struct SeriesDetailIntroductionView: View {
.foregroundColor(Color.grayee)
Text(seriesDetail.displayIntroduction)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
.lineSpacing(4)
}
@@ -54,61 +54,61 @@ struct SeriesDetailIntroductionView: View {
HStack(spacing: 30) {
VStack(alignment: .leading, spacing: 13.3) {
Text(I18n.SeriesDetail.genre)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
Text(I18n.SeriesDetail.ageLimit)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
if let _ = seriesDetail.writer {
Text(I18n.SeriesDetail.writer)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
}
if let _ = seriesDetail.studio {
Text(I18n.SeriesDetail.studio)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
}
Text(I18n.SeriesDetail.schedule)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
Text(I18n.SeriesDetail.releaseDate)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
}
VStack(alignment: .leading, spacing: 13.3) {
Text(seriesDetail.displayGenre)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
Text(seriesDetail.isAdult ? I18n.SeriesDetail.age19Plus : I18n.SeriesDetail.ageAll)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
if let writer = seriesDetail.writer {
Text(writer)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
}
if let studio = seriesDetail.studio {
Text(studio)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
}
Text(seriesDetail.publishedDaysOfWeek == "랜덤" ? I18n.SeriesDetail.random : "\(seriesDetail.publishedDaysOfWeek)")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
Text(seriesDetail.displayPublishedDate)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.white)
}
}
@@ -123,21 +123,21 @@ struct SeriesDetailIntroductionView: View {
HStack(spacing: 30) {
VStack(alignment: .leading, spacing: 13.3) {
Text(I18n.SeriesDetail.rentLabel)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
Text(I18n.SeriesDetail.buyLabel)
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.gray77)
}
VStack(alignment: .leading, spacing: 13.3) {
Text("\(calculatePriceInfo(seriesDetail.rentalMinPrice, seriesDetail.rentalMaxPrice)) \(I18n.SeriesDetail.daysSuffix(5))")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.button)
Text("\(calculatePriceInfo(seriesDetail.minPrice, seriesDetail.maxPrice))")
.font(.custom(Font.medium.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .medium)
.foregroundColor(Color.button)
}
}

View File

@@ -84,7 +84,7 @@ struct SeriesDetailView: View {
HStack(spacing: 5.3) {
Text(seriesDetail.displayGenre)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "3bac6a"))
.padding(.horizontal, 5.3)
.padding(.vertical, 3.3)
@@ -93,7 +93,7 @@ struct SeriesDetailView: View {
if seriesDetail.isAdult {
Text("19세")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "f1291c"))
.padding(.horizontal, 5.3)
.padding(.vertical, 3.3)
@@ -101,7 +101,7 @@ struct SeriesDetailView: View {
.cornerRadius(2.6)
} else {
Text("전체연령가")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "d2d2d2"))
.padding(.horizontal, 5.3)
.padding(.vertical, 3.3)
@@ -110,7 +110,7 @@ struct SeriesDetailView: View {
}
Text("\(seriesDetail.publishedDaysOfWeek) 연재")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color(hex: "909090"))
}
.padding(.top, 8)
@@ -142,7 +142,7 @@ struct SeriesDetailView: View {
.frame(width: 26.7, height: 26.7)
Text(seriesDetail.creator.nickname)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.gray90)
}
.onTapGesture {

View File

@@ -63,7 +63,7 @@ struct SeriesMainByGenreView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -97,7 +97,7 @@ struct SeriesMainDayOfWeekView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -107,7 +107,7 @@ struct SeriesMainHomeView: View {
Text(viewModel.errorMessage)
.padding(.vertical, 13.3)
.frame(width: screenSize().width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)

View File

@@ -300,7 +300,7 @@ struct ContentView: View {
Text(appState.errorMessage)
.padding(.vertical, 13.3)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.center)

View File

@@ -44,7 +44,7 @@ struct ExpandableTextView: View {
Image(isExpanded ? "ic_live_detail_top" : "ic_live_detail_bottom")
Text(isExpanded ? "접기" : "펼치기")
.font(.custom(Font.medium.rawValue, size: 12))
.appFont(size: 12, weight: .medium)
.foregroundColor(Color.graybb)
Spacer()
}

View File

@@ -18,7 +18,7 @@ struct IconAndTitleButton: View {
Image(iconName)
Text(title)
.font(.custom(Font.medium.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .medium)
.foregroundColor(Color(hex: "d2d2d2"))
}
.padding(.horizontal, 13.3)

Some files were not shown because too many files have changed in this diff Show More