Add upload, preview sheet

This commit is contained in:
Christoph Hagen
2025-02-15 01:02:25 +01:00
parent 0753d91f29
commit 2cad27b504
14 changed files with 358 additions and 115 deletions

View File

@@ -10,6 +10,9 @@ final class WebServer: NSObject, ObservableObject, WKNavigationDelegate {
@Published
var isRunning = false
@Published
var isStarting = false
@Published
var port: Int
@@ -19,6 +22,10 @@ final class WebServer: NSObject, ObservableObject, WKNavigationDelegate {
@Published
var currentUrl: String = ""
var isNotReady: Bool {
isStarting || !isRunning
}
init(port: Int) {
self.port = port
super.init()
@@ -40,6 +47,9 @@ final class WebServer: NSObject, ObservableObject, WKNavigationDelegate {
print("WebServer: Already running")
return
}
guard !isStarting else { return }
self.isStarting = true
Task {
var vaporArgs = CommandLine.arguments
let allowedCommands = ["serve", "routes"]
@@ -52,11 +62,10 @@ final class WebServer: NSObject, ObservableObject, WKNavigationDelegate {
app.middleware.use(TryFilesMiddleware(publicDirectory: directory))
app.http.server.configuration.port = 8000
DispatchQueue.main.async {
self.isRunning = true
}
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(3)) {
self.loadHomeUrl()
self.isStarting = false
self.isRunning = true
}
print("WebServer: Starting")
try await app.execute()