### Description
Added 24 English quotes from the Pragmatic Programmer (2nd Edition)
### Checks
- [x] Adding quotes?
- [x] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [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/ for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.
### Description
**`impr`** - Clarified description for "Reset Settings" feature,
emphasizing that in addition to tags, settings presets are also
preserved.
**`refactor`** - the unused type `PresetName` was misspelled as
`PresentName`.
### Description
* when the table got wider than the screen, it broke the layout and
pushed other elements out of view.
fixed it by `overflow-x: hidden`
* making the table itself more responsive, so it adapts across screen
sizes
* video ;
https://github.com/user-attachments/assets/c84272d1-4c77-4e59-980e-aab09c18d6a1Closes#6732
---------
Co-authored-by: Miodec <jack@monkeytype.com>
Description
15 polish movie quotes
Checks
Translations:
Grzegorz Brzęczyszczykiewicz. Chrząszczyrzewoszczyce, Łękołody County.-
"id":201
I am reporting obediently, Colonel, I caused this war completely
unintentionally. - "id":202
Everyone can help their luck, everyone can win today. Black loses, red
wins. One, two, three... - "id":203
He died on the way, certainly from his wounds. - It wasn't from his
wounds, sir! The plum brandy!- "id":204
You, come here. Where are you going? Come here to the master. How good!
What a pretty lady he has! Only she's so serious... And why is she so
serious, huh? Fat... Well, come on. What, some good peppers? Eat, eat.
If you don't eat, the lady will lock you up in a hole like us here. -
"id":205
Darkness, I see darkness, I see darkness. - "id":206
Saved! We're saved! The stork! Look! The stork! If he's alive, that
means we can too. Stork, stork!- "id":207
The league defends, the league advises, the league will never betray
you! - "id":208
In a few days, sir, it will only begin: interviews, autographs, visits
to workplaces. - "id":209
I, Prince Jeremi Wiśniowiecki, Voivode of Ruthenia, Lord of Łubnie and
Wiśniowiec, swear to you, living God, one in the Holy Trinity, that I
will not lay down this saber when I raise it against the scoundrels
until I have pacified Ukraine and drowned the peasant rebellions in
blood! So help me God! -"id":210
Maybe you want to wait until the drizzle stops. It's a shame to die in
such rain. - They'll bury the colonel, so the sky is crying. - "id":211
You're swinging like a flail! - Stop it, spare the shame. - "id":212
Lithuania! My homeland! You are like health. How much you must be
valued, only he who has lost you will know. Today I see and describe
your beauty in all its splendor, because I miss you. - "id":213
I always told you – abandon the trials. I always told you – invade,
invade! - "id":214
I have nothing, you have nothing, he has nothing... Together we have
enough to set up a large factory.- "id":215
Co-authored-by: Tomasz.Sobczak <Tomasz.Sobczak@fujitsu.com>
### Description
Added 4 English quotes from Better Call Saul
### Checks
- [x] Adding quotes?
- [x] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [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 for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.
- Refactoring `joinOverlappingHints()` solves the issue of hints joining
when they correspond to letters of different lines, which was one of the
issues [#6636](https://github.com/monkeytypegame/monkeytype/pull/6636)
was supposed to solve.
- Also add a utility that debounces/locks async functions.
1. config highlight was shown again if you
- select a deep link
- go to another page
- go to the settings page
2. when closing a settings group with a highlight the animation broke
3. when opening a closed settings group with a highlight the animation
was repeated
### Description
Fix missing colons and a single missing comma in the typescript
codeblock for the theme preview
#### Before

#### After

### 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?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
- [ ] Add language to `packages/contracts/src/schemas/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/contracts/src/schemas/themes.ts`
- [ ] Add theme to `frontend/src/ts/constants/themes.ts`
- [ ] Add theme css file to `frontend/static/themes`
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
- [ ] Add layout to `packages/contracts/src/schemas/layouts.ts`
- [ ] Add layout json file to `frontend/static/layouts`
- [ ] 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.
`funbox.applyConfig` was called twice when changing to test page.
`funbox.rememberSettings` was saving the wrong setting, as it was called
after the first `applyConfig`.
fixes#6700
### Description
fixes broken ligature rendering in zen mode by always enabling
ligatures, ensuring that scripts like Arabic etc .. display correctly
and words connect as expected in any scenario or direction!.
extract icon getting code to a function
cleanup code that builds command html
update the placeholder of the input according to the active command group
fix some icon alignment
update some strings
### Description
Added 3 quotes:
1. "Aquél que tiene un porqué para vivir, puede soportar casi cualquier
cómo" by Nietzsche, as translated from "He who has a why to live for can
bear almost any how."
(https://www.goodreads.com/quotes/137-he-who-has-a-why-to-live-for-can-bear)
2. "Es mucho más difícil crear que destruir, por eso solo los cobardes
se decantan por lo segundo." from Steve in A Minecraft Movie, as
translated from "It is harder to create than to destroy...that's why
cowards then choose the deuce"
(https://www.pcgamer.com/movies-tv/a-minecraft-movie-review/)
3. "Caminante, no hay camino, se hace camino al andar. Al andar se hace
el camino, y al volver la vista atrás se ve la senda que nunca se ha de
volver a pisar." by Antonio Machado
(https://www.espoesia.com/poesia/antonio-machado/caminante-no-hay-camino-antonio-machado/)
### Checks
- [x] Adding quotes?
- [x] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [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.
### Description
fixes a caret misalignment issue that occurred when switching between
caret styles (e.g., from block/outline/underline to line caret).
#### Bug:
When switching caret styles, the **line caret** could retain the width
from the previous style (e.g., block), causing it to appear **visually
incorrect** until the next input.
#### Root Cause:
* The caret's inline `width` was **not reset** when changing styles, so
the new style inherited the old dimensions.
* `updatePosition()` was called **before** the style was fully applied,
leading to **incorrect positioning**.
---
### Fix
* Added a `subscribe` listener in `caret.ts` for the `"caretStyle"`
event.
* When the caret style changes:
* The caret's inline width is **reset**:
```ts
caret.style.width = "";
```
* Its position is immediately **recalculated** with:
```ts
updatePosition(true);
```
---------
Co-authored-by: Miodec <jack@monkeytype.com>
### Description
<!-- Please describe the change(s) made in your PR -->
### Checks
- [x] Adding quotes?
- [x] 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/contracts/src/schemas/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/contracts/src/schemas/themes.ts`
- [ ] Add theme to `frontend/src/ts/constants/themes.ts`
- [ ] Add theme css file to `frontend/static/themes`
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
- [ ] Add layout to `packages/contracts/src/schemas/layouts.ts`
- [ ] Add layout json file to `frontend/static/layouts`
- [ ] 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.-->
Closes #
<!-- 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! :) -->
### Description
<!-- Please describe the change(s) made in your PR -->
- added woff2 font file
- updated `frontend/static/{fonts/_list.json,styles/fonts.scss}` files
- tested locally, the font looks as such:

### 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?
- Make sure to follow the [languages
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md)
- [ ] Add language to `packages/contracts/src/schemas/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/contracts/src/schemas/themes.ts`
- [ ] Add theme to `frontend/src/ts/constants/themes.ts`
- [ ] Add theme css file to `frontend/static/themes`
- Also please add a screenshot of the theme, it would be extra awesome
if you do so!
- [ ] Adding a layout?
- [ ] Make sure to follow the [layouts
documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md)
- [ ] Add layout to `packages/contracts/src/schemas/layouts.ts`
- [ ] Add layout json file to `frontend/static/layouts`
- [ ] 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! :) -->
### Description
Previously, if you shift clicked on the `copy screenshot` button, you
could download a screenshot. But many users probably don't know about
this because it's not mentioned anywhere on the result page and there
are no visual indicators hinting at there being such a feature.
So I added a "(shift click to download)" message to the `aria-label` of
the `#saveScreenshot` button. I also added the ability for the icon
inside the button to switch to `fa-download` when shift is held as a
visual indicator that clicking the button would download a screenshot.
---------
Co-authored-by: Miodec <jack@monkeytype.com>
### Description
#### Issue:
* It was possible to add duplicate languages to Polyglot mode or
duplicate layouts to Layoutfluid mode via the command line
#### fix:
* Prevent duplicate entries in Polyglot and Layoutfluid configs by
deduplicating values before saving, ensuring unique values regardless of
input source.