'Cannot convert value of type 'PuzzleView' to expected argument type 'Puzzle'

A week into learning SwiftUI, this is probably a simple error I'm making but can't figure it out… Trying to separate my views from model etc. However, when I call my view I get the error "Cannot convert value of type 'PuzzleView' to expected argument type 'Puzzle'".

My model is:

struct Puzzle : Codable, Identifiable {
    var id: String
    var region: String
    var score: Int
    var wordCount: Int
    var pangramCount: Int
    var foundPangrams: [String]
    var solvedScore: Int
}

class PuzzleData : ObservableObject {
    
    @Published var puzzles: [Puzzle]
    
    init (puzzles: [Puzzle] = []) {
        self.puzzles = puzzles
    }
}

ContentView (no errors)

struct ContentView: View {
    @StateObject var puzzleData : PuzzleData = PuzzleData(puzzles: getJson)
    
    var body: some View {
        NavigationView {
            List {
                ForEach (puzzleData.puzzles) { puzzle in
                    ListPuzzles(puzzle: puzzle)
                }
            }
            .navigationBarTitle(Text("Puzzles"))
        }
    }
}

And the problem file with error:

struct PuzzleView: View {
    let selectedPuzzle: Puzzle
    
    var body: some View {
        VStack {
            Group {
                Text(selectedPuzzle.id)
                    .font(.headline)
                
                HStack {
                    DataRow(selectedPuzzle: Puzzle) //<<<<error here
                }
                
                Text(selectedPuzzle.region)
                        .font(.body)                
            }
        }
    }
}

The file it is linking to is:

struct DataRow: View {
    var selectedPuzzle: Puzzle
    
    var body: some View {
        HStack {
            Spacer()
            Group {
                VStack {
                    Text("Score")
                    Text("\(selectedPuzzle.solvedScore)/\\\(selectedPuzzle.score)")
                }
                VStack {
                    Text("Words")
                    Text("\(selectedPuzzle.foundWords.count - 1)/\\\(selectedPuzzle.wordCount)")
                }
                VStack {
                    Text("\((selectedPuzzle.pangramCount != 1) ? "Pangrams:" : "Pangram:")")
                    Text("\(selectedPuzzle.foundPangrams.count - 1)/\\\(selectedPuzzle.pangramCount)")
                }
            }
        }
    }
}

Will really appreciate any advise, thanks!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source