pokemon-showdown-client
pokemon-showdown-client copied to clipboard
Preact client progress
Preact client is around half done; this issue should track what's left to do.
The Preact client is currently in the master branch (don't look at the preact branch, it's old). You can test it with testclient-beta.html
or by visiting play.pokemonshowdown.com/preactalpha
.
Layout engine and topbar
The layout engine is mostly done.
The big improvement is that now, any room can be either a mini-panel (like News/PMs in the old client), a full panel (like most rooms in the old client), or a popup (popups are now a type of room).
- [x] Drag-and-drop to rearrange topbar panel tabs
- [x] Drag-and-drop full panels into the Main Menu to make them mini-panels
- [ ] Drag-and-drop mini-panels into the topbar, to make them full panels
- [ ] Expanding/collapsing mini-panels
- [ ] Notification system
Nice-to-haves:
- [ ] Vertical tab-bar (I have a really good design for an alternative layout system, optimized for mobile, where you can swipe left for the tab-bar and swipe right for the current room - it's probably easier for me to implement myself than explain in enough detail for someone else to implement, though).
- [ ] The
/
hotkey should open a console (PM to&
) mini-panel in Main Menu and Rooms
Panels
Main Menu
The Main Menu is mostly complete. Most of its missing features relate to mini-panels, which are considered layout engine features.
I had a thought to make the battle menu a mini-popup (so the Main Menu itself would only contain a "Battle!" button, which opens a mini-popup with the format/team selectors and the "no spectators" checkbox). I'm still undecided on whether or not this is an improvement.
Rooms
The Rooms panel is mostly complete.
Chat rooms
Chat rooms are mostly complete.
- [ ] Highlighting other users
Nice-to-haves:
- [ ] Hovering over links/buttons will stop autoscrolling
- [ ] If receiving html/uhtml, put onload handlers on the images, so autoscrolling can be updated after the images are loaded
Battle
Battling is mostly done. It needs a polish pass, though.
- [ ] Timer controls
- [ ] Battle settings
Teambuilder: Teams list
The teams list is about half done
- [ ] Drag-and-drop rearranging
- [ ] Misc advanced features that need to be ported over from the old client
- [ ] Saving/loading teams
Teambuilder: Team editor
The team editor is a mess. I'm probably going to walk back the "text editor as primary editor" approach, because it's burning me out.
- [ ] Team editor
Page panels (custom HTML panels)
This is support for view-[whatever]
rooms like /chatlog
, /modlog
, help tickets, etc.
- [x] Page panels
Battle list
The Battle List panel is mostly complete.
Ladders
The Ladders panel isn't done.
- [x] Ladders panel
Popups
Login popup
The login popup is entirely unimplemented.
- [ ] Login popup (Zarel will work on this; the rest of you should leave this one alone)
Settings popup
The settings popup is stubbed (with a working Dark Mode checkbox), but mostly unfinished.
- [ ] Settings popup
- [ ] Saving and loading settings
- [ ] Using localStorage events to sync settings across tabs
Usercard (popup)
Usercards are mostly done.
- [ ] More menu, with Ignore/Report buttons
Find-a-user popup
Unimplemented. One day I want to make this a full panel with a friends list UI, but that's not blocking a Preact client release.
- [ ] Find-a-user popup
I am going to reuse this comment to record things I have in progress:
Login popup in progress - I may abandon this since it requires integration with the login server: https://github.com/smogon/pokemon-showdown-client/compare/master...aviettran:feature/loginPopup
Ladder Panel - merged #1709 Page Panel - merged #1716 Options Panel - In progress
Seems unlikely to happen.
RIP