I was surprised with how easy it was to implement the page. The shared component(s) might need some tweaking later, but I'm a fan of not abstracting too much in advance.
Yeah it looks good to me. Agreed DRYing up stuff ahead of time is an anti-pattern. I prefer to wait for at least three instances and then only if I know it's not going to turn into param hell later.
I was surprised with how easy it was to implement the page. The shared component(s) might need some tweaking later, but I'm a fan of not abstracting too much in advance.