AcaMate_iOS/AcaMate/3. ViewModel/TopViewModel.swift
2025-02-13 16:05:37 +09:00

44 lines
1.4 KiB
Swift

//
// TopViewModel.swift
// AcaMate
//
// Created by TAnine on 2/13/25.
//
import SwiftUI
class TopViewModel: ObservableObject {
@Published var btnVM = ButtonViewModel()
@Published var titleName: String = ""
let leftBtnID = UUID()
let rightBtnID = UUID()
init() {
btnVM.btnStates[leftBtnID] = ButtonState()
btnVM.btnStates[rightBtnID] = ButtonState()
}
func setLeftBtn(_ image: Image? = nil, text: String? = nil, font: Font? = nil, size: CGPoint, action: @escaping VOID_TO_VOID) {
btnVM.setSize(for: leftBtnID, newWidth: size.x, newHeight: size.y)
if text != nil {
btnVM.setText(for: leftBtnID, newText: text, newFont: font)
} else if let image = image {
btnVM.setImage(for: leftBtnID, newImage: image)
}
btnVM.setAction(for: leftBtnID, newAction: action)
}
func setRightBtn(_ image: Image? = nil, text: String? = nil, font: Font? = nil, size: CGPoint, action: @escaping VOID_TO_VOID) {
btnVM.setSize(for: rightBtnID, newWidth: size.x, newHeight: size.y)
if text != nil {
btnVM.setText(for: rightBtnID, newText: text, newFont: font)
} else if let image = image {
btnVM.setImage(for: rightBtnID, newImage: image)
}
btnVM.setAction(for: rightBtnID, newAction: action)
}
}