Add upload, preview sheet
This commit is contained in:
@@ -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()
|
||||
|
Reference in New Issue
Block a user