Files
sodalive-ios/SodaLive/Sources/Live/Room/Menu/LiveRoomMenuSelectView.swift
Yu Sung 8efa89d564 콘텐츠 작성 및 라이브 메뉴 다국어화
콘텐츠 등록 화면 텍스트와 버튼을 I18n 기반 번역 문자열로 교체

룰렛 설정과 미션 메뉴 버튼 라벨을 다국어 문자열로 통일

신규 텍스트를 String Catalog에 추가하여 네비게이션 타이틀 번역
2025-12-17 18:47:46 +09:00

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