pokemon-showdown-client icon indicating copy to clipboard operation
pokemon-showdown-client copied to clipboard

Preact client progress

Open Zarel opened this issue 4 years ago • 1 comments

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

Zarel avatar Jul 13 '20 04:07 Zarel

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

aviettran avatar Jan 11 '21 00:01 aviettran

Seems unlikely to happen.

monsanto avatar Jan 07 '23 05:01 monsanto

RIP

shivaylamba avatar Aug 31 '23 20:08 shivaylamba