콘텐츠 등록 화면 텍스트와 버튼을 I18n 기반 번역 문자열로 교체 룰렛 설정과 미션 메뉴 버튼 라벨을 다국어 문자열로 통일 신규 텍스트를 String Catalog에 추가하여 네비게이션 타이틀 번역
97 lines
3.1 KiB
Swift
97 lines
3.1 KiB
Swift
//
|
|
// LiveRoomMenuSelectView.swift
|
|
// SodaLive
|
|
//
|
|
// Created by klaus on 3/8/24.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct LiveRoomMenuSelectView: View {
|
|
|
|
@Binding var menu: String
|
|
@Binding var isActivate: Bool
|
|
|
|
let menuCount: Int
|
|
let selectedMenu: SelectedMenu?
|
|
let selectMenu: (SelectedMenu) -> Void
|
|
|
|
var body: some View {
|
|
VStack(alignment: .leading, spacing: 0) {
|
|
Text("메뉴")
|
|
.font(.custom(Font.bold.rawValue, size: 16.7))
|
|
.foregroundColor(Color(hex: "eeeeee"))
|
|
|
|
HStack(spacing: 0) {
|
|
Text("메뉴를 활성화 하시겠습니까?")
|
|
.font(.custom(Font.medium.rawValue, size: 13.3))
|
|
.foregroundColor(Color(hex: "eeeeee"))
|
|
|
|
Spacer()
|
|
|
|
Image(isActivate ? "btn_toggle_on_big" : "btn_toggle_off_big")
|
|
.resizable()
|
|
.frame(width: 33.3, height: 20)
|
|
.onTapGesture {
|
|
isActivate.toggle()
|
|
selectMenu(.MENU_1)
|
|
}
|
|
}
|
|
.padding(.top, 8)
|
|
|
|
if isActivate {
|
|
VStack(spacing: 13.3) {
|
|
HStack(spacing: 13.3) {
|
|
SelectedButtonView(
|
|
title: I18n.MissionMenu.menu1,
|
|
isActive: true,
|
|
isSelected: selectedMenu == .MENU_1
|
|
)
|
|
.onTapGesture {
|
|
selectMenu(.MENU_1)
|
|
}
|
|
|
|
SelectedButtonView(
|
|
title: I18n.MissionMenu.menu2,
|
|
isActive: menuCount > 0,
|
|
isSelected: selectedMenu == .MENU_2
|
|
)
|
|
.onTapGesture {
|
|
selectMenu(.MENU_2)
|
|
}
|
|
|
|
SelectedButtonView(
|
|
title: I18n.MissionMenu.menu3,
|
|
isActive: menuCount > 1,
|
|
isSelected: selectedMenu == .MENU_3
|
|
)
|
|
.onTapGesture {
|
|
selectMenu(.MENU_3)
|
|
}
|
|
}
|
|
|
|
TextViewWrapper(
|
|
text: $menu,
|
|
placeholder: "메뉴판을 작성해주세요.",
|
|
textColorHex: "eeeeee",
|
|
backgroundColorHex: "303030"
|
|
)
|
|
.frame(height: 200)
|
|
.cornerRadius(6.7)
|
|
}
|
|
.padding(.top, 13.3)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
LiveRoomMenuSelectView(
|
|
menu: .constant("메뉴 1 입니다\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n테스트"),
|
|
isActivate: .constant(true),
|
|
menuCount: 2,
|
|
selectedMenu: .MENU_1,
|
|
selectMenu: { _ in }
|
|
)
|
|
}
|