diff --git a/Demo/Sources/Demos/Modern/PokedexDemo/Modern.PokedexDemo.ItemView.swift b/Demo/Sources/Demos/Modern/PokedexDemo/Modern.PokedexDemo.ItemView.swift index 0f7d347..9dd0d6d 100644 --- a/Demo/Sources/Demos/Modern/PokedexDemo/Modern.PokedexDemo.ItemView.swift +++ b/Demo/Sources/Demos/Modern/PokedexDemo/Modern.PokedexDemo.ItemView.swift @@ -44,33 +44,35 @@ extension Modern.PokedexDemo { .id(pokemonDisplay) } ZStack { - - if let pokemonForm = pokemonForm { + { () -> AnyView in + if let pokemonForm = pokemonForm { - VStack(alignment: .leading) { - - HStack { - Text(pokemonDisplay?.$displayName ?? pokemonForm.$name) - Spacer() - } - HStack { - self.view(for: pokemonForm.$pokemonType1) - if let pokemonType2 = pokemonForm.$pokemonType2 { - - self.view(for: pokemonType2) + return AnyView( + VStack(alignment: .leading) { + + HStack { + Text(pokemonDisplay?.$displayName ?? pokemonForm.$name) + Spacer() + } + HStack { + self.view(for: pokemonForm.$pokemonType1) + pokemonForm.$pokemonType2.map(self.view(for:)) + Spacer() + } + Spacer() } - Spacer() - } - Spacer() + ) } - } - else { + else { - Text(pokedexEntry?.$id ?? "") - .foregroundColor(Color(UIColor.placeholderText)) - .fontWeight(.heavy) - .frame(maxWidth: .infinity) - } + return AnyView( + Text(pokedexEntry?.$id ?? "") + .foregroundColor(Color(UIColor.placeholderText)) + .fontWeight(.heavy) + .frame(maxWidth: .infinity) + ) + } + }() } .frame(maxWidth: .infinity) } diff --git a/Demo/Sources/Helpers/NetworkImageView.swift b/Demo/Sources/Helpers/NetworkImageView.swift index 233fdec..184d370 100644 --- a/Demo/Sources/Helpers/NetworkImageView.swift +++ b/Demo/Sources/Helpers/NetworkImageView.swift @@ -20,20 +20,25 @@ struct NetworkImageView: View { // MARK: View var body: some View { + if let image = self.imageDownloader.image { - - Image(uiImage: image) - .resizable() - .aspectRatio(contentMode: .fit) + + return AnyView( + Image(uiImage: image) + .resizable() + .aspectRatio(contentMode: .fit) + ) } else { - - Circle() - .colorMultiply(Color(UIColor.placeholderText)) - .onAppear { - - self.imageDownloader.fetchImage() - } + + return AnyView( + Circle() + .colorMultiply(Color(UIColor.placeholderText)) + .onAppear { + + self.imageDownloader.fetchImage() + } + ) } }