Blazor is NOT procedural. And you cannot define "functional components" - so all the shitty little layouts need to become a seperate component, which quickly makes project messy because each component needs some naming.
Blazor is entirely FUNCTIONAL despite what it looks like, and things like the below can happen that blew your mind:
// The code below depends on Blazorized for <Row> and <Column> definitions
// ProductGalerry.blazor