캐릭터 탭 - 섹션 사이 간격 48
채팅 캐릭터 이미지 비율 2:3으로 변경 채팅 배경 사진 -> 채팅 배경 이미지로 단어 변경
This commit is contained in:
@@ -13,7 +13,7 @@ struct CharacterSectionView: View {
|
||||
var onTap: (Character) -> Void = { _ in }
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 12) {
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
Text(title)
|
||||
.font(.custom(Font.preBold.rawValue, size: 20))
|
||||
.foregroundColor(.white)
|
||||
|
||||
@@ -15,7 +15,7 @@ struct CharacterView: View {
|
||||
var body: some View {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
ScrollView(.vertical, showsIndicators: false) {
|
||||
VStack(alignment: .leading, spacing: 24) {
|
||||
VStack(alignment: .leading, spacing: 48) {
|
||||
// 배너
|
||||
if !viewModel.banners.isEmpty {
|
||||
AutoSlideCharacterBannerView(items: viewModel.banners) { banner in
|
||||
@@ -45,7 +45,7 @@ struct CharacterView: View {
|
||||
|
||||
// 큐레이션 섹션 (여러 섹션)
|
||||
if !viewModel.curations.isEmpty {
|
||||
VStack(alignment: .leading, spacing: 24) {
|
||||
VStack(alignment: .leading, spacing: 48) {
|
||||
ForEach(viewModel.curations.indices, id: \.self) { idx in
|
||||
let section = viewModel.curations[idx]
|
||||
CharacterSectionView(
|
||||
@@ -58,7 +58,7 @@ struct CharacterView: View {
|
||||
}
|
||||
}
|
||||
}
|
||||
.padding(.vertical, 24)
|
||||
.padding(.bottom, 24)
|
||||
}
|
||||
.background(Color.black.ignoresSafeArea())
|
||||
.onAppear {
|
||||
|
||||
@@ -13,14 +13,16 @@ struct RecentCharacterSectionView: View {
|
||||
var onTap: (RecentCharacter) -> Void = { _ in }
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 12) {
|
||||
VStack(alignment: .leading, spacing: 16) {
|
||||
HStack(spacing: 0) {
|
||||
Text("최근 대화한 캐릭터 ")
|
||||
.font(.custom(Font.preBold.rawValue, size: 20))
|
||||
.foregroundColor(.white)
|
||||
|
||||
Text("\(titleCount)")
|
||||
.font(.custom(Font.preBold.rawValue, size: 20))
|
||||
.foregroundColor(Color(hex: "FDCA2F"))
|
||||
|
||||
Spacer()
|
||||
}
|
||||
.padding(.horizontal, 24)
|
||||
|
||||
@@ -334,7 +334,7 @@ struct ChatRoomBgView: View {
|
||||
var body: some View {
|
||||
GeometryReader { geo in
|
||||
let width = geo.size.width
|
||||
let height = width * 5 / 4
|
||||
let height = width * 3 / 2
|
||||
|
||||
ZStack {
|
||||
if let url = url {
|
||||
@@ -353,7 +353,7 @@ struct ChatRoomBgView: View {
|
||||
.frame(width: width, height: height)
|
||||
.clipped()
|
||||
}
|
||||
.aspectRatio(4/5, contentMode: .fit)
|
||||
.aspectRatio(2/3, contentMode: .fit)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ struct ChatBgSelectionView: View {
|
||||
var body: some View {
|
||||
BaseView(isLoading: $viewModel.isLoading) {
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: "배경 사진 선택") {
|
||||
DetailNavigationBar(title: "배경 이미지 선택") {
|
||||
isShowing = false
|
||||
}
|
||||
// 갤러리 그리드
|
||||
@@ -73,7 +73,7 @@ struct ChatBgSelectionView: View {
|
||||
private func galleryImageView(item: CharacterImageListItemResponse) -> some View {
|
||||
GeometryReader { geo in
|
||||
let width = geo.size.width
|
||||
let height = width * 5 / 4
|
||||
let height = width * 3 / 2
|
||||
|
||||
ZStack(alignment: .bottomTrailing) {
|
||||
// 이미지
|
||||
@@ -110,7 +110,7 @@ struct ChatBgSelectionView: View {
|
||||
.contentShape(Rectangle())
|
||||
.onTapGesture { onTapBgImage(item) }
|
||||
}
|
||||
.aspectRatio(4/5, contentMode: .fit)
|
||||
.aspectRatio(2/3, contentMode: .fit)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ struct ChatSettingsView: View {
|
||||
VStack(spacing: 0) {
|
||||
VStack(spacing: 0) {
|
||||
Toggle(isOn: $isHideBg) {
|
||||
Text("배경 이미지 숨김")
|
||||
Text("배경 이미지 끄기")
|
||||
.font(.custom(Font.preBold.rawValue, size: 18))
|
||||
.foregroundColor(Color(hex: "B0BEC5"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user