I would say that a router that doesn't support url patterns, query parameters or state is basically useless for anything other than small static sites that in my personal opinion shouldn't have clientside routing.
This is a nice demonstration of how routers can work for people that are curious, but I would have a lot of concerns about it as production-worthy, especially because you're manually firing browser native events during periods that people generally wouldn't expect them to fire.
I'm saying this as someone that had to write a full clientside routing system for a bespoke web app - routing is very hard and full of edge cases.
This is a nice demonstration of how routers can work for people that are curious, but I would have a lot of concerns about it as production-worthy, especially because you're manually firing browser native events during periods that people generally wouldn't expect them to fire.
I'm saying this as someone that had to write a full clientside routing system for a bespoke web app - routing is very hard and full of edge cases.