캔 충전

- 탭 순서 변경 ( pg, 인 앱 결제 순으로 )
This commit is contained in:
Yu Sung
2024-04-02 02:01:26 +09:00
parent 07b97b987b
commit 2f96ad1321
11 changed files with 109 additions and 109 deletions

View File

@@ -17,7 +17,7 @@ struct CanChargeView: View {
@StateObject var storeManager = StoreManager()
@StateObject var viewModel = CanChargeViewModel()
@State var currentTab: CanChargeCurrentTab = .iap
@State var currentTab: CanChargeCurrentTab = .pg
let refresh: () -> Void
let afterCompletionToGoBack: Bool
@@ -146,22 +146,6 @@ struct CanChargeTabView: View {
HStack(spacing: 0) {
let tabWidth = screenSize().width / 2
CanChargeTab(
title: "인 앱 결제",
action: {
if currentTab != .iap {
currentTab = .iap
}
},
color: {
currentTab == .iap ?
Color(hex: "eeeeee") :
Color(hex: "777777")
},
width: tabWidth,
isShowDivider: { currentTab == .iap }
)
CanChargeTab(
title: "PG",
action: {
@@ -171,17 +155,33 @@ struct CanChargeTabView: View {
},
color: {
currentTab == .pg ?
Color(hex: "eeeeee") :
Color(hex: "777777")
Color.grayee :
Color.gray77
},
width: tabWidth,
isShowDivider: { currentTab == .pg }
)
CanChargeTab(
title: "인 앱 결제",
action: {
if currentTab != .iap {
currentTab = .iap
}
},
color: {
currentTab == .iap ?
Color.grayee :
Color.gray77
},
width: tabWidth,
isShowDivider: { currentTab == .iap }
)
}
Rectangle()
.frame(width: screenSize().width, height: 1)
.foregroundColor(Color(hex: "909090").opacity(0.5))
.foregroundColor(Color.gray90.opacity(0.5))
}
}
}
@@ -207,7 +207,7 @@ struct CanChargeTab: View {
Rectangle()
.frame(width: width, height: 3)
.foregroundColor(Color(hex: "9970ff").opacity(isShowDivider() ? 1 : 0))
.foregroundColor(Color.button.opacity(isShowDivider() ? 1 : 0))
}
.frame(height: 50)
}

View File

@@ -95,7 +95,7 @@ struct NicknameUpdateView: View {
.padding(.horizontal, 6.7)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.background(Color(hex: "9970ff"))
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
.fixedSize(horizontal: false, vertical: true)

View File

@@ -21,7 +21,7 @@ struct ModifyPasswordView: View {
ScrollView(.vertical, showsIndicators: false) {
Text("안전한 비밀번호로 내 내 정보를 보호하세요")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.padding(.top, 40)
VStack(spacing: 26.7) {
@@ -51,7 +51,7 @@ struct ModifyPasswordView: View {
Text("* 영문, 숫자 포함 8자 이상")
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color(hex: "dd4500"))
.foregroundColor(Color.mainRed3)
.frame(width: screenSize().width - 53.4, alignment: .leading)
.padding(.top, 13.7)
}
@@ -62,11 +62,11 @@ struct ModifyPasswordView: View {
.foregroundColor(.white)
.padding(.vertical, 16)
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(10)
.padding(.vertical, 13.7)
.frame(width: screenSize().width)
.background(Color(hex: "222222"))
.background(Color.gray22)
.cornerRadius(16.7, corners: [.topLeft, .topRight])
.onTapGesture {
hideKeyboard()
@@ -75,7 +75,7 @@ struct ModifyPasswordView: View {
if proxy.safeAreaInsets.bottom > 0 {
Rectangle()
.foregroundColor(Color(hex: "222222"))
.foregroundColor(Color.gray22)
.frame(width: proxy.size.width, height: 15.3)
}
}
@@ -95,7 +95,7 @@ struct ModifyPasswordView: View {
.padding(.horizontal, 6.7)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.background(Color(hex: "9970ff"))
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
.fixedSize(horizontal: false, vertical: true)

View File

@@ -23,18 +23,18 @@ struct ProfileUpdateView: View {
VStack(alignment: .leading, spacing: 0) {
Text("이메일")
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.padding(.leading, 6.7)
Text(viewModel.email)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "777777"))
.foregroundColor(Color.gray77)
.padding(.top, 12)
.padding(.leading, 6.7)
Divider()
.frame(height: 0.3)
.foregroundColor(Color(hex: "909090"))
.foregroundColor(Color.gray90)
.padding(.top, 8.3)
}
@@ -42,18 +42,18 @@ struct ProfileUpdateView: View {
VStack(alignment: .leading, spacing: 0) {
Text("비밀번호")
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.padding(.leading, 6.7)
Text("********")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "777777"))
.foregroundColor(Color.gray77)
.padding(.top, 12)
.padding(.leading, 6.7)
Divider()
.frame(height: 0.3)
.foregroundColor(Color(hex: "909090"))
.foregroundColor(Color.gray90)
.padding(.top, 8.3)
}
@@ -63,7 +63,7 @@ struct ProfileUpdateView: View {
.foregroundColor(Color.white)
.padding(.vertical, 13.3)
.padding(.horizontal, 22.7)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(8)
}
}
@@ -71,7 +71,7 @@ struct ProfileUpdateView: View {
.padding(.vertical, 20)
.padding(.horizontal, 13.3)
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "222222"))
.background(Color.gray22)
.cornerRadius(6.7)
}
@@ -82,18 +82,18 @@ struct ProfileUpdateView: View {
VStack(alignment: .leading, spacing: 0) {
Text("닉네임")
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.padding(.leading, 6.7)
Text(viewModel.nickname)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.padding(.top, 12)
.padding(.leading, 6.7)
Divider()
.frame(height: 0.3)
.foregroundColor(Color(hex: "909090"))
.foregroundColor(Color.gray90)
.padding(.top, 8.3)
}
@@ -103,7 +103,7 @@ struct ProfileUpdateView: View {
.foregroundColor(Color.white)
.padding(.vertical, 13.3)
.padding(.horizontal, 22.7)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(8)
}
}
@@ -111,7 +111,7 @@ struct ProfileUpdateView: View {
VStack(alignment: .leading, spacing: 13.3) {
Text("성별")
.font(.custom(Font.bold.rawValue, size: 12))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.button)
.padding(.leading, 6.7)
HStack(spacing: 0) {
@@ -123,7 +123,7 @@ struct ProfileUpdateView: View {
Text("여자")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
}
}
@@ -137,7 +137,7 @@ struct ProfileUpdateView: View {
Text("남자")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
}
}
@@ -151,7 +151,7 @@ struct ProfileUpdateView: View {
Text("공개 안 함")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
}
}
@@ -163,7 +163,7 @@ struct ProfileUpdateView: View {
.padding(.vertical, 20)
.padding(.horizontal, 13.3)
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "222222"))
.background(Color.gray22)
.cornerRadius(6.7)
}
@@ -201,7 +201,7 @@ struct ProfileUpdateView: View {
.padding(.vertical, 20)
.padding(.horizontal, 13.3)
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "222222"))
.background(Color.gray22)
.cornerRadius(6.7)
}
@@ -210,7 +210,7 @@ struct ProfileUpdateView: View {
VStack(alignment: .leading, spacing: 13.3) {
Text("관심사")
.font(.custom(Font.bold.rawValue, size: 16.7))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
Button(action: {
hideKeyboard()
@@ -218,15 +218,15 @@ struct ProfileUpdateView: View {
}) {
Text("관심사 선택")
.font(.custom(Font.bold.rawValue, size: 16.7))
.foregroundColor(Color(hex: "9970ff"))
.foregroundColor(Color.button)
.padding(.vertical, 13.7)
.frame(width: screenSize().width - 53.4)
.background(Color(hex: "9970ff").opacity(0.2))
.background(Color.button.opacity(0.2))
.cornerRadius(24.3)
.overlay(
RoundedRectangle(cornerRadius: 24.3)
.stroke()
.foregroundColor(Color(hex: "9970ff"))
.foregroundColor(Color.button)
)
}
@@ -246,7 +246,7 @@ struct ProfileUpdateView: View {
}
}
.padding(10)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(24.3)
}
}
@@ -256,7 +256,7 @@ struct ProfileUpdateView: View {
.padding(.vertical, 20)
.padding(.horizontal, 13.3)
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "222222"))
.background(Color.gray22)
.cornerRadius(6.7)
}
@@ -265,7 +265,7 @@ struct ProfileUpdateView: View {
VStack(alignment: .leading, spacing: 13.3) {
Text("소개글")
.font(.custom(Font.bold.rawValue, size: 16.7))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
TextViewWrapper(
text: $viewModel.introduce,
@@ -307,7 +307,7 @@ struct ProfileUpdateView: View {
Image("ic_camera")
.padding(10)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(30)
.offset(x: 25, y: 25)
}
@@ -343,12 +343,12 @@ struct ProfileUpdateView: View {
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(Color.white)
.frame(width: screenSize().width - 26.7, height: 50)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(10)
.padding(.vertical, 13.7)
.padding(.horizontal, 13.3)
.frame(width: screenSize().width)
.background(Color(hex: "222222"))
.background(Color.gray22)
.cornerRadius(16.7, corners: [.topLeft, .topRight])
.padding(.top, 26.7)
.onTapGesture {
@@ -357,7 +357,7 @@ struct ProfileUpdateView: View {
if proxy.safeAreaInsets.bottom > 0 {
Rectangle()
.foregroundColor(Color(hex: "222222"))
.foregroundColor(Color.gray22)
.frame(width: proxy.size.width, height: 15.3)
}
}
@@ -373,12 +373,12 @@ struct ProfileUpdateView: View {
.font(.custom(Font.bold.rawValue, size: 18.3))
.foregroundColor(Color.white)
.frame(width: screenSize().width - 26.7, height: 50)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(10)
.padding(.vertical, 13.7)
.padding(.horizontal, 13.3)
.frame(width: screenSize().width)
.background(Color(hex: "222222"))
.background(Color.gray22)
.cornerRadius(16.7, corners: [.topLeft, .topRight])
.padding(.top, 13.3)
.onTapGesture {
@@ -387,7 +387,7 @@ struct ProfileUpdateView: View {
if proxy.safeAreaInsets.bottom > 0 {
Rectangle()
.foregroundColor(Color(hex: "222222"))
.foregroundColor(Color.gray22)
.frame(width: proxy.size.width, height: 15.3)
}
}
@@ -443,7 +443,7 @@ struct ProfileUpdateView: View {
.padding(.horizontal, 6.7)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.background(Color(hex: "9970ff"))
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
.fixedSize(horizontal: false, vertical: true)

View File

@@ -67,8 +67,8 @@ struct MemberTagView: View {
.font(.custom(Font.medium.rawValue, size: 14.7))
.foregroundColor(
selectedTags.contains(tag.tag) ?
Color(hex: "9970ff") :
Color(hex: "bbbbbb")
Color.button :
Color.graybb
)
}
.onTapGesture {
@@ -85,7 +85,7 @@ struct MemberTagView: View {
.foregroundColor(.white)
.padding(.vertical, 16)
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(10)
.padding(.bottom, 26.7)
.onTapGesture {

View File

@@ -40,15 +40,15 @@ struct LiveReservationCancelView: View {
HStack(spacing: 13.3) {
Text("다른 라이브 예약하기")
.font(.custom(Font.medium.rawValue, size: 15))
.foregroundColor(Color(hex: "9970ff"))
.foregroundColor(Color.button)
.padding(.vertical, 16)
.frame(width: (screenSize().width - 40) / 2)
.background(Color(hex: "9970ff").opacity(0.2))
.background(Color.button.opacity(0.2))
.cornerRadius(10)
.overlay(
RoundedRectangle(cornerRadius: 10)
.stroke(
Color(hex: "9970ff"),
Color.button,
lineWidth: 1
)
)
@@ -61,7 +61,7 @@ struct LiveReservationCancelView: View {
.foregroundColor(.white)
.padding(.vertical, 16)
.frame(width: (screenSize().width - 40) / 2)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(10)
.onTapGesture {
AppState.shared.setAppStep(step: .canStatus(refresh: {}))
@@ -84,7 +84,7 @@ struct LiveReservationCancelView: View {
Text(item.masterNickname)
.font(.custom(Font.medium.rawValue, size: 11.3))
.foregroundColor(Color(hex: "bbbbbb"))
.foregroundColor(Color.graybb)
.padding(.top, 10)
Text(item.title)
@@ -108,7 +108,7 @@ struct LiveReservationCancelView: View {
.padding(.top, 20)
Rectangle()
.foregroundColor(Color(hex: "909090").opacity(0.5))
.foregroundColor(Color.gray90.opacity(0.5))
.padding(.horizontal, 13.3)
.frame(width: screenSize().width, height: 1)
.padding(.top, 13.3)
@@ -121,7 +121,7 @@ struct LiveReservationCancelView: View {
Text("예약취소 이유를 선택해주세요. 서비스 개선에 중요한 자료로 활용하겠습니다.")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.frame(width: screenSize().width - 26.7, alignment: .leading)
}
.padding(.top, 40)
@@ -140,7 +140,7 @@ struct LiveReservationCancelView: View {
Text(reason)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
if index == viewModel.cancelReasons.count - 1 {
VStack(spacing: 6.7) {
@@ -148,12 +148,12 @@ struct LiveReservationCancelView: View {
.autocapitalization(.none)
.disableAutocorrection(true)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.keyboardType(.webSearch)
Rectangle()
.frame(height: 1)
.foregroundColor(Color(hex: "909090").opacity(0.5))
.foregroundColor(Color.gray90.opacity(0.5))
}
}
}
@@ -180,7 +180,7 @@ struct LiveReservationCancelView: View {
.foregroundColor(.white)
.padding(.vertical, 16)
.frame(width: screenSize().width - 26.7)
.background(Color(hex: "9970ff"))
.background(Color.button)
.cornerRadius(6.7)
.padding(.top, 90)
.padding(.bottom, 13.3)
@@ -202,7 +202,7 @@ struct LiveReservationCancelView: View {
.padding(.horizontal, 6.7)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.background(Color(hex: "9970ff"))
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
.fixedSize(horizontal: false, vertical: true)

View File

@@ -23,11 +23,11 @@ struct FaqView: View {
HStack(alignment: .top, spacing: 6.7) {
Text("Q")
.font(.custom(Font.bold.rawValue, size: 13.3))
.foregroundColor(Color(hex: "9970ff"))
.foregroundColor(Color.button)
Text(faq.question)
.font(.custom(Font.medium.rawValue, size: 14.7))
.foregroundColor(Color(hex: "eeeeee"))
.foregroundColor(Color.grayee)
.fixedSize(horizontal: false, vertical: true)
Spacer()
@@ -43,16 +43,16 @@ struct FaqView: View {
HStack(alignment: .top, spacing: 6.7) {
Text("A")
.font(.custom(Font.bold.rawValue, size: 13.3))
.foregroundColor(Color(hex: "9970ff"))
.foregroundColor(Color.button)
.padding(.top, 13.3)
RichText(html: faq.answer)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(Color(hex: "bbbbbb"))
.foregroundColor(Color.graybb)
}
.padding(.vertical, 20)
.padding(.horizontal, 6.7)
.background(Color(hex: "222222"))
.background(Color.gray22)
}
}
.padding(.horizontal, 13.3)

View File

@@ -18,7 +18,7 @@ struct ServiceCenterCategoryItemView: View {
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(.white)
.frame(width: proxy.size.width, height: 46.7)
.background(isSelected ? Color(hex: "9970ff") : Color(hex: "222222"))
.background(isSelected ? Color.button : Color.gray22)
.cornerRadius(4.7)
}
}

View File

@@ -76,7 +76,7 @@ struct ServiceCenterView: View {
.padding(.horizontal, 6.7)
.frame(width: geo.size.width - 66.7, alignment: .center)
.font(.custom(Font.medium.rawValue, size: 12))
.background(Color(hex: "9970ff"))
.background(Color.button)
.foregroundColor(Color.white)
.multilineTextAlignment(.leading)
.fixedSize(horizontal: false, vertical: true)