This took way too long to get to a presentable state.
- search.js has been refactored into battle-search.ts (search logic)
and battle-searchresults.tsx (display)
- panel-teambuilder.tsx has been split into teambuilder (team list) and
teambuilder-team (team editor).
- The teambuilder's text editor can now detect which line it's on,
and show the appropriate search result panel.
- The teambuilder's text editor now detects sets dynamically, and has
the beginnings of support for set comments.
Currently, everything here is really basic, and mostly just a tech
demo for people to play around with and understand the direction of
the new teambuilder, but it'll be improved over time.
This should give an idea of the direction I want to take the
teambuilder in: a text editor, but with special features.
This neatly sidesteps a lot of UI questions, especially all the export
and input buttons, because the regular editing mode can be used to
import and export without anything fancy.
This also makes way for a better way to implement team/set comments:
comments are just invalid Pokémon in a team.
Considering all the individual panels start with `panel-`, this should
make it easier to find and in general be a more intuitive name.
All other tsx files will start with `panel-`, putting them together in
one place when sorting alphabetically.