extremely long. should be broken down to smaller pieces, both for maintainability, readability and React compiler efficiency
don't have time right now (bigger fish to fry) but good first issue for someone looking to contribute!
would be good with a couple smaller PRs (feel free to stack!) instead of one large one!