diff --git a/phpmon/Domain/SwiftUI/Startup/StartupAlertButtonRow.swift b/phpmon/Domain/SwiftUI/Startup/StartupAlertButtonRow.swift index 66d433fa..c4456255 100644 --- a/phpmon/Domain/SwiftUI/Startup/StartupAlertButtonRow.swift +++ b/phpmon/Domain/SwiftUI/Startup/StartupAlertButtonRow.swift @@ -50,7 +50,7 @@ struct StartupAlertButtonRow: View { HStack(spacing: 10) { ProgressView() .controlSize(.small) - Text("Applying. Please wait...") + Text("startup.fix.applying".localized) .font(.subheadline) .foregroundStyle(.secondary) } @@ -59,7 +59,7 @@ struct StartupAlertButtonRow: View { HStack(spacing: 6) { Image(systemName: "checkmark.circle.fill") .foregroundStyle(.green) - Text("Fix applied successfully! Continuing...") + Text("startup.fix.applied".localized) .font(.subheadline) .foregroundStyle(.secondary) } @@ -68,7 +68,7 @@ struct StartupAlertButtonRow: View { HStack(spacing: 6) { Image(systemName: "xmark.circle.fill") .foregroundStyle(.red) - Text("Fix did not resolve the issue.") + Text("startup.fix.not_resolved".localized) .font(.subheadline) .foregroundStyle(.secondary) } diff --git a/phpmon/Domain/SwiftUI/Startup/StartupAlertViewModel.swift b/phpmon/Domain/SwiftUI/Startup/StartupAlertViewModel.swift index a7ddc8c3..e3f54309 100644 --- a/phpmon/Domain/SwiftUI/Startup/StartupAlertViewModel.swift +++ b/phpmon/Domain/SwiftUI/Startup/StartupAlertViewModel.swift @@ -92,19 +92,28 @@ class StartupAlertViewModel: ObservableObject { // MARK: - Fix Outcomes + /** Appends a line of text to the output lines. */ + private func appendOutput(_ text: String, _ stream: ShellStream) { + let line = OutputLine(text: text, stream: stream) + outputLines.append(line) + } + + /** Marks the current fix as completed, with success. */ @MainActor private func pass() { self.state = .completed - self.outputLines.append(OutputLine(text: "---\nFix applied successfully! Continuing...", stream: .stdOut)) + self.appendOutput("---\n\("startup.fix.applied".localized)", .stdOut) } + /** Marks the current fix as completed, with failure. */ @MainActor private func fail() { self.state = .failed - self.outputLines.append(OutputLine(text: "---\nFix did not resolve the issue.", stream: .stdErr)) + self.appendOutput("---\n\("startup.fix.not_resolved".localized)", .stdErr) } + /** An error occurred. */ @MainActor private func errorAndIdle(_ error: Error) { self.state = .failed - self.outputLines.append(OutputLine(text: "---\nError: \(error.localizedDescription)", stream: .stdErr)) + self.appendOutput("---\nError: \(error.localizedDescription)", .stdErr) } // MARK: - Alert Outcomes diff --git a/phpmon/Domain/SwiftUI/Startup/StartupAlertWindowController.swift b/phpmon/Domain/SwiftUI/Startup/StartupAlertWindowController.swift index 06de02c6..c7bb08fe 100644 --- a/phpmon/Domain/SwiftUI/Startup/StartupAlertWindowController.swift +++ b/phpmon/Domain/SwiftUI/Startup/StartupAlertWindowController.swift @@ -25,7 +25,7 @@ class StartupAlertWindowController: PMWindowController { let window = NSWindow() window.title = "" - window.styleMask = [.titled, .closable] + window.styleMask = [.titled, .miniaturizable] window.titlebarAppearsTransparent = true window.delegate = windowController window.contentView = NSHostingView(rootView: StartupAlertView(viewModel: viewModel)) diff --git a/phpmon/en.lproj/Localizable.strings b/phpmon/en.lproj/Localizable.strings index 572df407..9ef84053 100644 --- a/phpmon/en.lproj/Localizable.strings +++ b/phpmon/en.lproj/Localizable.strings @@ -969,6 +969,9 @@ PHP Monitor will tell Valet to unsecure and re-secure all expired domains for yo "startup.alert.fix_manually" = "I Fixed It"; "startup.alert.fix_automatically" = "Fix Automatically"; "startup.alert.retry" = "Retry"; +"startup.fix.applying" = "Applying. Please wait..."; +"startup.fix.applied" = "Fix applied successfully! Continuing..."; +"startup.fix.not_resolved" = "Fix did not resolve the issue."; // COMMAND HISTORY