* Apply debounce on restart test focus state
* Replace sleep and ignore modifier keys for test autofocus
* Update autofocus warning text
Co-authored-by: Andrew Chang <achang3@atlassian.com>
* Save speed stats in leaderboard update
Saves a histogram data structure of speeds for buckets rounded to the nearest 10.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* API endpoint to get public speed stats
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add APE class for public stats (WIP)
I created an APE class for accessing public stats. Also stubbed getting and showing the public speed stats on the about page. Haven't implemented the histogram yet though.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Draw histogram for global speed stats
On about page
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Update histogram colors on theme change
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Fixed out-of-order data in speed histogram
Data was not sorted correctly, which resulted in an incorrect histogram being drawn.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Public speed stats PR fixes
Small fixes based on PR feedback:
- changed _req to req
- removed unnecessary client version header
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add endpoint for typing stats
New endpoint to retrieve the public typing stats such as global count of tests completed.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Renamed public-stats to public
Except in cases where it would cause an identifier named `public` as this is forbidden in strict mode.
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add stats section to about page
In this commit:
- add a section above about called stats
- display typing stats in three columns
- underneath show the histogram of speeds on english time 60
- make chart responsive
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* Add unit test for Public DAL
Signed-off-by: Brian Evans <ebrian101@gmail.com>
* updated styling
* only requesting data once per session
* going one column on narrow screens
* added option to specify number of decimal poitns
* just showing million instead of abbreviating
updated structure
updated styling
Signed-off-by: Brian Evans <ebrian101@gmail.com>
Co-authored-by: Miodec <jack@monkeytype.com>
* Create state for storing custom text name
* Save custom text name on click
* Add todo
* add some utility functions to custom-text.ts
* Set custom text name to empty upon modification
* now update the custom text progress in localStorage
* rework logic for updating progress in test-logic.ts
* more logic changes
* Keep progress in mind when starting next test after bailout
* reset test once they complete it and minor refactor
* Now set custom text progress to 0 when it is modified
* Add UI for continuing and change var name
* Reset progress if they start it again
* Move functions
* remove debug log
* replaced simple popup with custom popup
* fixed media query
* also setting opacity to 1
* saving long custom text into a separate object
* fixed incorrect saving function
fixed get custom text names function
* setting to empty object structure first
* long list style fix
* showing long texts
handling delete and progress reset
* renamed file
tracking if custom text is long
* unnecessary comment
* showing a warning that editing will disable progress tracking
* checking if text is long
updating progress
* added notifications
* setting custom text
* showing if progress tracking is working
* showing if progress tracking was disabled
* longer notification
* corrected button text
* joining with space
* checking if name is taken
added indicator
Co-authored-by: Miodec <jack@monkeytype.com>