diff --git a/CHANGELOG.md b/CHANGELOG.md index bf7c61a3a..3a6995896 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,10 @@ All notable changes to this project will be documented in this file. - Implement currencySymbol for StoreProduct - Added in Pull Request [#66](https://github.com/space-code/flare/pull/66). +## Fixed +- Fix the code formatting + - Fixed in Pull Request [#67](https://github.com/space-code/flare/pull/67) + ## [3.0.1](https://github.com/space-code/flare/releases/tag/3.0.1) Released on 2024-08-09. diff --git a/Sources/Flare/Classes/Extensions/Formatters/NumberFormatter+.swift b/Sources/Flare/Classes/Extensions/Formatters/NumberFormatter+.swift index c044972af..22f285a7e 100644 --- a/Sources/Flare/Classes/Extensions/Formatters/NumberFormatter+.swift +++ b/Sources/Flare/Classes/Extensions/Formatters/NumberFormatter+.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Sources/Flare/Classes/Extensions/Locale/Locale+CurrencyCode.swift b/Sources/Flare/Classes/Extensions/Locale/Locale+CurrencyCode.swift index c54b4cccc..2a9ce363e 100644 --- a/Sources/Flare/Classes/Extensions/Locale/Locale+CurrencyCode.swift +++ b/Sources/Flare/Classes/Extensions/Locale/Locale+CurrencyCode.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Sources/Flare/Classes/Extensions/ProductType+.swift b/Sources/Flare/Classes/Extensions/ProductType+.swift index 73c936ca6..9b1082ebe 100644 --- a/Sources/Flare/Classes/Extensions/ProductType+.swift +++ b/Sources/Flare/Classes/Extensions/ProductType+.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Sources/Flare/Classes/Extensions/SKRequest+Identifier.swift b/Sources/Flare/Classes/Extensions/SKRequest+Identifier.swift index bb12c0150..9d34aa897 100644 --- a/Sources/Flare/Classes/Extensions/SKRequest+Identifier.swift +++ b/Sources/Flare/Classes/Extensions/SKRequest+Identifier.swift @@ -7,7 +7,7 @@ import StoreKit private var requestIdKey: UInt = 0 -internal extension SKRequest { +extension SKRequest { var id: String { get { objc_getAssociatedObject(self, &requestIdKey) as? String ?? "" diff --git a/Sources/Flare/Classes/Helpers/AsyncSequence/AsyncSequence+Stream.swift b/Sources/Flare/Classes/Helpers/AsyncSequence/AsyncSequence+Stream.swift index ef1f60823..aa630ddc5 100644 --- a/Sources/Flare/Classes/Helpers/AsyncSequence/AsyncSequence+Stream.swift +++ b/Sources/Flare/Classes/Helpers/AsyncSequence/AsyncSequence+Stream.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Sources/Flare/Classes/Models/IAPError.swift b/Sources/Flare/Classes/Models/IAPError.swift index 0de5a9262..93dd895fe 100644 --- a/Sources/Flare/Classes/Models/IAPError.swift +++ b/Sources/Flare/Classes/Models/IAPError.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import StoreKit diff --git a/Sources/Flare/Classes/Models/Internal/Protocols/ISKProduct.swift b/Sources/Flare/Classes/Models/Internal/Protocols/ISKProduct.swift index fd574c2c7..f37511d09 100644 --- a/Sources/Flare/Classes/Models/Internal/Protocols/ISKProduct.swift +++ b/Sources/Flare/Classes/Models/Internal/Protocols/ISKProduct.swift @@ -15,7 +15,7 @@ protocol ISKProduct { /// The currency code for the product's price. var currencyCode: String? { get } - + /// The currency Symbol for the product's price. var currencySymbol: String? { get } diff --git a/Sources/Flare/Classes/Models/Internal/Protocols/IStoreProductDiscount.swift b/Sources/Flare/Classes/Models/Internal/Protocols/IStoreProductDiscount.swift index cb2fcaa2a..dd6009ee8 100644 --- a/Sources/Flare/Classes/Models/Internal/Protocols/IStoreProductDiscount.swift +++ b/Sources/Flare/Classes/Models/Internal/Protocols/IStoreProductDiscount.swift @@ -17,7 +17,7 @@ protocol IStoreProductDiscount: Sendable { /// The discounted price in the specified currency. var price: Decimal { get } - + /// A localized string representing the price of the product. var localizedPriceString: String? { get } diff --git a/Sources/Flare/Classes/Models/Internal/SK1StoreProduct.swift b/Sources/Flare/Classes/Models/Internal/SK1StoreProduct.swift index 57191ae65..06dd091ac 100644 --- a/Sources/Flare/Classes/Models/Internal/SK1StoreProduct.swift +++ b/Sources/Flare/Classes/Models/Internal/SK1StoreProduct.swift @@ -38,7 +38,7 @@ extension SK1StoreProduct: ISKProduct { var currencyCode: String? { product.priceLocale.currencyCodeID } - + var currencySymbol: String? { numberFormatter.currencySymbol } diff --git a/Sources/Flare/Classes/Models/Internal/SK1StoreProductDiscount.swift b/Sources/Flare/Classes/Models/Internal/SK1StoreProductDiscount.swift index 1c2899cab..952c25188 100644 --- a/Sources/Flare/Classes/Models/Internal/SK1StoreProductDiscount.swift +++ b/Sources/Flare/Classes/Models/Internal/SK1StoreProductDiscount.swift @@ -20,7 +20,7 @@ struct SK1StoreProductDiscount: IStoreProductDiscount { /// The discounted price in the specified currency. let price: Decimal - + /// A localized string representing the price of the product. let localizedPriceString: String? @@ -59,7 +59,7 @@ struct SK1StoreProductDiscount: IStoreProductDiscount { self.subscriptionPeriod = subscriptionPeriod numberOfPeriods = productDiscount.numberOfPeriods type = discountType - + /// The price formatter. let numberFormatter: NumberFormatter = .numberFormatter(with: self.productDiscount.priceLocale) localizedPriceString = numberFormatter.string(from: self.productDiscount.price) diff --git a/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift b/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift index e7f02aa29..ae44b14a5 100644 --- a/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift +++ b/Sources/Flare/Classes/Models/Internal/SK1StoreTransaction.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import StoreKit diff --git a/Sources/Flare/Classes/Models/Internal/SK2StoreProduct.swift b/Sources/Flare/Classes/Models/Internal/SK2StoreProduct.swift index 9dbb4ddb4..c874a02ce 100644 --- a/Sources/Flare/Classes/Models/Internal/SK2StoreProduct.swift +++ b/Sources/Flare/Classes/Models/Internal/SK2StoreProduct.swift @@ -19,7 +19,7 @@ final class SK2StoreProduct { private var currencyFormat: Decimal.FormatStyle.Currency { product.priceFormatStyle } - + /// The price formatter. private lazy var numberFormatter: NumberFormatter = .numberFormatter(with: self.currencyFormat.locale) @@ -45,7 +45,7 @@ extension SK2StoreProduct: ISKProduct { var currencyCode: String? { currencyFormat.currencyCode } - + var currencySymbol: String? { numberFormatter.currencySymbol } diff --git a/Sources/Flare/Classes/Models/Internal/SK2StoreProductDiscount.swift b/Sources/Flare/Classes/Models/Internal/SK2StoreProductDiscount.swift index 3d740ba9a..b98e9d4cb 100644 --- a/Sources/Flare/Classes/Models/Internal/SK2StoreProductDiscount.swift +++ b/Sources/Flare/Classes/Models/Internal/SK2StoreProductDiscount.swift @@ -21,7 +21,7 @@ struct SK2StoreProductDiscount: IStoreProductDiscount, Sendable { /// The discounted price in the specified currency. let price: Decimal - + /// A localized string representing the price of the product. let localizedPriceString: String? diff --git a/Sources/Flare/Classes/Models/Internal/StoreEnvironment.swift b/Sources/Flare/Classes/Models/Internal/StoreEnvironment.swift index 0744220ac..db41fb281 100644 --- a/Sources/Flare/Classes/Models/Internal/StoreEnvironment.swift +++ b/Sources/Flare/Classes/Models/Internal/StoreEnvironment.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Sources/Flare/Classes/Models/ProductType.swift b/Sources/Flare/Classes/Models/ProductType.swift index 482b86073..dceea7d6b 100644 --- a/Sources/Flare/Classes/Models/ProductType.swift +++ b/Sources/Flare/Classes/Models/ProductType.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Sources/Flare/Classes/Models/StoreProduct.swift b/Sources/Flare/Classes/Models/StoreProduct.swift index 1aa032d97..f6191d6f1 100644 --- a/Sources/Flare/Classes/Models/StoreProduct.swift +++ b/Sources/Flare/Classes/Models/StoreProduct.swift @@ -61,7 +61,7 @@ extension StoreProduct: ISKProduct { public var currencyCode: String? { product.currencyCode } - + public var currencySymbol: String? { product.currencySymbol } diff --git a/Sources/Flare/Classes/Models/StoreProductDiscount.swift b/Sources/Flare/Classes/Models/StoreProductDiscount.swift index 9bf70e18e..858f960e6 100644 --- a/Sources/Flare/Classes/Models/StoreProductDiscount.swift +++ b/Sources/Flare/Classes/Models/StoreProductDiscount.swift @@ -63,7 +63,7 @@ extension StoreProductDiscount: IStoreProductDiscount { public var price: Decimal { discount.price } - + public var localizedPriceString: String? { discount.localizedPriceString } diff --git a/Sources/Flare/Classes/Providers/PaymentProvider/PaymentProvider.swift b/Sources/Flare/Classes/Providers/PaymentProvider/PaymentProvider.swift index 0d681238e..8fc3bba75 100644 --- a/Sources/Flare/Classes/Providers/PaymentProvider/PaymentProvider.swift +++ b/Sources/Flare/Classes/Providers/PaymentProvider/PaymentProvider.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import Concurrency diff --git a/Sources/Flare/Classes/Providers/ProductProvider/IProductProvider.swift b/Sources/Flare/Classes/Providers/ProductProvider/IProductProvider.swift index 55955ecf4..6b6f3e716 100644 --- a/Sources/Flare/Classes/Providers/ProductProvider/IProductProvider.swift +++ b/Sources/Flare/Classes/Providers/ProductProvider/IProductProvider.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import StoreKit diff --git a/Sources/Flare/Classes/Providers/ProductProvider/ProductProvider.swift b/Sources/Flare/Classes/Providers/ProductProvider/ProductProvider.swift index 357229817..77c47434a 100644 --- a/Sources/Flare/Classes/Providers/ProductProvider/ProductProvider.swift +++ b/Sources/Flare/Classes/Providers/ProductProvider/ProductProvider.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import Atomic diff --git a/Sources/Flare/Classes/Providers/ReceiptRefreshProvider/ReceiptRefreshProvider.swift b/Sources/Flare/Classes/Providers/ReceiptRefreshProvider/ReceiptRefreshProvider.swift index f5ec09957..fa84ac34b 100644 --- a/Sources/Flare/Classes/Providers/ReceiptRefreshProvider/ReceiptRefreshProvider.swift +++ b/Sources/Flare/Classes/Providers/ReceiptRefreshProvider/ReceiptRefreshProvider.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import Concurrency diff --git a/Sources/FlareMock/Mocks/ProductMock.swift b/Sources/FlareMock/Mocks/ProductMock.swift index efef43255..49e62c562 100644 --- a/Sources/FlareMock/Mocks/ProductMock.swift +++ b/Sources/FlareMock/Mocks/ProductMock.swift @@ -38,11 +38,11 @@ public final class ProductMock: ISKProduct { invokedCurrencyCodeGetterCount += 1 return stubbedCurrencyCode } - + public var invokedCurrencySymbolGetter = false public var invokedCurrencySymbolGetterCount = 0 public var stubbedCurrencySymbol: String! - + public var currencySymbol: String? { invokedCurrencySymbolGetter = true invokedCurrencySymbolGetterCount += 1 diff --git a/Tests/FlareTests/UnitTests/FlareTests.swift b/Tests/FlareTests/UnitTests/FlareTests.swift index a116a97fc..9bd3075a5 100644 --- a/Tests/FlareTests/UnitTests/FlareTests.swift +++ b/Tests/FlareTests/UnitTests/FlareTests.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // @testable import Flare diff --git a/Tests/FlareTests/UnitTests/Providers/IAPProviderTests.swift b/Tests/FlareTests/UnitTests/Providers/IAPProviderTests.swift index 3db90c719..bfa5bfae5 100644 --- a/Tests/FlareTests/UnitTests/Providers/IAPProviderTests.swift +++ b/Tests/FlareTests/UnitTests/Providers/IAPProviderTests.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // @testable import Flare diff --git a/Tests/FlareTests/UnitTests/Providers/ProductProviderTests.swift b/Tests/FlareTests/UnitTests/Providers/ProductProviderTests.swift index 9b3bba729..b481d8268 100644 --- a/Tests/FlareTests/UnitTests/Providers/ProductProviderTests.swift +++ b/Tests/FlareTests/UnitTests/Providers/ProductProviderTests.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import Concurrency diff --git a/Tests/FlareTests/UnitTests/Providers/RefundRequestProviderTests.swift b/Tests/FlareTests/UnitTests/Providers/RefundRequestProviderTests.swift index ef6acb2e8..73059b40b 100644 --- a/Tests/FlareTests/UnitTests/Providers/RefundRequestProviderTests.swift +++ b/Tests/FlareTests/UnitTests/Providers/RefundRequestProviderTests.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // @testable import Flare diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Extensions/Result+.swift b/Tests/FlareTests/UnitTests/TestHelpers/Extensions/Result+.swift index 9c779804a..c4c3b1ac7 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Extensions/Result+.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Extensions/Result+.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Extensions/XCTestCase+.swift b/Tests/FlareTests/UnitTests/TestHelpers/Extensions/XCTestCase+.swift index 8d55a0f50..3e1c6feef 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Extensions/XCTestCase+.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Extensions/XCTestCase+.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import XCTest diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Fakes/StoreTransactionFake.swift b/Tests/FlareTests/UnitTests/TestHelpers/Fakes/StoreTransactionFake.swift index 002b7311b..770aadcdd 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Fakes/StoreTransactionFake.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Fakes/StoreTransactionFake.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // @testable import Flare diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Helpers/AvailabilityChecker.swift b/Tests/FlareTests/UnitTests/TestHelpers/Helpers/AvailabilityChecker.swift index 7cec99218..5031b62b4 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Helpers/AvailabilityChecker.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Helpers/AvailabilityChecker.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import XCTest diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Helpers/PurchaseManagerTestHelper.swift b/Tests/FlareTests/UnitTests/TestHelpers/Helpers/PurchaseManagerTestHelper.swift index 63201f958..e42841ffb 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Helpers/PurchaseManagerTestHelper.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Helpers/PurchaseManagerTestHelper.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // @testable import Flare diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Helpers/WindowSceneFactory.swift b/Tests/FlareTests/UnitTests/TestHelpers/Helpers/WindowSceneFactory.swift index 4c21b2c38..2e53b23d5 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Helpers/WindowSceneFactory.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Helpers/WindowSceneFactory.swift @@ -1,12 +1,12 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // #if os(iOS) || VISION_OS import UIKit - final class WindowSceneFactory { + enum WindowSceneFactory { static func makeWindowScene() -> UIWindowScene { UIApplication.shared.connectedScenes.first as! UIWindowScene } diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Mocks/SKProductMock.swift b/Tests/FlareTests/UnitTests/TestHelpers/Mocks/SKProductMock.swift index 74e27fcb4..bf2db54f3 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Mocks/SKProductMock.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Mocks/SKProductMock.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2024 Space Code. All rights reserved. +// Copyright © 2023 Space Code. All rights reserved. // import StoreKit diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Mocks/StoreTransactionMock.swift b/Tests/FlareTests/UnitTests/TestHelpers/Mocks/StoreTransactionMock.swift index 225e403ef..772c1b172 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Mocks/StoreTransactionMock.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Mocks/StoreTransactionMock.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // @testable import Flare diff --git a/Tests/FlareTests/UnitTests/TestHelpers/Stubs/StoreTransactionStub.swift b/Tests/FlareTests/UnitTests/TestHelpers/Stubs/StoreTransactionStub.swift index 7b8a0c7cb..516d7c05d 100644 --- a/Tests/FlareTests/UnitTests/TestHelpers/Stubs/StoreTransactionStub.swift +++ b/Tests/FlareTests/UnitTests/TestHelpers/Stubs/StoreTransactionStub.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // @testable import Flare diff --git a/Tests/FlareUITests/UnitTests/Presentation/Subscriptions/SubscriptionsPresenterTests.swift b/Tests/FlareUITests/UnitTests/Presentation/Subscriptions/SubscriptionsPresenterTests.swift index 63f2e4aeb..265d6d4ef 100644 --- a/Tests/FlareUITests/UnitTests/Presentation/Subscriptions/SubscriptionsPresenterTests.swift +++ b/Tests/FlareUITests/UnitTests/Presentation/Subscriptions/SubscriptionsPresenterTests.swift @@ -128,5 +128,5 @@ final class SubscriptionsPresenterTests: XCTestCase { // MARK: - Extensions private extension Array where Element == String { - static let ids: [String] = ["subscription"] + static let ids = ["subscription"] } diff --git a/Tests/IntegrationTests/Helpers/Extensions/Result+.swift b/Tests/IntegrationTests/Helpers/Extensions/Result+.swift index 9c779804a..c4c3b1ac7 100644 --- a/Tests/IntegrationTests/Helpers/Extensions/Result+.swift +++ b/Tests/IntegrationTests/Helpers/Extensions/Result+.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import Foundation diff --git a/Tests/IntegrationTests/Helpers/Extensions/XCTestCase+.swift b/Tests/IntegrationTests/Helpers/Extensions/XCTestCase+.swift index 8d55a0f50..3e1c6feef 100644 --- a/Tests/IntegrationTests/Helpers/Extensions/XCTestCase+.swift +++ b/Tests/IntegrationTests/Helpers/Extensions/XCTestCase+.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import XCTest diff --git a/Tests/UnitTestHostApp/AppDelegate.swift b/Tests/UnitTestHostApp/AppDelegate.swift index 4f3e9b07c..ec1ced010 100644 --- a/Tests/UnitTestHostApp/AppDelegate.swift +++ b/Tests/UnitTestHostApp/AppDelegate.swift @@ -1,6 +1,6 @@ // // Flare -// Copyright © 2023 Space Code. All rights reserved. +// Copyright © 2024 Space Code. All rights reserved. // import SwiftUI