64 lines
1.6 KiB
Swift
64 lines
1.6 KiB
Swift
//
|
|
// SelectedButtonView.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 2/23/24.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct SelectedButtonView: View {
|
|
|
|
let title: String
|
|
let isActive: Bool
|
|
let isSelected: Bool
|
|
|
|
var checkImage = "ic_select_check"
|
|
var bgDisabledColor = Color.gray55
|
|
var bgSelectedColor = Color.button
|
|
var bgDefaultColor = Color.bg
|
|
var textDisabledColor = Color.gray77
|
|
var textSelectedColor = Color.white
|
|
var textDefaultColor = Color.button
|
|
|
|
var body: some View {
|
|
HStack(spacing: 6.7) {
|
|
if isSelected {
|
|
Image(checkImage)
|
|
}
|
|
|
|
Text(title)
|
|
.font(.custom(Font.bold.rawValue, size: 14.7))
|
|
.foregroundColor(!isActive ? textDisabledColor : isSelected ? textSelectedColor : textDefaultColor)
|
|
}
|
|
.padding(.vertical, isSelected ? 14.3 : 17)
|
|
.frame(maxWidth: .infinity)
|
|
.background(!isActive ? bgDisabledColor : isSelected ? bgSelectedColor : bgDefaultColor)
|
|
.cornerRadius(6.7)
|
|
}
|
|
}
|
|
|
|
#Preview("기본") {
|
|
SelectedButtonView(title: "테스트", isActive: true, isSelected: true)
|
|
}
|
|
|
|
#Preview("이미지와 컬러 수정 - selected") {
|
|
SelectedButtonView(
|
|
title: "테스트",
|
|
isActive: true,
|
|
isSelected: true,
|
|
bgSelectedColor: Color(hex: "ff14d9"),
|
|
textDefaultColor: Color(hex: "ff14d9")
|
|
)
|
|
}
|
|
|
|
#Preview("이미지와 컬러 수정 - unselected") {
|
|
SelectedButtonView(
|
|
title: "테스트",
|
|
isActive: true,
|
|
isSelected: false,
|
|
textDefaultColor: Color(hex: "ff14d9")
|
|
)
|
|
}
|
|
|