* wip
* wip frontend
* cleanup
* wip
* refactoring
* wip
* first working version
* wip
* update calendar with new result
* add migration script
* dates are hard
* fix naming inconsistencies
* requested changes on migration
* timezones
* update date-fns, use date-fns/utc
* resolve cyclic dependency by extracting test activity calender into new file
* cleanup
* fix increment
* fix
* tests
* test coverage
* test migration
* migration more logging
* migration add unique index on uid if missing
* update legend styling
* 53 columns
* wip
* move dropdown and legend to the top
add dropdown border
yeet hotpink
invisible filler boxes
remove year from month format
* responsive update
* lowercase months
* handle current year, fix tests
* handle year change
* make days square again
* handle newly created users correctly
* move css
* add wrapper for easier styling
rework some font sizes/widths
reorder styles
* media queries
* align
* rework styling once more
* dont commit debug
* add days full to fill the space a bit
* show partial months
* hover on 0 tests
* start dynamic calendar on sunday
* no activity
* hover
* remove label on fillers
* remove label on fillers
* fix months, update tests for months
* adjust tests to new requirements
* cleanup
* fix migration
* impr(commandline): add "add/remove quote to favorites" commands
closes#5368
* chore: remove daily lb which is no longer in the backend
* fix: dropdown element flashing for couple frames on page load
* feat(language): add japanese romaji 1k (nthngnssmnnglss)
* fix: optional chaining
!nuf
* fix(words generator): infinite custom text tests not working correctly
* chore: missing languages in list and group files
* fix(language): remove duplicates
!nuf
* add readline sync to confirm
* gh action complaints
* unnecessary check
* premium only
* add years to drop down only if premium
* Update setup-tests.ts
* test fix
* cleanup
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* 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>
* 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>
* 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
* further shared improvements
- moved more types to shared
- reworked the way results are typed
THIS COULD CHANGE LOGIC, TEST THIS
* removed comment
* update the way completed event is built on the client
* remove unnecessary property
* comment
* move hash check higher
* remove todo
* fix incorrect type
* updated type
remove field if undefined