45 lines
1.1 KiB
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()
|
|
}
|