The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
Find a file
Seif Soliman 0bf76e8990
impr: add quick theme favorite indicator to the commandline & footer (@byseif21, @miodec) (#6460)
### Add Quick Favorite ~~Toggle~~ **Indicator** and Prioritized
Favorites to Theme Picker

This pull request adds a new feature to MonkeyType’s theme picker &
(**current theme button** in the **footer**) ~~making it super easy for
users to save/unsave and access their favorite themes instead of going
to the settings or any other thing~~ to display a small **star icon**
indicating whether the **the theme** is marked as a favorite. Favorited
themes appear at the top of the theme list for quick access.

~~Also, I added a small heart icon next to the current theme button in
the footer to quickly favorite the active theme with one click—making it
even easier to save a new favorite without needing to open the list.~~

The star icon next to the current theme button **only acts as a visual
indicator**, showing whether the current theme is a favorite or not.
**No longer clickable**.

---

**User Benefits:**

* **Favorites at the Top:**
Favorite themes appear first in the theme picker, so you can switch to
them instantly without searching through the list.

* ~~**One-Click Star Toggle:**~~
~~Click a star next to any theme to favorite or unfavorite it right in
the picker. No need to dig through settings, saving you time and
effort.~~

* **Visual Indicator for Active Theme:**
A small star icon beside the current theme button tells you at a glance
whether your active theme is in your favorites—without needing to open
the list.

---

**What I Did:**

* Added a star icon appears next to the favorite themes ~~each theme in
the theme picker for quick favoriting or unfavoriting.~~
* Made favorite themes show up at the top of the list for easy access.
* ~~Added a small heart icon next to the current theme button in the
footer to favorite the active theme quickly.~~
* Added a small star icon next to the current theme button in the footer
**as an indicator only** — it shows whether the active theme is a
favorite, but **is not clickable**.
* ~~- Added notifications to confirm when a theme is favorited or
unfavorited.~~

---

**Preview:** (**OUTDATED**)


[https://github.com/user-attachments/assets/5bba15c4-edbb-4577-abfe-fd581f196b98](https://github.com/user-attachments/assets/5bba15c4-edbb-4577-abfe-fd581f196b98)

---

### Checks

* [ ] 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 or a theme?

* [ ] If it’s a language, did you edit `_list.json`, `_groups.json`, and
add `languages.json`?
  * [ ] If it’s a theme, did you add the theme.css?

* Also please add a screenshot of the theme, it would be extra awesome
if you do so!
* [x] 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/](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.

---

---------

Co-authored-by: Miodec <jack@monkeytype.com>
Co-authored-by: Nginearing <142851004+Nginearing@users.noreply.github.com>
Co-authored-by: Pavel Ivashkov <paiv@users.noreply.github.com>
Co-authored-by: Christian Fehmer <fehmer@users.noreply.github.com>
Co-authored-by: siilyg <149881151+siily-g@users.noreply.github.com>
Co-authored-by: Omar Abdelrahman Abbas <tryomarabbas@gmail.com>
2025-05-29 13:15:44 +02:00
.github docs: update PR template (@fehmer) (#6600) 2025-05-26 16:05:09 +02:00
.husky
backend fix: compatability check header shown if client is using cached responses (@fehmer) (#6602) 2025-05-27 16:59:49 +02:00
docker chore: update mongodb version to 5.0.13 (@fehmer) (#6364) 2025-03-12 15:29:19 +01:00
docs refactor: move languages to contracts (@fehmer) (#6497) 2025-05-07 14:02:27 +02:00
frontend impr: add quick theme favorite indicator to the commandline & footer (@byseif21, @miodec) (#6460) 2025-05-29 13:15:44 +02:00
packages chore: release v25.22.0 2025-05-27 17:17:48 +02:00
.dockerignore
.editorconfig
.eslintignore fix(docker): fix configuration endpoint, add configuration export (@fehmer) (#6317) 2025-02-27 10:48:59 +01:00
.gitignore chore: add sentry 2025-04-29 17:36:23 +02:00
.npmrc
.nvmrc
.prettierignore
.prettierrc
commitlint.config.cjs
LICENSE
monkeytype.code-workspace chore: add oxlint (@miodec) (#6455) 2025-04-16 17:18:50 +02:00
package.json chore: release v25.22.0 2025-05-27 17:17:48 +02:00
pnpm-lock.yaml fix: compatability check header shown if client is using cached responses (@fehmer) (#6602) 2025-05-27 16:59:49 +02:00
pnpm-workspace.yaml
README.md docs: order oxlint badge correctly (@fehmer) (#6470) 2025-04-19 13:33:09 +02:00
turbo.json chore: only add sentry plugin when building from release package 2025-04-30 14:13:51 +02:00
vitest.config.js chore: fix test coverage not working with vitest workspaces (@fehmer) (#5764) 2024-08-11 17:50:26 +02:00
vitest.workspace.json chore: add vitest workspace configuration file 2024-08-11 00:14:39 +02:00


ChartJs Eslint Express Firebase Fontawesome HTML5 JQuery MongoDB OXLint PNPM Redis SASS TsRest Turborepo TypeScript Vite Vitest Zod

About

Monkeytype is a minimalistic and customizable typing test. It features many test modes, an account system to save your typing speed history, and user-configurable features such as themes, sounds, a smooth caret, and more. Monkeytype attempts to emulate a natural typing experience during a typing test by unobtrusively presenting the text prompts and displaying typed characters in place, providing straightforward, real-time feedback on typos, speed, and accuracy.

Features

  • minimalistic design, with optional advertisements and focus mode while typing
  • type what you see, see what you type
  • live errors, wpm, and accuracy displays
  • a variety of test lengths and languages
  • punctuation and numbers modes
  • quotes
  • themes
  • smooth caret
  • account system
  • challenges and just-for-fun test modifiers
  • and much more

Discord bot

On the Monkeytype Discord server, we added a Discord bot to auto-assign optional roles based on typing performance and challenge completion. You can find its code over at https://github.com/monkeytypegame/monkeytype-bot.

Bug report or Feature request

If you encounter a bug or have a feature request, send us an email, create an issue, create a discussion thread, or join the Discord server.

Want to Contribute?

Refer to CONTRIBUTING.md.

Code of Conduct

Before contributing to this repository, please read the code of conduct.

Security

To report a security vulnerability, please refer to SECURITY.md.

Credits

Montydrei for the name suggestion.

Everyone who provided valuable feedback on the original Reddit post for the prototype of this website.

All of the contributors have helped implement various features, add themes, fix bugs, and more.

Support

If you wish to support further development and feel extra awesome, you can donate, become a Patron or buy a t-shirt.