커스텀 폰트 pretendard-bold, gmarket-bold를 사용하고 있던 것을 appFont 모디파이어를 사용하여 한국어는 pretendard, 그 외에는 시스템 폰트를 사용하도록 수정

This commit is contained in:
Yu Sung
2026-01-23 02:57:23 +09:00
parent 5a344956e3
commit d92dcbc696
181 changed files with 500 additions and 500 deletions

View File

@@ -31,7 +31,7 @@ struct ApplyMethodView: View {
}
Text("오디션 지원방식")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.graybb)
.padding(.top, 33.3)

View File

@@ -31,7 +31,7 @@ struct AuditionApplicantRecordingView: View {
VStack(spacing: 0) {
HStack(spacing: 0) {
Text("오디션 녹음")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -46,7 +46,7 @@ struct AuditionApplicantRecordingView: View {
}
Text(soundManager.timeString)
.font(.custom(Font.bold.rawValue, size: 33.3))
.appFont(size: 33.3, weight: .bold)
.foregroundColor(.white)
.padding(.top, 80)
@@ -114,7 +114,7 @@ struct AuditionApplicantRecordingView: View {
HStack(spacing: 13.3) {
Text("다시 녹음")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.button)
.frame(width: (proxy.size.width - 40) / 3, height: 50)
.background(Color.button.opacity(0.2))
@@ -130,7 +130,7 @@ struct AuditionApplicantRecordingView: View {
}
Text("녹음완료")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
.frame(width: (proxy.size.width - 40) * 2 / 3, height: 50)
.background(Color.button)

View File

@@ -46,7 +46,7 @@ struct AuditionApplyView: View {
}
Text("녹음파일")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(.grayee)
.padding(.top, 20)
@@ -67,7 +67,7 @@ struct AuditionApplyView: View {
.padding(.top, 10)
Text("연락처")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(.grayee)
.padding(.top, 15)
@@ -101,7 +101,7 @@ struct AuditionApplyView: View {
}
Text("오디션 지원하기")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.vertical, 13.3)
.frame(maxWidth: .infinity)

View File

@@ -25,7 +25,7 @@ struct AuditionView: View {
.frame(width: 20, height: 20)
Text("오디션")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
}
@@ -74,11 +74,11 @@ struct AuditionView: View {
VStack(alignment: .leading, spacing: 25) {
HStack(spacing: 0) {
Text("오디션")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
Text(" ON")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.mainRed)
Spacer()
@@ -112,11 +112,11 @@ struct AuditionView: View {
HStack(spacing: 0) {
Text("오디션")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
Text(" OFF")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.graybb)
Spacer()

View File

@@ -31,7 +31,7 @@ struct AuditionDetailView: View {
.cornerRadius(6.7)
Text("오디션 정보")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.top, 15)
@@ -39,7 +39,7 @@ struct AuditionDetailView: View {
.padding(.top, 13.3)
Text("오디션 캐릭터")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.top, 15)

View File

@@ -46,7 +46,7 @@ struct AuditionRoleDetailView: View {
HStack(spacing: 14) {
if let url = URL(string: roleDetail.originalWorkUrl), UIApplication.shared.canOpenURL(url) {
Text("원작 보러가기")
.font(.custom(Font.bold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.button)
.padding(.vertical, 12)
.frame(maxWidth: .infinity)
@@ -60,7 +60,7 @@ struct AuditionRoleDetailView: View {
if let url = URL(string: roleDetail.auditionScriptUrl), UIApplication.shared.canOpenURL(url) {
Text("오디션 대본 확인")
.font(.custom(Font.bold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.button)
.padding(.vertical, 12)
.frame(maxWidth: .infinity)
@@ -75,7 +75,7 @@ struct AuditionRoleDetailView: View {
VStack(alignment: .leading, spacing: 13.3) {
Text("오디션 캐릭터 정보")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
ExpandableTextView(text: roleDetail.information)
@@ -190,7 +190,7 @@ struct AuditionRoleDetailView: View {
if let roleDetail = viewModel.auditionRoleDetail {
Text(roleDetail.isAlreadyApplicant ? "오디션 재지원" : "오디션 지원")
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color.white)
.padding(14)
.background(Color.button)

View File

@@ -48,7 +48,7 @@ struct CharacterItemView: View {
if isShowRank {
Text("\(rank)")
.font(.custom(Font.preBold.rawValue, size: 72))
.appFont(size: 72, weight: .bold)
.foregroundColor(.white)
.lineLimit(1)
.frame(height: capHeight)

View File

@@ -19,7 +19,7 @@ struct CharacterSectionView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text(title)
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()
if let trailingTitle = trailingTitle {

View File

@@ -68,7 +68,7 @@ struct CharacterView: View {
VStack(alignment: .leading, spacing: 16) {
HStack {
Text("추천 캐릭터")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()

View File

@@ -78,7 +78,7 @@ struct CharacterDetailView: View {
VStack(spacing: 16) {
HStack {
Text("장르의 다른 캐릭터")
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -263,7 +263,7 @@ extension CharacterDetailView {
//
HStack(spacing: 8) {
Text(viewModel.characterDetail?.translated?.name ?? viewModel.characterDetail?.name ?? "")
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(.white)
.lineLimit(1)
.truncationMode(.tail)
@@ -301,7 +301,7 @@ extension CharacterDetailView {
VStack(alignment: .leading, spacing: 8) {
HStack {
Text("[세계관 및 작품 소개]")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -319,7 +319,7 @@ extension CharacterDetailView {
VStack(spacing: 8) {
HStack {
Text("원작")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.fontWeight(.bold)
.foregroundColor(.white)
@@ -340,7 +340,7 @@ extension CharacterDetailView {
}
}) {
Text("원작 보러가기")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.fontWeight(.bold)
.foregroundColor(Color(hex: "3BB9F1"))
.frame(maxWidth: .infinity)
@@ -361,7 +361,7 @@ extension CharacterDetailView {
VStack(alignment: .leading, spacing: 8) {
HStack {
Text("[성격 및 특징]")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -373,7 +373,7 @@ extension CharacterDetailView {
VStack(alignment: .leading, spacing: 16) {
HStack {
Text("⚠️ 캐릭터톡 대화 가이드")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color(hex: "B0BEC5"))
Spacer()
@@ -412,7 +412,7 @@ extension CharacterDetailView {
extension CharacterDetailView {
private var chatButton: some View {
Text("대화하기")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
.frame(maxWidth: .infinity)
.frame(height: 54)

View File

@@ -95,7 +95,7 @@ struct CharacterDetailGalleryView: View {
// ( % , , )
HStack {
Text("\(viewModel.ownershipPercentage)% 보유중")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -181,7 +181,7 @@ struct CharacterDetailGalleryView: View {
.frame(width: 16)
Text("\(item.imagePriceCan)")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color(hex: "#263238"))
}
.padding(.horizontal, 12)

View File

@@ -16,11 +16,11 @@ struct RecentCharacterSectionView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("최근 대화한 캐릭터 ")
.font(.custom(Font.preBold.rawValue, size: 20))
.appFont(size: 20, weight: .bold)
.foregroundColor(.white)
Text("\(titleCount)")
.font(.custom(Font.preBold.rawValue, size: 20))
.appFont(size: 20, weight: .bold)
.foregroundColor(Color(hex: "FDCA2F"))
Spacer()

View File

@@ -26,7 +26,7 @@ struct OriginalWorkDetailHeaderView: View {
//
Text(item.translated?.title ?? item.title)
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(.white)
.padding(.top, 40)

View File

@@ -157,7 +157,7 @@ struct OriginalWorkInfoView: View {
VStack(spacing: 16) {
VStack(alignment: .leading, spacing: 8) {
Text("작품 소개")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(.white)
Text(response.translated?.description ?? response.description)
@@ -176,7 +176,7 @@ struct OriginalWorkInfoView: View {
VStack(alignment: .leading, spacing: 8) {
Text("원작 보러 가기")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color(hex: "B0BEC5"))
ScrollView(.horizontal, showsIndicators: false) {
@@ -203,7 +203,7 @@ struct OriginalWorkInfoView: View {
VStack(alignment: .leading, spacing: 8) {
Text("상세 정보")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(.white)
HStack(spacing: 16) {

View File

@@ -46,13 +46,13 @@ struct ChatRoomView: View {
VStack(alignment: .leading, spacing: 4) {
Text(viewModel.characterName)
.font(.custom(Font.preBold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(.white)
.lineLimit(1)
.truncationMode(.tail)
Text(viewModel.characterType.rawValue)
.font(.custom(Font.preBold.rawValue, size: 10))
.appFont(size: 10, weight: .bold)
.foregroundColor(.white)
.padding(.horizontal, 4)
.padding(.vertical, 2)

View File

@@ -117,7 +117,7 @@ struct AiMessageItemView: View {
.frame(width: 24, height: 24)
Text("\(message.price ?? 5)")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color(hex: "263238"))
}
.padding(.horizontal, 10)
@@ -131,7 +131,7 @@ struct AiMessageItemView: View {
}
Text("눌러서 잠금해제")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
}
.frame(width: maxWidth, height: imageHeight)

View File

@@ -20,11 +20,11 @@ struct ChatQuotaNoticeItemView: View {
.frame(width: 30, height: 30)
Text(remainingTime)
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
Text("기다리면 무료 이용이 가능합니다.")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
}
.frame(maxWidth: .infinity)
@@ -36,11 +36,11 @@ struct ChatQuotaNoticeItemView: View {
Image("ic_can")
Text("10")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(Color(hex: "263238"))
Text("(채팅 12개) 바로 대화 시작")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(Color(hex: "263238"))
.padding(.leading, 4)
}

View File

@@ -26,7 +26,7 @@ struct ChatSettingsView: View {
VStack(spacing: 0) {
Toggle(isOn: $isHideBg) {
Text("배경 이미지 끄기")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(Color(hex: "B0BEC5"))
}
.toggleStyle(.switch)
@@ -43,7 +43,7 @@ struct ChatSettingsView: View {
VStack(spacing: 0) {
HStack {
Text("배경 이미지 변경")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(Color(hex: "B0BEC5"))
.padding(.horizontal, 24)
.padding(.vertical, 12)
@@ -62,7 +62,7 @@ struct ChatSettingsView: View {
HStack(spacing: 0) {
VStack(alignment: .leading, spacing: 6) {
Text("대화 초기화")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(Color(hex: "B0BEC5"))
HStack(alignment: .top, spacing: 0) {
@@ -85,7 +85,7 @@ struct ChatSettingsView: View {
.frame(width: 24, height: 24)
Text("30")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color(hex: "263238"))
}
.padding(.vertical, 3)

View File

@@ -24,7 +24,7 @@ struct TalkItemView: View {
VStack(alignment: .leading, spacing: 6) {
HStack(spacing: 4) {
Text(item.title)
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
.lineLimit(1)

View File

@@ -20,7 +20,7 @@ struct ContentRankingAllView: View {
VStack(spacing: 8) {
Text("\(viewModel.dateString)")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("※ 인기 콘텐츠의 순위는 매주 업데이트됩니다.")
@@ -63,7 +63,7 @@ struct ContentRankingAllView: View {
.cornerRadius(5.3)
Text("\(index + 1)")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "3bb9f1"))
.padding(.horizontal, 12)

View File

@@ -25,7 +25,7 @@ struct ContentListView: View {
.frame(width: 20, height: 20)
Text("콘텐츠 전체보기")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
}
@@ -46,7 +46,7 @@ struct ContentListView: View {
if userId == UserDefaults.int(forKey: .userId) {
Text("새로운 콘텐츠 등록하기")
.font(.custom(Font.bold.rawValue, size: 15))
.appFont(size: 15, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.vertical, 17)
.frame(maxWidth: .infinity)

View File

@@ -29,7 +29,7 @@ struct ContentCreateSelectThemeView: View {
VStack(spacing: 0) {
HStack(alignment: .top, spacing: 0) {
Text("테마 선택")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
Spacer()

View File

@@ -29,7 +29,7 @@ struct ContentCreateView: View {
ScrollView(.vertical, showsIndicators: false) {
VStack(spacing: 0) {
Text("썸네일")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -62,7 +62,7 @@ struct ContentCreateView: View {
.onTapGesture { isShowPhotoPicker = true }
Text("등록")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 13.3)
@@ -92,7 +92,7 @@ struct ContentCreateView: View {
VStack(spacing: 0) {
Text("제목")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -110,7 +110,7 @@ struct ContentCreateView: View {
HStack(spacing: 0) {
Text("내용")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -135,7 +135,7 @@ struct ContentCreateView: View {
.padding(.top, 13.3)
Text("테마")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 26.7)
@@ -158,7 +158,7 @@ struct ContentCreateView: View {
Text(viewModel.theme != nil ?
viewModel.theme!.theme :
I18n.CreateContent.selectTheme)
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.button)
}
.padding(.vertical, viewModel.theme != nil ? 8 : 13.3)
@@ -177,7 +177,7 @@ struct ContentCreateView: View {
}
Text("태그")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 26.7)
@@ -204,7 +204,7 @@ struct ContentCreateView: View {
VStack(spacing: 13.3) {
Text("가격 설정")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -225,7 +225,7 @@ struct ContentCreateView: View {
if !viewModel.isFree {
VStack(spacing: 13.3) {
Text("소장 설정")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -261,7 +261,7 @@ struct ContentCreateView: View {
TextField("가격을 입력하세요(5캔 이상)", text: $viewModel.priceString)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
.cornerRadius(6.7)
.keyboardType(.numberPad)
@@ -305,7 +305,7 @@ struct ContentCreateView: View {
if viewModel.price > 0 && viewModel.purchaseOption != .RENT_ONLY {
VStack(spacing: 13.3) {
Text("한정판 설정")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -327,7 +327,7 @@ struct ContentCreateView: View {
TextField("한정판 개수를 입력하세요", text: $viewModel.limitedString)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
.cornerRadius(6.7)
.keyboardType(.numberPad)
@@ -342,7 +342,7 @@ struct ContentCreateView: View {
VStack(spacing: 13.3) {
Text("포인트 사용")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -364,7 +364,7 @@ struct ContentCreateView: View {
VStack(spacing: 13.3) {
Text("미리듣기")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -387,7 +387,7 @@ struct ContentCreateView: View {
if viewModel.isGeneratePreview {
VStack(spacing: 10) {
Text("미리듣기 시간 설정")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -406,7 +406,7 @@ struct ContentCreateView: View {
TextField("00:00:00", text: $viewModel.previewStartTime)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 14.6))
.appFont(size: 14.6, weight: .bold)
.foregroundColor(Color.gray77)
.padding(.vertical, 16.7)
.padding(.horizontal, 13.3)
@@ -425,7 +425,7 @@ struct ContentCreateView: View {
TextField("00:00:15", text: $viewModel.previewEndTime)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 14.6))
.appFont(size: 14.6, weight: .bold)
.foregroundColor(Color.gray77)
.padding(.vertical, 16.7)
.padding(.horizontal, 13.3)
@@ -446,7 +446,7 @@ struct ContentCreateView: View {
VStack(spacing: 13.3) {
Text("연령 제한")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -475,7 +475,7 @@ struct ContentCreateView: View {
VStack(spacing: 13.3) {
Text("댓글 가능 여부")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -498,7 +498,7 @@ struct ContentCreateView: View {
VStack(spacing: 13.3) {
Text(I18n.CreateContent.publishReserved)
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -573,7 +573,7 @@ struct ContentCreateView: View {
VStack(spacing: 0) {
HStack(alignment: .top, spacing: 0) {
Text("등록")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.white)
.frame(height: 50)
.frame(maxWidth: .infinity)
@@ -697,7 +697,7 @@ struct SelectButtonView: View {
}
Text(title)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(isChecked ? .white : Color.main)
}
.frame(height: 48.7)

View File

@@ -20,7 +20,7 @@ struct AudioContentDeleteDialogView: View {
var body: some View {
VStack(spacing: 0) {
Text("콘텐츠 삭제")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("[\(title)]을 삭제하시겠습니까?")
@@ -57,7 +57,7 @@ struct AudioContentDeleteDialogView: View {
HStack(spacing: 12) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "9970ff"))
.padding(.horizontal, 55)
.padding(.vertical, 16)
@@ -71,7 +71,7 @@ struct AudioContentDeleteDialogView: View {
}
Text("확인")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.horizontal, 55)
.padding(.vertical, 16)

View File

@@ -32,7 +32,7 @@ struct AudioContentReportDialogView: View {
VStack(spacing: 13.3) {
Text("콘텐츠 신고")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
VStack(spacing: 13.3) {
@@ -66,7 +66,7 @@ struct AudioContentReportDialogView: View {
HStack(spacing: 12) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "9970ff"))
.padding(.vertical, 16)
.frame(width: (screenSize().width - 100) / 2)
@@ -80,7 +80,7 @@ struct AudioContentReportDialogView: View {
}
Text("신고")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.vertical, 16)
.frame(width: (screenSize().width - 100) / 2)

View File

@@ -82,7 +82,7 @@ struct AudioContentCommentItemView: View {
.frame(width: 13.3, height: 13.3)
Text("\(commentItem.donationCan)")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(.white)
}
.padding(.horizontal, 6.7)

View File

@@ -26,12 +26,12 @@ struct ContentDetailInfoLimitedEditionView: View {
if let orderSequence = orderSequence {
Text("\(orderSequence)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.button)
.padding(.leading, 5.3)
Text("/")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayd2)
.padding(.leading, 2.3)
@@ -56,7 +56,7 @@ struct ContentDetailInfoLimitedEditionView: View {
.foregroundColor(Color.grayd2)
Text("\(remainingContentCount)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.button)
.padding(.leading, 5.3)
}
@@ -70,7 +70,7 @@ struct ContentDetailInfoLimitedEditionView: View {
if !buyerList.isEmpty {
Text("구매자")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
ScrollView(.horizontal, showsIndicators: false) {

View File

@@ -81,7 +81,7 @@ struct ContentDetailInfoView: View {
}
Text(audioContent.translated?.title ?? audioContent.title)
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayd2)
.lineSpacing(5)
.multilineTextAlignment(.leading)

View File

@@ -16,7 +16,7 @@ struct ContentDetailOtherContentView: View {
var body: some View {
VStack(spacing: 21.3) {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)

View File

@@ -63,7 +63,7 @@ struct ContentDetailPlayView: View {
if let _ = audioContent.totalContentCount, let remainingContentCount = audioContent.remainingContentCount, remainingContentCount <= 0, audioContent.creator.creatorId != UserDefaults.int(forKey: .userId), !audioContent.existOrdered {
Text("Sold Out")
.font(.custom(Font.bold.rawValue, size: 36.7))
.appFont(size: 36.7, weight: .bold)
.foregroundColor(.white)
.frame(
width: screenSize().width - 26.7,

View File

@@ -22,7 +22,7 @@ struct ContentDetailPurchaseButton: View {
}
Text(UserDefaults.int(forKey: .userId) == 17958 ? "\(price * 110)" : "\(price)")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(.white)
.padding(.leading, 5.3)
@@ -31,7 +31,7 @@ struct ContentDetailPurchaseButton: View {
.foregroundColor(.white)
Text(title)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(.white)
}
.frame(maxWidth: .infinity)

View File

@@ -39,7 +39,7 @@ struct ContentDetailView: View {
.frame(width: 20, height: 20)
Text("콘텐츠 상세")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
}
@@ -109,7 +109,7 @@ struct ContentDetailView: View {
if let releaseDate = audioContent.releaseDate {
Text(releaseDate)
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(.white)
.frame(maxWidth: .infinity)
.frame(height: 48.7)
@@ -123,7 +123,7 @@ struct ContentDetailView: View {
audioContent.creator.creatorId != UserDefaults.int(forKey: .userId) {
if let _ = audioContent.totalContentCount, let remainingContentCount = audioContent.remainingContentCount, remainingContentCount <= 0 {
Text("해당 콘텐츠가 매진되었습니다.")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(.white)
.frame(maxWidth: .infinity)
.frame(height: 48.7)

View File

@@ -36,7 +36,7 @@ struct ContentOrderConfirmDialogView: View {
VStack(spacing: 0) {
Text("구매확인")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
HStack(spacing: 11) {
@@ -64,7 +64,7 @@ struct ContentOrderConfirmDialogView: View {
.cornerRadius(2)
Text(title)
.font(.custom(Font.bold.rawValue, size: 11.3))
.appFont(size: 11.3, weight: .bold)
.foregroundColor(Color.grayd2)
.padding(.top, 2)
@@ -127,7 +127,7 @@ struct ContentOrderConfirmDialogView: View {
.frame(width: 16.7, height: 16.7)
Text("\(usablePoint)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
}
@@ -145,13 +145,13 @@ struct ContentOrderConfirmDialogView: View {
.frame(width: 16.7, height: 16.7)
Text("\(remainingCan)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
}
} else {
Text("\(price * 110)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
@@ -169,7 +169,7 @@ struct ContentOrderConfirmDialogView: View {
HStack(spacing: 12) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.button)
.padding(.vertical, 15.7)
.frame(maxWidth: .infinity)
@@ -182,7 +182,7 @@ struct ContentOrderConfirmDialogView: View {
.onTapGesture { isShowing = false }
Text("확인")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 15.7)
.frame(maxWidth: .infinity)

View File

@@ -28,7 +28,7 @@ struct ContentOrderDialogView: View {
HStack(spacing: 0) {
VStack(alignment: .leading, spacing: 5.3) {
Text("대여")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(.white)
Text("(이용기간 5일)")
@@ -47,17 +47,17 @@ struct ContentOrderDialogView: View {
if UserDefaults.int(forKey: .userId) == 17958 {
Text("\(Int(ceil(Double(price) * 0.7)) * 110)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
} else {
Text("\(Int(ceil(Double(price) * 0.7)))")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
if UserDefaults.int(forKey: .userId) == 17958 {
Text("")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
}
@@ -74,7 +74,7 @@ struct ContentOrderDialogView: View {
HStack(spacing: 0) {
VStack(alignment: .leading, spacing: 5.3) {
Text("소장")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(.white)
Text("(서비스 종료시까지)")
@@ -93,17 +93,17 @@ struct ContentOrderDialogView: View {
if UserDefaults.int(forKey: .userId) == 17958 {
Text("\(price * 110)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
} else {
Text("\(price)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
if UserDefaults.int(forKey: .userId) == 17958 {
Text("")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
}

View File

@@ -44,7 +44,7 @@ struct LiveRoomDonationDialogView: View {
.frame(width: 26.7, height: 26.7)
Text("후원하기")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -55,7 +55,7 @@ struct LiveRoomDonationDialogView: View {
.frame(width: 26.7, height: 26.7)
Text("\(can)")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
Text("충전")
@@ -116,7 +116,7 @@ struct LiveRoomDonationDialogView: View {
HStack(spacing: 0) {
Text("+10")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 12.7)
.frame(width: 74)
@@ -134,7 +134,7 @@ struct LiveRoomDonationDialogView: View {
Spacer()
Text("+100")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 12.7)
.frame(width: 74)
@@ -150,7 +150,7 @@ struct LiveRoomDonationDialogView: View {
Spacer()
Text("+1,000")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 12.7)
.frame(width: 74)
@@ -168,7 +168,7 @@ struct LiveRoomDonationDialogView: View {
Spacer()
Text("+10,000")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 12.7)
.frame(width: 74)
@@ -218,7 +218,7 @@ struct LiveRoomDonationDialogView: View {
HStack(spacing: 13.3) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 15))
.appFont(size: 15, weight: .bold)
.foregroundColor(Color.button)
.padding(.vertical, 16)
.frame(width: (screenSize().width - 53.3) / 3)
@@ -234,7 +234,7 @@ struct LiveRoomDonationDialogView: View {
}
Text("후원하기")
.font(.custom(Font.bold.rawValue, size: 15))
.appFont(size: 15, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 16)
.frame(width: (screenSize().width - 53.3) * 2 / 3)

View File

@@ -19,7 +19,7 @@ struct ContentMainView: View {
VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 0) {
Text("콘텐츠 마켓")
.font(.custom(Font.bold.rawValue, size: 21.3))
.appFont(size: 21.3, weight: .bold)
.foregroundColor(Color.button)
Spacer()
@@ -82,7 +82,7 @@ struct ContentMainView: View {
Image("ic_alarm_clock_blue")
Text("보이스 모닝콜")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "0057ff"))
}
.cornerRadius(2.6)
@@ -104,7 +104,7 @@ struct ContentMainView: View {
Image("ic_short_play")
Text("숏플")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "dd158d"))
}
.cornerRadius(2.6)
@@ -161,7 +161,7 @@ struct ContentMainView: View {
.frame(width: 20, height: 20)
Text("콘텐츠 업로드")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(.white)
}
.padding(13.3)

View File

@@ -15,7 +15,7 @@ struct ContentMainCurationItemView: View {
VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 0) {
Text(item.title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()

View File

@@ -15,7 +15,7 @@ struct ContentMainNewContentView: View {
LazyVStack(spacing: 16.7) {
HStack(spacing: 0) {
Text("새로운 콘텐츠")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()

View File

@@ -17,7 +17,7 @@ struct ContentMainMyStashView: View {
VStack(alignment: .leading, spacing: 13.3) {
HStack(spacing: 0) {
Text("내 보관함")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()

View File

@@ -29,29 +29,29 @@ struct ContentMainCreatorRankingView: View {
let titleArray = response.title.components(separatedBy: coloredTitle)
HStack(spacing: 0) {
Text(titleArray[0])
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
Text(coloredTitle)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: color))
if titleArray.count > 1 {
Text(titleArray[1])
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
}
}
} else {
Text(response.title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
}
if let desc = response.desc {
VStack(spacing: 8) {
Text("\(desc)")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
Text("※ 인기 크리에이터의 순위는 매주 업데이트됩니다.")

View File

@@ -22,7 +22,7 @@ struct ContentMainRankingView: View {
LazyVStack(spacing: 16.7) {
HStack(spacing: 0) {
Text("인기 콘텐츠")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
@@ -35,7 +35,7 @@ struct ContentMainRankingView: View {
VStack(spacing: 8) {
Text("\(viewModel.dateString)")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("※ 인기 콘텐츠의 순위는 매주 업데이트됩니다.")
@@ -72,7 +72,7 @@ struct ContentMainRankingView: View {
.cornerRadius(2.7)
Text("\(index + 1)")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "3bb9f1"))
.padding(.horizontal, 12)

View File

@@ -16,7 +16,7 @@ struct ContentMainRecommendSeriesView: View {
if !viewModel.seriesList.isEmpty {
VStack(alignment: .leading, spacing: 13.3) {
Text("추천 시리즈")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
ScrollView(.horizontal, showsIndicators: false) {

View File

@@ -35,7 +35,7 @@ struct ContentMainTabRankContentView: View {
VStack(spacing: 13.3) {
HStack(spacing: 0) {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
@@ -76,7 +76,7 @@ struct ContentMainTabRankContentView: View {
.cornerRadius(2.7)
Text("\(index + 1)")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(.button)
.padding(.horizontal, 12)

View File

@@ -32,7 +32,7 @@ struct ContentMainTagCurationView: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text("태그별 추천 콘텐츠")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
.padding(.horizontal, 13.3)

View File

@@ -27,7 +27,7 @@ struct ContentByChannelView: View {
var body: some View {
VStack(alignment: .leading, spacing: 20) {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
.padding(.horizontal, 13.3)

View File

@@ -27,7 +27,7 @@ struct ContentMainCurationItemViewV2: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text(curation.title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
.padding(.horizontal, 13.3)

View File

@@ -21,7 +21,7 @@ struct ContentMainNewContentViewV2: View {
LazyVStack(spacing: 13.3) {
HStack(spacing: 0) {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
Spacer()

View File

@@ -53,7 +53,7 @@ struct ContentMainViewV2: View {
VStack(spacing: 0) {
HStack(spacing: 0) {
Text("콘텐츠 마켓")
.font(.custom(Font.bold.rawValue, size: 21.3))
.appFont(size: 21.3, weight: .bold)
.foregroundColor(Color.button)
Spacer()

View File

@@ -20,7 +20,7 @@ struct ContentMainTabHomeView: View {
VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 0) {
Text("보이스온")
.font(.custom(Font.bold.rawValue, size: 21.3))
.appFont(size: 21.3, weight: .bold)
.foregroundColor(Color.white)
.padding(.leading, 8)
@@ -278,7 +278,7 @@ struct ContentMainTabHomeView: View {
.frame(width: 20, height: 20)
Text("콘텐츠 업로드")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(.white)
}
.padding(13.3)

View File

@@ -27,7 +27,7 @@ struct ContentMainTabHomeRankCreatorView: View {
if let desc = response.desc, !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
VStack(spacing: 8) {
Text("\(desc)")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
Text("※ 인기 순위는 매주 업데이트됩니다.")
@@ -43,23 +43,23 @@ struct ContentMainTabHomeRankCreatorView: View {
let titleArray = response.title.components(separatedBy: coloredTitle)
HStack(spacing: 0) {
Text(titleArray[0])
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
Text(coloredTitle)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: color))
if titleArray.count > 1 {
Text(titleArray[1])
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
}
}
.padding(.top, token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty ? 0 : 30)
} else {
Text(response.title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.top, 30)
}

View File

@@ -14,7 +14,7 @@ struct ContentMainTabHomeRankSeriesView: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text("인기 시리즈")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
ScrollView(.horizontal, showsIndicators: false) {

View File

@@ -16,7 +16,7 @@ struct ContentMainCompletedSeriesView: View {
VStack(spacing: 13.3) {
HStack(spacing: 0) {
Text("완결 시리즈")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
Spacer()

View File

@@ -16,7 +16,7 @@ struct ContentMainNewOrRecommendSeriesView: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.horizontal, 13.3)

View File

@@ -18,7 +18,7 @@ struct ContentMainSeriesByGenreView: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text("장르별 추천 시리즈")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.horizontal, 13.3)

View File

@@ -28,7 +28,7 @@ struct ContentMainSeriesCurationItemView: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text(curation.title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
.padding(.horizontal, 13.3)

View File

@@ -21,7 +21,7 @@ struct ContentMainSeriesRankingView: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text("일간 랭킹")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
.padding(.horizontal, 13.3)
@@ -43,7 +43,7 @@ struct ContentMainSeriesRankingView: View {
.cornerRadius(2.7)
Text("\(index + 1)")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(.button)
.padding(.horizontal, 12)

View File

@@ -16,7 +16,7 @@ struct ContentMainOriginalAudioDramaView: View {
VStack(spacing: 13.3) {
HStack(spacing: 0) {
Text("오리지널 오디오 드라마")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.grayee)
Spacer()

View File

@@ -19,7 +19,7 @@ struct SeriesByChannelView: View {
var body: some View {
VStack(alignment: .leading, spacing: 13.3) {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.horizontal, 13.3)

View File

@@ -26,7 +26,7 @@ struct ContentModifyView: View {
ScrollView(.vertical, showsIndicators: false) {
VStack(spacing: 0) {
Text("썸네일")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)
@@ -83,7 +83,7 @@ struct ContentModifyView: View {
VStack(spacing: 0) {
Text("제목")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)
@@ -101,7 +101,7 @@ struct ContentModifyView: View {
HStack(spacing: 0) {
Text("내용")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
@@ -126,7 +126,7 @@ struct ContentModifyView: View {
.padding(.top, 13.3)
Text("태그")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
.padding(.top, 26.7)
@@ -153,7 +153,7 @@ struct ContentModifyView: View {
VStack(spacing: 13.3) {
Text("포인트 사용")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -177,7 +177,7 @@ struct ContentModifyView: View {
if viewModel.isAdultShowUi {
VStack(spacing: 13.3) {
Text("연령 제한")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)
@@ -207,7 +207,7 @@ struct ContentModifyView: View {
VStack(spacing: 13.3) {
Text("댓글 가능 여부")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)
@@ -231,7 +231,7 @@ struct ContentModifyView: View {
VStack(spacing: 0) {
HStack(alignment: .top, spacing: 0) {
Text("수정")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.white)
.frame(height: 50)
.frame(maxWidth: .infinity)

View File

@@ -26,7 +26,7 @@ struct ContentPlaylistItemView: View {
VStack(alignment: .leading, spacing: 7) {
Text(item.title)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayd2)
.lineLimit(1)

View File

@@ -18,7 +18,7 @@ struct ContentPlaylistListView: View {
BaseView(isLoading: $viewModel.isLoading) {
VStack(spacing: 13.3) {
Text("+ 새 재생목록 만들기")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.white)
.padding(.vertical, 13.3)
.frame(maxWidth: .infinity)
@@ -32,7 +32,7 @@ struct ContentPlaylistListView: View {
if viewModel.playlists.isEmpty {
VStack(spacing: 13.3) {
Text("재생목록이 비어있습니다.")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
Text("자주 듣는 콘텐츠를\n재생목록으로 만들어 보세요.")

View File

@@ -27,7 +27,7 @@ struct ContentPlaylistCreateView: View {
.frame(width: 20, height: 20)
Text("새 재생목록 만들기")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
}
@@ -51,7 +51,7 @@ struct ContentPlaylistCreateView: View {
HStack(spacing: 0) {
Text("재생목록 제목")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -71,7 +71,7 @@ struct ContentPlaylistCreateView: View {
TextField("", text: $viewModel.title)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
.keyboardType(.webSearch)
.frame(maxWidth: .infinity)
@@ -84,7 +84,7 @@ struct ContentPlaylistCreateView: View {
HStack(spacing: 0) {
Text("재생목록 설명을 입력해 주세요")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -104,7 +104,7 @@ struct ContentPlaylistCreateView: View {
TextField("", text: $viewModel.desc)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
.keyboardType(.webSearch)
.frame(maxWidth: .infinity)
@@ -119,7 +119,7 @@ struct ContentPlaylistCreateView: View {
Image("btn_plus_round")
Text("새로운 콘텐츠 추가/제거")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.button)
}
.padding(.top, 26.7)

View File

@@ -18,7 +18,7 @@ struct PlaylistAddContentView: View {
VStack(alignment: .leading, spacing: 13.3) {
ZStack {
Text("새로운 콘텐츠 추가/제거")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
HStack(spacing: 0) {

View File

@@ -112,7 +112,7 @@ struct ContentPlaylistDetailView: View {
VStack(alignment: .leading, spacing: 6.7) {
Text(response.title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayd2)
.lineLimit(2)
.truncationMode(.tail)
@@ -142,7 +142,7 @@ struct ContentPlaylistDetailView: View {
Image("ic_playlist_play")
Text("Play")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.white)
}
.frame(maxWidth: .infinity)
@@ -160,7 +160,7 @@ struct ContentPlaylistDetailView: View {
Image("ic_playlist_shuffle")
Text("Shuffle")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.white)
}
.frame(maxWidth: .infinity)

View File

@@ -28,7 +28,7 @@ struct ContentPlaylistModifyView: View {
.frame(width: 20, height: 20)
Text("재생목록 수정")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
}
@@ -52,7 +52,7 @@ struct ContentPlaylistModifyView: View {
HStack(spacing: 0) {
Text("재생목록 제목")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -72,7 +72,7 @@ struct ContentPlaylistModifyView: View {
TextField("", text: $viewModel.title)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
.keyboardType(.webSearch)
.frame(maxWidth: .infinity)
@@ -85,7 +85,7 @@ struct ContentPlaylistModifyView: View {
HStack(spacing: 0) {
Text("재생목록 설명을 입력해 주세요")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -105,7 +105,7 @@ struct ContentPlaylistModifyView: View {
TextField("", text: $viewModel.desc)
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
.keyboardType(.webSearch)
.frame(maxWidth: .infinity)
@@ -120,7 +120,7 @@ struct ContentPlaylistModifyView: View {
Image("btn_plus_round")
Text("새로운 콘텐츠 추가/제거")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.button)
}
.padding(.top, 26.7)

View File

@@ -46,7 +46,7 @@ struct DayOfWeekSeriesView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("요일별 시리즈")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()

View File

@@ -18,7 +18,7 @@ struct SeriesDetailHomeView: View {
VStack(spacing: 0) {
HStack(spacing: 0) {
Text("전체회차 듣기")
.font(.custom(Font.bold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.button)
Text(" (\(contentCount))")

View File

@@ -16,7 +16,7 @@ struct SeriesDetailIntroductionView: View {
var body: some View {
VStack(alignment: .leading, spacing: 16) {
Text(I18n.SeriesDetail.keywords)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.top, 16)
.padding(.horizontal, 13.3)
@@ -32,7 +32,7 @@ struct SeriesDetailIntroductionView: View {
VStack(alignment: .leading, spacing: 13.3) {
Text(I18n.SeriesDetail.workIntro)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
Text(seriesDetail.displayIntroduction)
@@ -48,7 +48,7 @@ struct SeriesDetailIntroductionView: View {
VStack(alignment: .leading, spacing: 16) {
Text(I18n.SeriesDetail.details)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
HStack(spacing: 30) {
@@ -117,7 +117,7 @@ struct SeriesDetailIntroductionView: View {
VStack(alignment: .leading, spacing: 13.3) {
Text(I18n.SeriesDetail.price)
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color.grayee)
HStack(spacing: 30) {

View File

@@ -77,7 +77,7 @@ struct SeriesDetailView: View {
VStack(alignment: .leading, spacing: 0) {
Text(seriesDetail.displayTitle)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.horizontal, 13.3)
.padding(.top, 24)

View File

@@ -24,7 +24,7 @@ struct SeriesMainHomeView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("완결 시리즈")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -59,7 +59,7 @@ struct SeriesMainHomeView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("추천 시리즈")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()

View File

@@ -21,7 +21,7 @@ struct ApplyAuditionCompleteDialog: View {
VStack(spacing: 0) {
Text("오디션 지원")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.top, 26.7)
@@ -31,7 +31,7 @@ struct ApplyAuditionCompleteDialog: View {
.padding(.top, 15)
Text(auditionTitle)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.graybb)
.padding(.top, 20)
@@ -41,7 +41,7 @@ struct ApplyAuditionCompleteDialog: View {
.padding(.top, 10)
Text("확인")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.white)
.padding(.vertical, 16)
.frame(maxWidth: .infinity)

View File

@@ -23,7 +23,7 @@ struct CommunityPostPurchaseDialog: View {
VStack(spacing: 0) {
Text("게시글 보기")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.graybb)
.padding(.top, 40)
@@ -36,7 +36,7 @@ struct CommunityPostPurchaseDialog: View {
HStack(spacing: 13.3) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color.button)
.padding(.vertical, 16)
.frame(width: (geo.size.width - 66.7) / 3)
@@ -51,7 +51,7 @@ struct CommunityPostPurchaseDialog: View {
}
Text("\(can)캔으로 보기")
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color.white)
.padding(.vertical, 16)
.frame(width: (geo.size.width - 66.7) * 2 / 3)

View File

@@ -29,7 +29,7 @@ struct CreatorFollowNotifyDialog: View {
if isShow {
VStack(alignment: .leading, spacing: 24) {
Text("알림")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
CreatorFollowNotifyItem(

View File

@@ -23,7 +23,7 @@ struct LivePaymentDialog: View {
var body: some View {
VStack {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.graybb)
Text(desc)
@@ -71,7 +71,7 @@ struct LivePaymentDialog: View {
HStack(spacing: 13.3) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.button)
.padding(.vertical, 16)
.frame(maxWidth: .infinity)
@@ -84,7 +84,7 @@ struct LivePaymentDialog: View {
.onTapGesture { cancelButtonAction() }
Text("결제 후 입장")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.padding(.vertical, 16)
.frame(maxWidth: .infinity)
.background(Color.button)

View File

@@ -26,7 +26,7 @@ struct LiveRoomPasswordDialog: View {
VStack(spacing: 0) {
Text("비밀번호 입력")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "bbbbbb"))
.padding(.top, 40)
@@ -49,7 +49,7 @@ struct LiveRoomPasswordDialog: View {
HStack(spacing: 13.3) {
Text("취소")
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color(hex: "3bb9f1"))
.padding(.vertical, 16)
.frame(width: (geo.size.width - 66.7) / 3)
@@ -66,7 +66,7 @@ struct LiveRoomPasswordDialog: View {
if can > 0 {
HStack(spacing: 0) {
Text("\(can)")
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color(hex: "ffffff"))
Image("ic_can")
@@ -74,7 +74,7 @@ struct LiveRoomPasswordDialog: View {
.frame(width: 20, height: 20)
Text("으로 입장")
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color(hex: "ffffff"))
}
.padding(.vertical, 16)
@@ -91,7 +91,7 @@ struct LiveRoomPasswordDialog: View {
}
} else {
Text("입장하기")
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color(hex: "ffffff"))
.padding(.vertical, 16)
.frame(width: (geo.size.width - 66.7) * 2 / 3)

View File

@@ -26,7 +26,7 @@ struct MemberProfileDialog: View {
VStack(alignment: .leading, spacing: 21) {
HStack(spacing: 0) {
Text("프로필")
.font(.custom(Font.bold.rawValue, size: 15))
.appFont(size: 15, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -39,7 +39,7 @@ struct MemberProfileDialog: View {
if let profile = viewModel.memberProfile {
Text(profile.nickname)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
KFImage(URL(string: profile.profileImageUrl))
@@ -57,7 +57,7 @@ struct MemberProfileDialog: View {
HStack(spacing: 8) {
Text(profile.isBlocked ? "차단 해제" : "차단")
.font(.custom(Font.bold.rawValue, size: 15))
.appFont(size: 15, weight: .bold)
.foregroundColor(Color.button)
.frame(maxWidth: .infinity)
.padding(.vertical, 13)
@@ -77,7 +77,7 @@ struct MemberProfileDialog: View {
}
Text("사용자 신고")
.font(.custom(Font.bold.rawValue, size: 15))
.appFont(size: 15, weight: .bold)
.foregroundColor(Color.button)
.frame(maxWidth: .infinity)
.padding(.vertical, 13)
@@ -91,7 +91,7 @@ struct MemberProfileDialog: View {
.onTapGesture { viewModel.isShowUesrReportView = true }
Text("프로필 신고")
.font(.custom(Font.bold.rawValue, size: 15))
.appFont(size: 15, weight: .bold)
.foregroundColor(Color.button)
.frame(maxWidth: .infinity)
.padding(.vertical, 13)

View File

@@ -44,7 +44,7 @@ struct SodaDialog: View {
VStack(spacing: 0) {
Text(title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.graybb)
.padding(.top, 40)
@@ -59,7 +59,7 @@ struct SodaDialog: View {
HStack(spacing: 13.3) {
if cancelButtonTitle.count > 0 {
Text(cancelButtonTitle)
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color.button)
.padding(.vertical, 16)
.frame(width: (geo.size.width - 66.7) / 3)
@@ -75,7 +75,7 @@ struct SodaDialog: View {
}
Text(confirmButtonTitle)
.font(.custom(Font.bold.rawValue, size: 15.3))
.appFont(size: 15.3, weight: .bold)
.foregroundColor(Color.white)
.padding(.vertical, 16)
.frame(width: (geo.size.width - 66.7) * 2 / 3)

View File

@@ -26,29 +26,29 @@ struct ExplorerSectionView: View {
let titleArray = section.title.components(separatedBy: coloredTitle)
HStack(spacing: 0) {
Text(titleArray[0])
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text(coloredTitle)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: color))
if titleArray.count > 1 {
Text(titleArray[1])
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
}
}
} else {
Text(section.title)
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
}
if let desc = section.desc {
VStack(spacing: 8) {
Text("\(desc)")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("※ 인기 크리에이터의 순위는 매주 업데이트됩니다.")

View File

@@ -17,7 +17,7 @@ struct CreatorCommunityAllItemLockView: View {
Image("ic_lock_bb")
Text("\(price)캔으로 게시글 보기")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color.button)
.padding(.horizontal, 21)
.padding(.vertical, 11)

View File

@@ -23,7 +23,7 @@ struct CreatorCommunityItemView: View {
VStack(alignment: .leading, spacing: 0) {
Text(item.creatorNickname)
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(Color.white)
Text(item.relativeTimeText())

View File

@@ -16,7 +16,7 @@ struct CreatorCommunityNoPostsItemView: View {
CreatorCommunityWriteItemView()
Text("게시물 등록")
.font(.custom(Font.bold.rawValue, size: 14.7))
.appFont(size: 14.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("게시 후에 게시물이 여기에 표시되고\n커뮤니티에 공개됩니다.")

View File

@@ -30,7 +30,7 @@ struct CreatorCommunityModifyView: View {
VStack(spacing: 0) {
VStack(spacing: 13.3) {
Text("이미지")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)
@@ -103,7 +103,7 @@ struct CreatorCommunityModifyView: View {
HStack(spacing: 0) {
Text("내용")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
@@ -129,7 +129,7 @@ struct CreatorCommunityModifyView: View {
VStack(spacing: 13.3) {
Text("댓글 가능 여부")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)
@@ -157,7 +157,7 @@ struct CreatorCommunityModifyView: View {
VStack(spacing: 13.3) {
Text("연령 제한")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.frame(maxWidth: .infinity, alignment: .leading)
@@ -188,7 +188,7 @@ struct CreatorCommunityModifyView: View {
VStack(spacing: 0) {
HStack(spacing: 13.3) {
Text("닫기")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color(hex: "3BB9F1"))
.frame(maxWidth: .infinity)
.frame(height: 50)
@@ -204,7 +204,7 @@ struct CreatorCommunityModifyView: View {
}
Text("수정")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.white)
.frame(maxWidth: .infinity)
.frame(height: 50)

View File

@@ -32,7 +32,7 @@ struct CreatorCommunityRecordingVoiceView: View {
VStack(spacing: 0) {
HStack(spacing: 0) {
Text("음성녹음")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -47,7 +47,7 @@ struct CreatorCommunityRecordingVoiceView: View {
}
Text(soundManager.timeString)
.font(.custom(Font.bold.rawValue, size: 33.3))
.appFont(size: 33.3, weight: .bold)
.foregroundColor(.white)
.padding(.top, 80)
@@ -115,7 +115,7 @@ struct CreatorCommunityRecordingVoiceView: View {
HStack(spacing: 13.3) {
Text("다시 녹음")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.button)
.frame(width: (proxy.size.width - 40) / 3, height: 50)
.background(Color.button.opacity(0.2))
@@ -131,7 +131,7 @@ struct CreatorCommunityRecordingVoiceView: View {
}
Text("녹음완료")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(.white)
.frame(width: (proxy.size.width - 40) * 2 / 3, height: 50)
.background(Color.button)

View File

@@ -32,7 +32,7 @@ struct CreatorCommunityWriteView: View {
VStack(spacing: 0) {
VStack(spacing: 13.3) {
Text("이미지")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -100,7 +100,7 @@ struct CreatorCommunityWriteView: View {
VStack(spacing: 13.3) {
HStack(spacing: 0) {
Text("오디오 녹음")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -130,7 +130,7 @@ struct CreatorCommunityWriteView: View {
HStack(spacing: 0) {
Text("내용")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
Spacer()
@@ -156,7 +156,7 @@ struct CreatorCommunityWriteView: View {
VStack(spacing: 13.3) {
Text("댓글 가능 여부")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -185,7 +185,7 @@ struct CreatorCommunityWriteView: View {
if UserDefaults.bool(forKey: .auth) {
VStack(spacing: 13.3) {
Text("연령 제한")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -215,7 +215,7 @@ struct CreatorCommunityWriteView: View {
if let _ = viewModel.postImageData {
VStack(spacing: 13.3) {
Text("가격 설정")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.frame(maxWidth: .infinity, alignment: .leading)
@@ -245,7 +245,7 @@ struct CreatorCommunityWriteView: View {
.autocapitalization(.none)
.disableAutocorrection(true)
.multilineTextAlignment(.center)
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.button)
.accentColor(Color.button)
.keyboardType(.numberPad)
@@ -274,7 +274,7 @@ struct CreatorCommunityWriteView: View {
VStack(spacing: 0) {
HStack(spacing: 13.3) {
Text("닫기")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.button)
.frame(maxWidth: .infinity)
.frame(height: 50)
@@ -290,7 +290,7 @@ struct CreatorCommunityWriteView: View {
}
Text("등록")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.white)
.frame(maxWidth: .infinity)
.frame(height: 50)

View File

@@ -43,7 +43,7 @@ struct UserProfileFanTalkCheersItemView: View {
VStack(alignment: .leading, spacing: 0) {
Text("\(cheersItem.nickname)")
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.white)
Text("\(cheersItem.date)")
@@ -70,7 +70,7 @@ struct UserProfileFanTalkCheersItemView: View {
)
Text("수정")
.font(.custom(Font.preBold.rawValue, size: 14))
.appFont(size: 14, weight: .bold)
.foregroundColor(Color.white)
.padding(13.3)
.background(Color.button)
@@ -81,7 +81,7 @@ struct UserProfileFanTalkCheersItemView: View {
}
Text("취소")
.font(.custom(Font.preBold.rawValue, size: 14))
.appFont(size: 14, weight: .bold)
.foregroundColor(Color.button)
.padding(13.3)
.background(Color.gray22)
@@ -119,7 +119,7 @@ struct UserProfileFanTalkCheersItemView: View {
)
Text("등록")
.font(.custom(Font.preBold.rawValue, size: 14))
.appFont(size: 14, weight: .bold)
.foregroundColor(Color.white)
.padding(13.3)
.background(Color.button)

View File

@@ -26,7 +26,7 @@ struct UserProfileFanTalkView: View {
VStack(alignment: .leading, spacing: 0) {
HStack(spacing: 0) {
Text("팬 Talk")
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(Color.white)
Spacer()

View File

@@ -26,7 +26,7 @@ struct FollowerListView: View {
HStack(spacing: 4) {
Text("전체")
.font(.custom(Font.bold.rawValue, size: 18.3))
.appFont(size: 18.3, weight: .bold)
.foregroundColor(Color.grayee)
Text("\(viewModel.totalCount)")

View File

@@ -16,7 +16,7 @@ struct UserProfileSeriesView: View {
VStack(alignment: .leading, spacing: 13.3) {
HStack(spacing: 0) {
Text("시리즈")
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(Color.white)
Spacer()

View File

@@ -59,7 +59,7 @@ struct UserProfileActivitySummaryView: View {
.multilineTextAlignment(.center)
Text(count)
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color.grayee)
}
Spacer()

View File

@@ -25,7 +25,7 @@ struct UserProfileContentView: View {
VStack(spacing: 21) {
HStack(spacing: 0) {
Text(userId == UserDefaults.int(forKey: .userId) ? "내 콘텐츠" : "콘텐츠")
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(Color.white)
Spacer()
@@ -40,7 +40,7 @@ struct UserProfileContentView: View {
if userId == UserDefaults.int(forKey: .userId) {
Text("새로운 콘텐츠 등록하기")
.font(.custom(Font.bold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.vertical, 17)
.frame(maxWidth: .infinity)
@@ -74,7 +74,7 @@ struct UserProfileContentView: View {
// ( % , , )
HStack {
Text(ownedContentCount > 0 ? "\(Int(round(Double(ownedContentCount) / Double(totalContentCount) * 100)))% 보유중" : "소장 중인 작품이 없어요!")
.font(.custom(Font.preBold.rawValue, size: 18))
.appFont(size: 18, weight: .bold)
.foregroundColor(.white)
Spacer()

View File

@@ -24,7 +24,7 @@ struct UserProfileDonationAllView: View {
Spacer()
Text("채널에 후원랭킹 활성화")
.font(.custom(Font.bold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Image(viewModel.isVisibleDonationRank ? "btn_toggle_on_big" : "btn_toggle_off_big")
@@ -50,13 +50,13 @@ struct UserProfileDonationAllView: View {
VStack(spacing: 13.3) {
HStack(spacing: 0) {
Text("오늘")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
Text("\(viewModel.accumulatedCansToday.comma())")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("")
@@ -66,13 +66,13 @@ struct UserProfileDonationAllView: View {
HStack(spacing: 0) {
Text("지난주")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
Text("\(viewModel.accumulatedCansLastWeek.comma())")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("")
@@ -82,13 +82,13 @@ struct UserProfileDonationAllView: View {
HStack(spacing: 0) {
Text("이번 달 어제까지")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Spacer()
Text("\(viewModel.accumulatedCansThisMonth.comma())")
.font(.custom(Font.bold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text("")
@@ -218,7 +218,7 @@ struct UserProfileDonationAllItemView: View {
.frame(width: 63, height: 63)
Text("\(index + 1)")
.font(.custom(Font.bold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
.padding(.leading, 20)
.padding(.trailing, 13.3)

View File

@@ -24,7 +24,7 @@ struct UserProfileDonationView: View {
VStack(alignment: .leading, spacing: 14) {
HStack(spacing: 0) {
Text("후원랭킹")
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(Color.white)
Spacer()

View File

@@ -14,7 +14,7 @@ struct UserProfileIntroduceView: View {
var body: some View {
VStack(alignment: .leading, spacing: 16.7) {
Text("채널 소개")
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color(hex: "eeeeee"))
Text(introduce)

View File

@@ -76,7 +76,7 @@ struct UserProfileLiveView: View {
VStack(alignment: .trailing, spacing: 8) {
if item.isActive && !item.channelName.isNullOrBlank() {
Text("ON\nAIR")
.font(.custom(Font.preBold.rawValue, size: 14))
.appFont(size: 14, weight: .bold)
.foregroundColor(Color.white)
.frame(width: 52, height: 52)
.background(Color(hex: "ff5c49"))
@@ -84,7 +84,7 @@ struct UserProfileLiveView: View {
} else {
VStack(spacing: 0) {
Text("\(dateDic["month"] ?? "")")
.font(.custom(Font.preBold.rawValue, size: 14))
.appFont(size: 14, weight: .bold)
.foregroundColor(.white)
.padding(.vertical, 6)
.frame(maxWidth: .infinity)
@@ -92,7 +92,7 @@ struct UserProfileLiveView: View {
.cornerRadius(16, corners: [.topLeft, .topRight])
Text("\(dateDic["day"] ?? "")")
.font(.custom(Font.preBold.rawValue, size: 14))
.appFont(size: 14, weight: .bold)
.foregroundColor(Color(hex: "263238"))
.padding(.vertical, 6)
.frame(maxWidth: .infinity)
@@ -103,7 +103,7 @@ struct UserProfileLiveView: View {
if item.isReservation {
Text("예약완료")
.font(.custom(Font.preBold.rawValue, size: 12))
.appFont(size: 12, weight: .bold)
.foregroundColor(Color.white)
.padding(4)
.frame(maxWidth: .infinity)

View File

@@ -43,7 +43,7 @@ struct UserProfileView: View {
VStack(alignment: .leading, spacing: 8) {
HStack(spacing: 8) {
Text(creatorProfile.creator.nickname)
.font(.custom(Font.preBold.rawValue, size: 32))
.appFont(size: 32, weight: .bold)
.foregroundColor(.white)
if creatorProfile.creator.creatorId != UserDefaults.int(forKey: .userId) {
@@ -65,7 +65,7 @@ struct UserProfileView: View {
if creatorProfile.creator.creatorId == UserDefaults.int(forKey: .userId) {
Text(I18n.MemberChannel.followersList)
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.black)
.padding(.vertical, 8)
.frame(maxWidth: .infinity)
@@ -189,7 +189,7 @@ struct UserProfileView: View {
VStack(alignment: .leading, spacing: 14) {
HStack(spacing: 0) {
Text(I18n.MemberChannel.liveHeader)
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(Color.white)
Spacer()
@@ -198,7 +198,7 @@ struct UserProfileView: View {
if creatorProfile.creator.creatorId == UserDefaults.int(forKey: .userId) {
HStack(spacing: 8) {
Text(I18n.MemberChannel.rouletteSettings)
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.vertical, 12)
.frame(maxWidth: .infinity)
@@ -207,7 +207,7 @@ struct UserProfileView: View {
.onTapGesture { isShowRouletteSettings = true }
Text(I18n.MemberChannel.menuSettings)
.font(.custom(Font.preBold.rawValue, size: 16))
.appFont(size: 16, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.vertical, 12)
.frame(maxWidth: .infinity)
@@ -259,7 +259,7 @@ struct UserProfileView: View {
VStack(alignment: .leading, spacing: 14) {
HStack(spacing: 0) {
Text(I18n.MemberChannel.communityHeader)
.font(.custom(Font.preBold.rawValue, size: 26))
.appFont(size: 26, weight: .bold)
.foregroundColor(Color.white)
.padding(.horizontal, 24)

View File

@@ -30,7 +30,7 @@ struct FollowCreatorItemView: View {
.clipShape(Circle())
Text(creator.nickname)
.font(.custom(Font.bold.rawValue, size: 16.7))
.appFont(size: 16.7, weight: .bold)
.foregroundColor(Color.grayee)
.padding(.leading, 13.3)

View File

@@ -24,7 +24,7 @@ struct HomeLatestContentView: View {
var body: some View {
HStack(spacing: 0) {
Text("최신 콘텐츠")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()

View File

@@ -86,7 +86,7 @@ struct HomeTabView: View {
if !viewModel.liveList.isEmpty {
VStack(alignment: .leading, spacing: 16) {
Text("지금 라이브중")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
.padding(.horizontal, 24)
@@ -121,7 +121,7 @@ struct HomeTabView: View {
if !viewModel.creatorRanking.isEmpty {
VStack(alignment: .leading, spacing: 16) {
Text("인기 크리에이터")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
.padding(.horizontal, 24)
@@ -189,7 +189,7 @@ struct HomeTabView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("오직 보이스온에서만")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -258,7 +258,7 @@ struct HomeTabView: View {
if !viewModel.recommendChannelList.isEmpty {
VStack(alignment: .leading, spacing: 16) {
Text("추천 채널")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
.padding(.horizontal, 24)
@@ -277,7 +277,7 @@ struct HomeTabView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("무료 콘텐츠")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -307,7 +307,7 @@ struct HomeTabView: View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("포인트 대여 콘텐츠")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -337,7 +337,7 @@ struct HomeTabView: View {
VStack(alignment: .leading, spacing: 16) {
HStack {
Text("추천 콘텐츠")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()
@@ -403,7 +403,7 @@ struct HomeTabView: View {
.frame(width: 20, height: 20)
Text("콘텐츠 업로드")
.font(.custom(Font.preBold.rawValue, size: 13.3))
.appFont(size: 13.3, weight: .bold)
.foregroundColor(.white)
}
.padding(13.3)

View File

@@ -17,7 +17,7 @@ struct HomeWeeklyChartItemView: View {
var body: some View {
HStack(spacing: 16) {
Text("\(rank)")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(Color(hex: "B5E7FA"))
.frame(width: 30)

View File

@@ -32,7 +32,7 @@ struct HomeWeeklyChartView: View {
VStack(spacing: 16) {
HStack(spacing: 0) {
Text("보온 주간 차트")
.font(.custom(Font.preBold.rawValue, size: 24))
.appFont(size: 24, weight: .bold)
.foregroundColor(.white)
Spacer()

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