+ WIP reversion of list selection to UUID

This commit is contained in:
David Bureš 2025-05-06 17:03:17 +02:00
parent b6c3411d92
commit f44781b75a
3 changed files with 18 additions and 2 deletions

View File

@ -12,6 +12,7 @@ import CorkShared
protocol PackageTrackable: ObservableObject, Sendable protocol PackageTrackable: ObservableObject, Sendable
{ {
func processRawPackageArray(trackingArray: [BrewPackage]) async -> [BrewPackage] func processRawPackageArray(trackingArray: [BrewPackage]) async -> [BrewPackage]
func findPackageInTrackerByUUID(packageToFind: BrewPackage) -> BrewPackage?
} }
extension PackageTrackable extension PackageTrackable
@ -60,3 +61,18 @@ extension PackageTrackable
return tempArray return tempArray
} }
} }
extension PackageTrackable
{
/// Find a package in the tracking array by its UUID
/// The result is the found package in the tracking array
func findPackageInTrackerByUUID(trackingArray: [BrewPackage], uuidToFind: UUID) -> BrewPackage?
{
guard let foundPackage = trackingArray.first(where: { $0.id == uuidToFind }) else
{
return nil
}
return foundPackage
}
}

View File

@ -243,7 +243,7 @@ struct SearchResultRow: View, Sendable
} }
} }
} }
.tag(AddFormulaView.PackageSelectedToBeInstalled(package: searchedForPackage, version: selectedVersion.isEmpty ? nil : selectedVersion)) .tag(searchedForPackage.id)
.task .task
{ {
if showDescriptionsInSearchResults if showDescriptionsInSearchResults

View File

@ -29,7 +29,7 @@ struct InstallationInitialView: View
@Binding var packageRequested: String @Binding var packageRequested: String
@Binding var foundPackageSelection: AddFormulaView.PackageSelectedToBeInstalled? @Binding var foundPackageSelection: UUID?
@ObservedObject var installationProgressTracker: InstallationProgressTracker @ObservedObject var installationProgressTracker: InstallationProgressTracker