vOOice/VoiceInk/Views/LicenseView.swift
2025-02-22 11:52:41 +05:45

55 lines
1.8 KiB
Swift

import SwiftUI
struct LicenseView: View {
@StateObject private var licenseViewModel = LicenseViewModel()
var body: some View {
VStack(spacing: 15) {
Text("License Management")
.font(.headline)
if case .licensed = licenseViewModel.licenseState {
VStack(spacing: 10) {
Text("Premium Features Activated")
.foregroundColor(.green)
Button(role: .destructive, action: {
licenseViewModel.removeLicense()
}) {
Text("Remove License")
}
}
} else {
TextField("Enter License Key", text: $licenseViewModel.licenseKey)
.textFieldStyle(RoundedBorderTextFieldStyle())
.frame(maxWidth: 300)
Button(action: {
Task {
await licenseViewModel.validateLicense()
}
}) {
if licenseViewModel.isValidating {
ProgressView()
} else {
Text("Activate License")
}
}
.disabled(licenseViewModel.isValidating)
}
if let message = licenseViewModel.validationMessage {
Text(message)
.foregroundColor(licenseViewModel.licenseState == .licensed ? .green : .red)
.font(.caption)
}
}
.padding()
}
}
struct LicenseView_Previews: PreviewProvider {
static var previews: some View {
LicenseView()
}
}