fixed by calling beforelist when generating the single list
this also means the list needs to be generated every time the commandline is opened
because of that, list caching has been moved to the commandline module
* impr: add selfhosting using docker only
* add recaptcha config and docs
* add documentation on the backend-configuration.json file, remove ---redacted--- from example config
---------
Co-authored-by: Jack <jack@monkeytype.com>
* impr: replace JSONSchema with ajv for faster validation
* Remove JSONSchema from packages
* Add ajv in dev-dependencies
* move dep to frontend
* Fix validation schema for different languages and error messages
* fix double space
* different way of showing errors
* por que no los dos
* return on failed schema
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* initial rewrite
* remove title
* remove from dom on hide
* actual command dom
show active
keep active in view
update active index on keypress
* global event only shows commandline
* impr(dev): showing notifications with unhandled errors
* rename functions
* handle hover functions
handle nesting
handle exec
attaching handlers once
* void promise
* no need for async
* move font preview to ui
* add configkey to command
* add function to build single list
* add mouse mode
clearing preview on hide
add config icon
* using new function
* use fw icon
* fix incorrect type
* extract logic
* add support for input commands
* unused error
* update single list
* chevron icon margin
* only focusing when no popups and words are visible
* extract condition
* better type
* remove no icon
* only showing when nothing is already visible
* commandline lists no longer modify the commandline element
dynamically changing which funbox commnands are available
modified searching approach
showing active settings in single mode again
calling before list if needed
* ignore keydown on page transition
* add other ways to show the commandline
* always clearing previews
* incorrect icon being used
* extract logic
* support quick single list mode by starting input with >
* fix test words not being focused
* showing all if in quick single mode
* remove unused code
* rename entry to command
* remove more unused code
* add data- prefix
* rename to data-command-id
* fix input commands not refocusing words
* fix fontsize change not working as intended
* set active index to 0 when going back
* keeping active command in view
* remove console logs
* fix quick single mode
* move file
* add footer events
* add option for subgroup override
fix issue where commands would get hidden after clearing input field
fixed auto scrolling in mouse mode
* rename commands to lists
* add background after to avoid flashing
* getting config key from active subgroup
* updating active command after removing hidden class but before animating
* fix nasty hover behavior
* updating active before animation showing, keeping active after
* add keymap event
* remove comments
* invert if, use return, combine ifs to reduce nesting
* add test event
* popups events
* fix some commands not showing up on a single list
* use new animated modal
* use regex escaping function from misc
* add singlelistdisplay and singlelistdisplaynoicon properties
* add more navigation aliases
* not adding alias if not needed
* rework command filtering
* fix active icon not working
* add custom hide handlers
* fix active command not being kept in view after showing
* unused imports
* remove commandlinelists imports from other files
* delete old file
* remove unused file
* import commandline dynamically
* fix: if skeleton has wrapper, append before building animated modal
* using new parameters
* save skeleton on ready
* rename folder
* add util to get async modules
* remove empty imports
* remove unnecessary code
* unnecessary void
* catching errors and notifying user
* better error message
* making sure all the lists are fetched before getting the single command list
* add tab navigation
* feat: indicate premium users
* frontend
* Test multiple userFlags, remove later
* cleanup
* fix flag alignment on profile and leaderboards
* fix name auto scaling
* update screenshot watermark
* update header text
* use userFlags for lbOptOut
* use flex end
* removeo unused code, increase margin
---------
Co-authored-by: Miodec <jack@monkeytype.com>
Because of the RegEx, typing a command such as the language "code c" selects the item "code python" because the word "code" is being matched twice. This change makes it so that when an exact match of a `display` field is typed, it is selected (when I type "code c" I expect to be able to just hit enter but it selects "code python").
Co-authored-by: Jack <jack@monkeytype.com>
allow global definition of custom show and hide animations
these can still be overridden at each show/hide call
store global default animation duration
* add animated modal class
* convert one popup to new system
* also grabbing backdrop classes
* rename
* padd modal as parameter
* rename to wrapper
* unnecessary constant
* rename parameter
remove first hashtag if present
* combine types
* rename popup to modal
* reduce options object nesting
* impr: floor accuracy intead of rounding when not showing decimal places
* add method to format accuracy
---------
Co-authored-by: Jack <jack@monkeytype.com>
* Create anti_hero.css
* Update _list.json
* updated colors
* Update anti_hero.css
fix color scheme
* Update _list.json
fix color scheme
* Update anti_hero.css
hopefully the final change to this theme.
* Update _list.json
hopefully the final change to this theme.
* update text color
* Update anti_hero.css
New error color fix
---------
Co-authored-by: Jack <jack@monkeytype.com>
* docs:updated navigation to authentication
* impr: Clearing all the fields on Sign Up page after logged out
* refactor: Replace $.each calls with for loops #5107
* refactor: replace $.each calls with for loops (underscoore) #5112
* fix hover bug
* rename obj
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* Update _list.json
added medicine as a language
* Create medicine.json
* Update medicine.json
* Added words to english_medical
200 words
* Rename medicine.json to english_medical.json
* changed medical to english_medical
* added english_medical to English group
* Update english_medical.json
fixed naming error
* fixed duplicate words in english_medical.json
tried creating pull request, returned an error. fixed errors.
* Update english_medical.json
saving work
* Update english_medical.json
added nearly 500 medical words
* Update english_medical.json
fixed a few duplicates
* Update english_medical.json
fixed some more duplicates
* Update english_medical.json
fixed typo
* Update english_medical.json
fixed duplicates again; added two new words (cerebellum and brain stem)
* Added some more words
more to come
* added more
keeping em coming
* Update english_medical.json
* Update english_medical.json
* Update english_medical.json
* Update english_medical.json
---------
Co-authored-by: Jack <jack@monkeytype.com>
* Update turkish_5k.json
Changed Words:
“mahallesi” to “mahalle”
“sıralarında” to “sıra”
“geçmişi” to “geçmiş”
“standı” to “stand “
“tahminler” to “tahmin”
“dinle” to “dinlemek”
“kısaltmalar” to “kısaltma”
“aminoasit” to “amino asit”
“geldi” to “gelmek”
“fotojeni” to fotojenik”
“jonglör” deleted because it was not included in the Turkish Dictionary.
“numarası” to “numara”
“onanması” to “onanma“
“prospektüsü” to “prospektüs”
“molekülü” to “moleküllü”
“düştü” to“düşmek”
“işareti” to “işaret”
“toplamı” to “toplam”
“vardır” to “var”
“süblimasyon” to “süblimleşme”
“aralığı” to “aralık”
“yakalandı” to “yakalanmak”
“kyanit” deleted because it was not included in the Turkish Dictionary.
* Update turkish_5k.json
* Update turkish_5k.json
* move user to shared definitions
this includes whatever user can have on it, tags, presets and so on
* profiles, mail and others
* fix logic
* yeet
* same as master for now
* tsc fixes
* remove comment
* fix tests
* chore: omit ips
* fix(language): remove some unnecessarily capitalised words in german 1k
* fix(typing): first space sometimes soft locking the website
* perf: speed up settings page loading
* fix: use selected typing speed unit on personal best popup (fehmer) (#5070)
* fix: Use selected typing speed unit on personal best popup
* refactor
* refactor
* test coverage
* use Format in more places
* Make config mockable
* dependency injection
* wip
* fix
* test
* touch
* fix(language): typos in russian_10k.json (kae) (#5082)
* Update russian_10k.json
- fixed typos
- removed duplicates
* - fixed extra typos
* remove duplicates
* fix(language): typos in russian_10k.json
* feat: add copy missed words to result screen (fehmer) (#5086)
* feat: Add copy missed words to result screen
* remove margin
* update icons
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* impr(funbox): add 46 group languages to wikipedia funbox (RealCyGuy) (#5078)
* impr: provide all-time LB results during LB update (fehmer) (#5074)
Try to provide LB results during the LB update. There is a very small time-frame where
already running queries might fail during the update. For now we keep the 503 error in this
cases and monitor how often this happens on production.
* impr(funbox): add ` (grave accent, 96) and ~ (tilde, 126) to specials (#5073)
* impr: add testWords and wordsHistory to copy result stats (#5085)
* feat: add testWords and wordsHistory to copy result stats
* fix
* add fe ts dep
---------
Co-authored-by: Christian Fehmer <fehmer@users.noreply.github.com>
Co-authored-by: Andrey Kuznetsov <akuznetsov@outlook.com>
Co-authored-by: Cyrus Yip <cyruscmyip1@gmail.com>
Co-authored-by: fitzsim <fitzsim@fitzsim.org>
* fix: Use selected typing speed unit on personal best popup
* refactor
* refactor
* test coverage
* use Format in more places
* Make config mockable
* dependency injection
* wip
* fix
* test
* touch
* i cant figure this oooout
* fix: closing commandline causing settings page update
* remove log
* fix event looping issues
rerendering selects when updating settings
* remove comment
* move section back to where it should be
* update styling
* move redrawing to settings group
* no need to save to a variable
* types
* fix styles
* search placeholder
* fix structure
* fix styles
* using slim for the rest of selects
* disabled styling
* use slim
* styling
* use slim
* multi select styling
* use slim
* use slim
* use slim
* use slim
* remove everything else related to select2
* last select2 mention
* comment
* fix(settings page): font family buttons not working
* fix: input indicators remaining visible after leaving the login page (underscoore) (#5062)
* chore: update node version to 18.19.1 (#5060)
* impr(quote): add Code C quotes (penguin-teal) (#5053)
* fix: question mark appearing next to unrated quotes
* removed unnecessary link
---------
Co-authored-by: Ajay kumar <ajaykumar.bit.1995@gmail.com>
Co-authored-by: Christian Fehmer <fehmer@users.noreply.github.com>
Co-authored-by: penguin-teal <130006737+penguin-teal@users.noreply.github.com>
* fix: error on leaderboard when no user is present
* refactor simple popups
* popups, commandline
* fixes?
* more
* more
* review comments
---------
Co-authored-by: Jack <jack@monkeytype.com>
* update function name
* update function name
* using data properties instead of classes
* using data property
* regex goes brrrrrrr
* button not .button
* fix sliders loading incorrectly and numbers missing
* regex missed this one
* and this one
* using button instead of .button
* use button element
* regex goes brrr once morrrrrr
* remove testing code
* Create code_r.json
Created initial quote file for R code and added two quotes for tidyverse functions.
* Formatting text in code_r.json
Fixed formatting to allow for new lines. Was unaware of how this worked before consulting the python quotes.
* Added quotes to code_r.json
Added two additional quotes to ensure that there is at least one in every size group.
* Fixed code_r.json
* Fixed quote lengths.
Fixed the quote lengths for ID1 and ID2. I'm unclear and which shema ares are invalid, will investigate further.
* build: include all shared types files instead of just one
* move config property value types to a shared file
* backend build issues
* shared preset and config types
preset and config ape types
* typo
* ignoring unused warnings
* fixed merge
* Add files via upload
* feat: add support for fist fight and plastic toy sounds
* feat: add support for fist fight and plastic toy sounds
* chore: remove extra semicolon
* feat: less busy punch sound
* feat: add punch misses as error sound
* fix: update punch sounds and make them less aggresive
* fix: Change name of plastic toy to rubber keys
---------
Co-authored-by: arthur-d42 <64164367+arthur-d42@users.noreply.github.com>
Co-authored-by: arthur-d42 <arthurdiness@gmail.com>