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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -19,7 +19,7 @@ struct ContentListCategoryView: View {
ForEach(0..<categoryList.count, id: \.self) { index in ForEach(0..<categoryList.count, id: \.self) { index in
let category = categoryList[index] let category = categoryList[index]
Text(category.category) 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")) .foregroundColor(Color(hex: selectedCategory == category.category ? "3bb9f1" : "777777"))
.padding(.horizontal, 13.3) .padding(.horizontal, 13.3)
.padding(.vertical, 9.3) .padding(.vertical, 9.3)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -19,7 +19,7 @@ struct ContentMainSeriesGenreView: View {
ForEach(0..<genreList.count, id: \.self) { index in ForEach(0..<genreList.count, id: \.self) { index in
let genre = genreList[index] let genre = genreList[index]
Text(genre.genre) 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) .foregroundColor(selectedGenreId == genre.id ? Color.button : Color.gray77)
.padding(.horizontal, 13.3) .padding(.horizontal, 13.3)
.padding(.vertical, 9.3) .padding(.vertical, 9.3)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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