커스텀 폰트 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

@@ -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)