List with different row size and content

Im trying to implement swiftUI list item with different type of image, text, and icon in the list.

I can simply create static list and use List modifiers to list out all items in the view. But, I want behavior to be different. In other words, row will be full dynamic. I can modify row size or hide/unhide text or change icon based on dynamic condition.

I thought to implement by using Hstack and Vstack but it become cumbersome when we have 50 rows in single scroll view list. Is there any way to dynamic create row and change row content based on conditions ?