// // TankCatalogEnvironment.swift // GasTankAR // // Created by Dennis Nemec on 14.09.26. // import SwiftUI private struct TankCatalogKey: EnvironmentKey { static let defaultValue: any TankCatalogProviding = TankCatalog.shared } extension EnvironmentValues { /// Der in der View-Hierarchie verfügbare Tank-Katalog. Standard: der aus dem /// Bundle geladene `TankCatalog.shared`; in Tests/Previews überschreibbar. var tankCatalog: any TankCatalogProviding { get { self[TankCatalogKey.self] } set { self[TankCatalogKey.self] = newValue } } } extension View { /// Injiziert einen Tank-Katalog in die View-Hierarchie. func tankCatalog(_ catalog: any TankCatalogProviding) -> some View { environment(\.tankCatalog, catalog) } }