monkeytype/frontend
Justiniscoding 4da82d0f2b
feat: create new sPoNgEcAsE and modify raNDOmcASe to be random (@Justiniscoding) (#7295)
### Description

The old rAnDoMcAsE mode was not actually random and more accurately
reflected [sponge case](https://en.wikipedia.org/wiki/Alternating_caps).
I modified the old rAnDoMcAsE mode and turned it into raNDOmcASe, where
it calls `Math.random()` for every letter and bases the capitalization
of of it. The old code from rAnDoMcAsE was moved to a separate
sPoNgEcAsE funbox mode.

### Changes
- `rAnDoMcAsE` becomes `raNDOmcASe` and has a 50% chance to capitalize
every letter.
- `sPoNgEcAsE` is added as a funbox mode and contains the old
functionality of `rAnDoMcAsE`
- "i KINda LikE HoW inEFFICIeNt QwErtY Is." challenge is updated to use
the updated `raNDOmcASe` mode as well as a new title that is in proper
random case.

### Checks

- [x] Adding/modifying Typescript code?
  - [ ] I have used `qs`, `qsa` or `qsr` instead of JQuery selectors.
- [ ] Adding quotes?
- [ ] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [ ] Adding a language?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
  - [ ] Add language to `packages/schemas/src/languages.ts`
- [ ] Add language to exactly one group in
`frontend/src/ts/constants/languages.ts`
  - [ ] Add language json file to `frontend/static/languages` 
- [ ] Adding a theme?
- Make sure to follow the [themes
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md)
  - [ ] Add theme to `packages/schemas/src/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] Add theme css file to `frontend/static/themes`
- [ ] Add some screenshots of the theme, especially with different test
settings (colorful, flip colors) to your pull request
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
  - [ ] Add layout to `packages/schemas/src/layouts.ts`
  - [ ] Add layout json file to `frontend/static/layouts` 
- [ ] Adding a font?
- Make sure to follow the [themes
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md)
  - [ ] Add font file  to `frontend/static/webfonts`
  - [ ] Add font to `packages/schemas/src/fonts.ts`
  - [ ] Add font to `frontend/src/ts/constants/fonts.ts`
- [ ] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [x] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->


<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](https://github.com/monkeytypegame/monkeytype/pull/1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2026-01-06 16:42:02 +01:00
..
__tests__ fix(custom): ignore prototype properties in British English replacement rules (@byseif21) (#7317) 2026-01-06 16:24:40 +01:00
docker
scripts
src feat: create new sPoNgEcAsE and modify raNDOmcASe to be random (@Justiniscoding) (#7295) 2026-01-06 16:42:02 +01:00
static feat: create new sPoNgEcAsE and modify raNDOmcASe to be random (@Justiniscoding) (#7295) 2026-01-06 16:42:02 +01:00
vite-plugins impr: replace vite-plugin-checker with ~~vibe~~ (@miodec) (#7271) 2025-12-19 22:29:56 +01:00
.firebaserc_example
.oxlintrc-plugin.json
.oxlintrc.json
eslint.config.js
firebase.json
package.json chore: upgrade oxc 2026-01-01 11:45:54 +01:00
tsconfig.json
vite.config.ts impr: replace vite-plugin-checker with ~~vibe~~ (@miodec) (#7271) 2025-12-19 22:29:56 +01:00
vitest.config.ts refactor: add currentTarget back to regular listeners, add childTarget to onChild listeners (@fehmer) (#7273) 2025-12-20 13:41:11 +01:00