monkeytype/frontend
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
..
__tests__ perf: use cache in local-storage-with-schema (@fehmer) (#6596) 2025-05-27 17:12:05 +02:00
docker fix: local development using docker not working with pnpm (@fehmer) (#6401) 2025-03-26 13:11:02 +01:00
scripts refactor: move languages to contracts (@fehmer) (#6497) 2025-05-07 14:02:27 +02:00
src impr: add quick theme favorite indicator to the commandline & footer (@byseif21, @miodec) (#6460) 2025-05-29 13:15:44 +02:00
static feat(layout): add Tarmak layouts (@siily-g) (#6574) 2025-05-26 16:03:25 +02:00
.eslintrc.cjs chore: add eslint compat plugin (@fehmer) (#6542) 2025-05-12 16:52:01 +02:00
.firebaserc_example
.oxlintrc.json refactor: enable ban-ts-comment rule 2025-04-16 19:15:30 +02:00
firebase.json
gulpfile.js chore: add oxlint (@miodec) (#6455) 2025-04-16 17:18:50 +02:00
knip.json
package.json chore: add eslint compat plugin (@fehmer) (#6542) 2025-05-12 16:52:01 +02:00
tsconfig.json refactor: remove global type namespaces (@miodec) (#5907) 2024-09-23 15:34:16 +02:00
vite.config.dev.js chore: add oxlint (@miodec) (#6455) 2025-04-16 17:18:50 +02:00
vite.config.js chore: add sentry 2025-04-29 17:36:23 +02:00
vite.config.prod.js chore: try to use auto commit detection again 2025-05-03 12:02:51 +02:00
vitest.config.js refactor: move funboxes to a shared package (@miodec) (#6063) 2024-12-04 16:11:07 +01:00