Minor
- Fix crashes/bugs in backported elim tournament redesign
- Support opting into Preact client via cookie
- Fix popup positioning when parent element is unmounted (i.e. when you
switch layouts in the Options menu)
Trivial
- Focus Main Menu and not Rooms when loading home page in single panel
mode
- Correctly set user.registered
( Fixes https://github.com/smogon/pokemon-showdown/pull/11031 )
- Fix some text in the Options menu
Really this should probably be handled with `|` rather than with
a complicated system for guessing where to break messages... but
it's easier not to change these old systems.
This finally removes the tslint dependency and switches to eslint.
There are a lot of other changes here, too, to bring the codebase up to
server standards. TSLint never had much in the way of indentation
enforcement.
Not very happy about eslint splitting itself up over 6 dependencies,
or its documentation over three websites, nor how poorly documented the
new flat config is, but I mean, eslint's gonna eslint. Customizing
would be even harder if we tried to use Biome or something. They mostly
seem to go full Prettier.
Also here are some changes to our style rules. In particular:
- Curly brackets (for objects etc) now have spaces inside them. Sorry
for the huge change. ESLint doesn't support our old style, and most
projects use Prettier style, so we might as well match them in this way.
See https://github.com/eslint-stylistic/eslint-stylistic/issues/415
- String + number concatenation is no longer allowed (except in ES3
code). We otherwise now consistently use template strings for this.
Due to the specific way we implement everything, none of these files
are actually modules. But thanks to `babel-plugin-remove-import-export`,
there's no reason why the code can't be written as modules.
I wouldn't say I like modules, but it's what's popular and it's what
people are used to and it's what tooling is built around.
Files meant to be served have been moved into
`play.pokemonshowdown.com/` and `pokemonshowdown.com/`.
We now have three directories for the three subdomains handled by this
repo:
- `pokemonshowdown.com/`
- `play.pokemonshowdown.com/`
- `replay.pokemonshowdown.com/`
Naming them after the subdomains will make it much easier to tell where
the files for each go.
The diff is probably useless; it'll be easier if you just look at the
new tree:
https://github.com/smogon/pokemon-showdown-client/tree/reorganize