From 52ea64db40a36b7a9030900a3012ca832a0326b0 Mon Sep 17 00:00:00 2001 From: Nico Verbruggen Date: Tue, 19 Mar 2024 14:20:34 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=8C=20Use=20base=20translation=20for?= =?UTF-8?q?=20no=20domain=20results?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PHP Monitor.xcodeproj/project.pbxproj | 14 ++++---- .../SwiftUI/Common/CustomButtonStyles.swift | 3 +- .../Common/UnavailableContentView.swift | 10 +++--- .../SwiftUI/Domains/NoDomainResultsView.swift | 35 ------------------- phpmon/en.lproj/Localizable.strings | 5 +-- 5 files changed, 17 insertions(+), 50 deletions(-) delete mode 100644 phpmon/Domain/SwiftUI/Domains/NoDomainResultsView.swift diff --git a/PHP Monitor.xcodeproj/project.pbxproj b/PHP Monitor.xcodeproj/project.pbxproj index 1741ef7..2fe78f0 100644 --- a/PHP Monitor.xcodeproj/project.pbxproj +++ b/PHP Monitor.xcodeproj/project.pbxproj @@ -53,7 +53,6 @@ C40175B92903108900763A68 /* ValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40175B72903108900763A68 /* ValetInteractor.swift */; }; C40175BA2903108900763A68 /* ValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40175B72903108900763A68 /* ValetInteractor.swift */; }; C40175BB2903108900763A68 /* ValetInteractor.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40175B72903108900763A68 /* ValetInteractor.swift */; }; - C40508AF28ADA23D008FAC1F /* NoDomainResultsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40508AE28ADA23D008FAC1F /* NoDomainResultsView.swift */; }; C40508B128ADAB44008FAC1F /* NSMenuItemExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40508B028ADAB44008FAC1F /* NSMenuItemExtension.swift */; }; C405A4D024B9B9140062FAFA /* InternetAccessPolicy.strings in Resources */ = {isa = PBXBuildFile; fileRef = C405A4CE24B9B9130062FAFA /* InternetAccessPolicy.strings */; }; C405A4D124B9B9140062FAFA /* InternetAccessPolicy.plist in Resources */ = {isa = PBXBuildFile; fileRef = C405A4CF24B9B9140062FAFA /* InternetAccessPolicy.plist */; }; @@ -177,6 +176,9 @@ C43A8A2025D9D1D700591B77 /* brew-formula.json in Resources */ = {isa = PBXBuildFile; fileRef = C43A8A1F25D9D1D700591B77 /* brew-formula.json */; }; C43A8A2425D9D20D00591B77 /* HomebrewPackageTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43A8A2325D9D20D00591B77 /* HomebrewPackageTest.swift */; }; C43B8FD52BA9BAD3000C02BE /* UnavailableContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43B8FD42BA9BAD3000C02BE /* UnavailableContentView.swift */; }; + C43B8FD62BA9C689000C02BE /* UnavailableContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43B8FD42BA9BAD3000C02BE /* UnavailableContentView.swift */; }; + C43B8FD72BA9C689000C02BE /* UnavailableContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43B8FD42BA9BAD3000C02BE /* UnavailableContentView.swift */; }; + C43B8FD82BA9C689000C02BE /* UnavailableContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43B8FD42BA9BAD3000C02BE /* UnavailableContentView.swift */; }; C43BCD4429FBEF40001547BC /* ModifyPhpVersionCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43BCD4329FBEF40001547BC /* ModifyPhpVersionCommand.swift */; }; C43BCD4529FBEF40001547BC /* ModifyPhpVersionCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43BCD4329FBEF40001547BC /* ModifyPhpVersionCommand.swift */; }; C43BCD4629FBEF40001547BC /* ModifyPhpVersionCommand.swift in Sources */ = {isa = PBXBuildFile; fileRef = C43BCD4329FBEF40001547BC /* ModifyPhpVersionCommand.swift */; }; @@ -485,7 +487,6 @@ C471E88128F9BB650021E251 /* NoWarningsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41C708C28AA7F7900E8D498 /* NoWarningsView.swift */; }; C471E88228F9BB650021E251 /* OnboardingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4E9D2BF2878B336008FFDAD /* OnboardingView.swift */; }; C471E88328F9BB650021E251 /* VersionPopoverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44264BF2850BD2A007400F1 /* VersionPopoverView.swift */; }; - C471E88428F9BB650021E251 /* NoDomainResultsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40508AE28ADA23D008FAC1F /* NoDomainResultsView.swift */; }; C471E88528F9BB650021E251 /* ServicesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B6091C2853AB9700C95265 /* ServicesView.swift */; }; C471E88628F9BB650021E251 /* StatsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4709CA128524B3400088BB8 /* StatsView.swift */; }; C471E88728F9BB650021E251 /* SectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B609192853AAD300C95265 /* SectionHeaderView.swift */; }; @@ -573,7 +574,6 @@ C471E8E428F9BB8F0021E251 /* NoWarningsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41C708C28AA7F7900E8D498 /* NoWarningsView.swift */; }; C471E8E528F9BB8F0021E251 /* OnboardingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4E9D2BF2878B336008FFDAD /* OnboardingView.swift */; }; C471E8E628F9BB8F0021E251 /* VersionPopoverView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C44264BF2850BD2A007400F1 /* VersionPopoverView.swift */; }; - C471E8E728F9BB8F0021E251 /* NoDomainResultsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C40508AE28ADA23D008FAC1F /* NoDomainResultsView.swift */; }; C471E8E828F9BB8F0021E251 /* ServicesView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B6091C2853AB9700C95265 /* ServicesView.swift */; }; C471E8E928F9BB8F0021E251 /* StatsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4709CA128524B3400088BB8 /* StatsView.swift */; }; C471E8EA28F9BB8F0021E251 /* SectionHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4B609192853AAD300C95265 /* SectionHeaderView.swift */; }; @@ -929,7 +929,6 @@ 54FCFD2C276C8D67004CE748 /* HotkeyPreferenceView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = HotkeyPreferenceView.xib; sourceTree = ""; }; 54FCFD2F276C8DA4004CE748 /* HotkeyPreferenceView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HotkeyPreferenceView.swift; sourceTree = ""; }; C40175B72903108900763A68 /* ValetInteractor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ValetInteractor.swift; sourceTree = ""; }; - C40508AE28ADA23D008FAC1F /* NoDomainResultsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoDomainResultsView.swift; sourceTree = ""; }; C40508B028ADAB44008FAC1F /* NSMenuItemExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NSMenuItemExtension.swift; sourceTree = ""; }; C405A4CE24B9B9130062FAFA /* InternetAccessPolicy.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = InternetAccessPolicy.strings; sourceTree = ""; }; C405A4CF24B9B9140062FAFA /* InternetAccessPolicy.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = InternetAccessPolicy.plist; sourceTree = ""; }; @@ -1991,7 +1990,6 @@ isa = PBXGroup; children = ( C44264BF2850BD2A007400F1 /* VersionPopoverView.swift */, - C40508AE28ADA23D008FAC1F /* NoDomainResultsView.swift */, ); path = Domains; sourceTree = ""; @@ -2694,7 +2692,6 @@ 54D9E0BA27E4F51E003B9AD9 /* ModifierFlagsExtension.swift in Sources */, C4C3ED412783497000AB15D8 /* MainMenu+Startup.swift in Sources */, C42106662AFA9FF400DF3732 /* PhpVersionManagerView+Actions.swift in Sources */, - C40508AF28ADA23D008FAC1F /* NoDomainResultsView.swift in Sources */, C4B79ECB29CA475900A483EE /* RemovePhpVersionCommand.swift in Sources */, C40D725F2A018AE30054A067 /* BrewFormula+UI.swift in Sources */, C4D89BC62783C99400A02B68 /* ComposerJson.swift in Sources */, @@ -2829,7 +2826,6 @@ C471E88128F9BB650021E251 /* NoWarningsView.swift in Sources */, C471E88228F9BB650021E251 /* OnboardingView.swift in Sources */, C471E88328F9BB650021E251 /* VersionPopoverView.swift in Sources */, - C471E88428F9BB650021E251 /* NoDomainResultsView.swift in Sources */, C4513F952B13E30C001AD760 /* BrewExtensionsObservable.swift in Sources */, C471E88528F9BB650021E251 /* ServicesView.swift in Sources */, C471E88628F9BB650021E251 /* StatsView.swift in Sources */, @@ -2846,6 +2842,7 @@ C471E88F28F9BB650021E251 /* ModifierFlagsExtension.swift in Sources */, C456A0CD2AA6166F0080144F /* BytePhpPreference.swift in Sources */, C471E7E928F9BAC20021E251 /* Paths.swift in Sources */, + C43B8FD72BA9C689000C02BE /* UnavailableContentView.swift in Sources */, C45B91552956123A00F4EC78 /* FakeServicesManager.swift in Sources */, C471E7FE28F9BACE0021E251 /* HomebrewDecodable.swift in Sources */, C4415E8F2B0287E90035F520 /* BrewFormulaeObservable.swift in Sources */, @@ -2978,6 +2975,7 @@ C471E8B828F9BB8F0021E251 /* StatusMenu+Items.swift in Sources */, C471E8B928F9BB8F0021E251 /* DomainListCellProtocol.swift in Sources */, C471E8BA28F9BB8F0021E251 /* DomainListTLSCell.swift in Sources */, + C43B8FD82BA9C689000C02BE /* UnavailableContentView.swift in Sources */, C471E8BB28F9BB8F0021E251 /* DomainListNameCell.swift in Sources */, C471E8BC28F9BB8F0021E251 /* DomainListPhpCell.swift in Sources */, C471E8BD28F9BB8F0021E251 /* DomainListTypeCell.swift in Sources */, @@ -3037,7 +3035,6 @@ C4B79EBF29CA38DB00A483EE /* BrewCommand.swift in Sources */, C45D654F29F52F74004C28F9 /* BrewPermissionFixer.swift in Sources */, C471E8E628F9BB8F0021E251 /* VersionPopoverView.swift in Sources */, - C471E8E728F9BB8F0021E251 /* NoDomainResultsView.swift in Sources */, C471E8E828F9BB8F0021E251 /* ServicesView.swift in Sources */, C4E2E85F28FC282B003B070C /* TestableConfiguration.swift in Sources */, C471E8E928F9BB8F0021E251 /* StatsView.swift in Sources */, @@ -3266,6 +3263,7 @@ C489E0BC2A220A4200323F5E /* FakeBrewFormulaeHandler.swift in Sources */, C4CE3BBB27B324230086CA49 /* MainMenu+Switcher.swift in Sources */, C4B79ECC29CA475900A483EE /* RemovePhpVersionCommand.swift in Sources */, + C43B8FD62BA9C689000C02BE /* UnavailableContentView.swift in Sources */, C4FD87AA29AB9ABD0002D701 /* PhpConfigChecker.swift in Sources */, C485707D28BF45A200539B36 /* WarningView.swift in Sources */, C4F7809C25D80344000DBC97 /* CommandTest.swift in Sources */, diff --git a/phpmon/Domain/SwiftUI/Common/CustomButtonStyles.swift b/phpmon/Domain/SwiftUI/Common/CustomButtonStyles.swift index 0180284..319b140 100644 --- a/phpmon/Domain/SwiftUI/Common/CustomButtonStyles.swift +++ b/phpmon/Domain/SwiftUI/Common/CustomButtonStyles.swift @@ -13,7 +13,8 @@ public struct CustomButtonStyle: ButtonStyle { public func makeBody(configuration: Self.Configuration) -> some View { configuration.label - .padding(8) + .padding(.vertical, 4) + .padding(.horizontal, 8) .foregroundStyle(.white) .background(.statusColorBlue, in: .rect(cornerRadius: 8, style: .continuous)) .opacity({ diff --git a/phpmon/Domain/SwiftUI/Common/UnavailableContentView.swift b/phpmon/Domain/SwiftUI/Common/UnavailableContentView.swift index f7810a5..de7cd2d 100644 --- a/phpmon/Domain/SwiftUI/Common/UnavailableContentView.swift +++ b/phpmon/Domain/SwiftUI/Common/UnavailableContentView.swift @@ -47,7 +47,7 @@ struct UnavailableContentView: View { if self.button != nil { Button(self.button!) { self.action!() - } + }.buttonStyle(.custom) } } } @@ -58,8 +58,10 @@ struct UnavailableContentView: View { #Preview { UnavailableContentView( - title: "No domains available.", - description: "No domains match this search query. You can always link a new domain from within PHP Monitor.", - icon: "globe" + title: "domain_list.domains_empty.title".localized, + description: "domain_list.domains_empty.desc".localized, + icon: "globe", + button: "domain_list.domains_empty.button".localized, + action: {} ) } diff --git a/phpmon/Domain/SwiftUI/Domains/NoDomainResultsView.swift b/phpmon/Domain/SwiftUI/Domains/NoDomainResultsView.swift deleted file mode 100644 index b800923..0000000 --- a/phpmon/Domain/SwiftUI/Domains/NoDomainResultsView.swift +++ /dev/null @@ -1,35 +0,0 @@ -// -// NoDomainResults.swift -// PHP Monitor -// -// Created by Nico Verbruggen on 15/08/2022. -// Copyright © 2023 Nico Verbruggen. All rights reserved. -// - -import SwiftUI - -struct NoDomainResults: View { - @State var searching: Bool = false - - var body: some View { - VStack(alignment: .center, spacing: 15) { - Image(systemName: searching ? "magnifyingglass.circle.fill" : "questionmark.circle.fill") - .resizable() - .renderingMode(.template) - .frame(width: 24, height: 24) - VStack(alignment: .center) { - Text( - searching - ? "domain_list.no_domains_for_search_query".localizedForSwiftUI - : "domain_list.no_domains".localizedForSwiftUI - ) - } - } - .frame(minWidth: 0, maxWidth: .infinity) - .padding(25) - } -} - -#Preview { - NoDomainResults() -} diff --git a/phpmon/en.lproj/Localizable.strings b/phpmon/en.lproj/Localizable.strings index 4fb8e6e..ec9aab8 100644 --- a/phpmon/en.lproj/Localizable.strings +++ b/phpmon/en.lproj/Localizable.strings @@ -239,8 +239,9 @@ You may be asked for your password during the uninstallation process if file per "domain_list.title" = "Domains"; "domain_list.subtitle" = ""; -"domain_list.no_domains" = "You have not set up any domains or proxies yet."; -"domain_list.no_domains_for_search_query" = "There are no results for your search query."; +"domain_list.domains_empty.title" = "No domains available."; +"domain_list.domains_empty.desc" = "No domains were found for this search query or you haven't linked any domains yet."; +"domain_list.domains_empty.button" = "Add domain..."; "domain_list.tooltips.isolated" = "This domain is isolated and using PHP %@ instead of the globally linked PHP."; "domain_list.tooltips.checkmark" = "This domain is being served with a version of PHP that is compatible with this requirement (PHP %@). Click on the PHP version next to this checkmark to find out more information about how this requirement was determined.";