Ig infobox-limited class is in room intros and in the event box. On mobile phones, it is hard to check the whole room intro or event and you can slide because overflow for the x axis is hidden. So just removing overflow-x: hidden.
"Format/Team" and the spectator checkbox have too low contrast on
certain backgrounds.
I suspect we'll get a lot of complaints regarding the redesign, but
oh well, accessibility wins here.
Quoting CSS tricks:
https://css-tricks.com/styling-cross-browser-compatible-range-inputs-css/
> Note that while we’re repeating code here, that’s necessary as you
> can’t comma-separate these type of selectors. Browsers will drop the
> entire selector if it doesn’t understand a part of it.
I really don't want to repeat my CSS three times, and Firefox's default
sliders don't look ugly, so we're just going to let Firefox use its
default sliders.
I'm annoyed that Firefox just takes `-webkit-appearance` without
also taking `-webkit-slider-thumb` etc, though. :/
There are people who didn't know Meloetta was PS's mascot! They clearly
needs to be more noticeable. And now they definitely will be.
We're now using the full Gen 5 sprite instead of the minisprite,
overlapping with the buttons, and animated on hover. This might be a
bit over-the-top, but oh well, it's only on hover.
This is probably about as much as I'll implement for now. We'll need to
deprecate the old client before we can implement any major reforms to
the formats list design.
This should be a much nicer architecture than the old
`client-battle.js`.
In particular, much of the logic of choosing moves/switches has been
moved into a new `battle-choices.ts`, with `panel-battle.tsx` only
covering the UI.
`style/STYLING.html` is now a guide of generic CSS classes that can be
used by bots and chat plugins.
CSS classes that can be used by bots and chat plugins are now in a new
`battle-log.css` (previously just a section of `battle.css`)
Several PS styling patterns (specifically, `message-log`, `option`, and
`blocklink`) have been refactored into CSS classes, so that they can
be used by bots and chat plugins (why yes, I do plan on using 2/3 of
them in the log viewer).
Past CSS has been super messy. This refactor tries to make it neater
by adhering to these rules:
- Instead of trying to use e.g. `.setmenu button` selectors (to save
`class=` on every individual list item), give up and just put
`.option` directly on list items. This drastically cuts down on all
the hacks necessary to have `.button` work inside `.setmenu`.
...That's it. That's the only change. It massively cuts down on CSS
complexity. It does slightly complicate the DOM, which I'm not a _huge_
fan of, but CSS unpredictability is nearly impossible to catch and
debug, so it's massively worth it.
This adds the BOM to all HTTP pages as per the HTML5 spec and ensures
all pages use UTF-8 as their meta charset (which is still kept for
compatibility with older browsers).
These are now called `mini-window`s by the client code, and they're now
generic in the sense that any PS room can be a mini-window, not just
PMs and News.
This also adds BattleTextParser as a dependency of client-main,
removing some duplicate code in exchange for a hopefully-negligible
difference in load time.
This adds support for a Challenge menu to the new Preact client.
- New: Support for "Controls", allowing Preact to render JSX at the
bottom of chat scrollback - intended for challenge menus and battle
controls in PS Mobile.
- New: <<pm-[userid]>> and <<challenge-[userid]>> links
- New: Support for client-side commands: /j, /chall, etc
- New: PMs have a user list
Actually challenging people isn't supported yet.
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.
Most of these update the pokemon/item/etc lists to be slightly more
modern, in preparation for their use in the Preact client.
(Also update TypeScript)
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.
Using arrow keys to switch rooms is now in! Unlike in the old client,
the new system supports switching to all rooms, and supports arrow keys
in all situations, rather than only being able to switch between chat
rooms, and only with textareas focused.
Also, focusing chat rooms now focuses the input box. This was
surprisingly hard to implement with React, which has an annoying
all-or-nothing approach to state it doesn't control.
This is just code to support using details/summary for a "read more"
system. The entire summary portion can be clicked to expand/collapse,
but the overall usability feels "better than before" to me.