From e8103b0bad5b6eb4ecfe75512fd49ba09d21124d Mon Sep 17 00:00:00 2001 From: Dawn Date: Sat, 12 Jul 2025 09:43:50 +0800 Subject: [PATCH 1/2] Update RunJSView.swift --- StikJIT/JSSupport/RunJSView.swift | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/StikJIT/JSSupport/RunJSView.swift b/StikJIT/JSSupport/RunJSView.swift index 4b1d11fa..d088001f 100644 --- a/StikJIT/JSSupport/RunJSView.swift +++ b/StikJIT/JSSupport/RunJSView.swift @@ -16,6 +16,7 @@ class RunJSViewModel: ObservableObject { var pid: Int var debugProxy: OpaquePointer? var semaphore: dispatch_semaphore_t? + var status: Bool = false init(pid: Int, debugProxy: OpaquePointer?, semaphore: dispatch_semaphore_t?) { self.pid = pid @@ -77,12 +78,14 @@ class RunJSViewModel: ObservableObject { self.logs.append("Script Execution Completed") self.logs.append("You are safe to close the PIP Window.") + self.status = true } } } struct RunJSViewPiP: View { @Binding var model: RunJSViewModel? + @Binding var isProcessing: Bool @State var logs: [String] = [] let timer = Timer.publish(every: 0.034, on: .main, in: .common).autoconnect() @@ -98,6 +101,12 @@ struct RunJSViewPiP: View { .padding() .onReceive(timer) { _ in self.logs = model?.logs ?? [] + if let status = model?.status { + if status { + isProcessing = false + model = nil + } + } } .frame(width: 300, height: 150) } From a82b5e79193d5423796f623750e59b1f4e360890 Mon Sep 17 00:00:00 2001 From: Dawn Date: Sat, 12 Jul 2025 09:44:22 +0800 Subject: [PATCH 2/2] Update HomeView.swift --- StikJIT/Views/HomeView.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/StikJIT/Views/HomeView.swift b/StikJIT/Views/HomeView.swift index 89f78ffd..cae6128b 100644 --- a/StikJIT/Views/HomeView.swift +++ b/StikJIT/Views/HomeView.swift @@ -33,6 +33,7 @@ struct HomeView: View { @State private var showingConsoleLogsView = false @State private var importProgress: Float = 0.0 + @State private var pidTextAlertShow = false @State private var pidStr = "" @@ -304,7 +305,7 @@ struct HomeView: View { } } .pipify(isPresented: $isProcessing) { - RunJSViewPiP(model: $jsModel) + RunJSViewPiP(model: $jsModel,isProcessing: $isProcessing) } .sheet(isPresented: $scriptViewShow) { NavigationView {