nes/examples/NesApp/NesApp/ContentView.swift

45 lines
1.1 KiB
Swift

//
// ContentView.swift
// NesApp
//
// Created by Selim Mustafaev on 04.10.2025.
//
import SwiftUI
import NesKit
import UniformTypeIdentifiers
struct ContentView: View {
@State var system = NesSystem()
@State var showFileImporter = false
var body: some View {
NesView(system: system)
.fileImporter(
isPresented: $showFileImporter,
allowedContentTypes: [.init(filenameExtension: "nes") ?? .data],
allowsMultipleSelection: false) { result in
switch result {
case .success(let urls):
if let url = urls.first {
system.runRom(url)
}
case .failure(let error):
print("error: \(error)")
}
}
.toolbar {
Button {
showFileImporter = true
} label: {
Image(systemName: "document.badge.plus")
}
}
}
}
#Preview {
ContentView()
}