* 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>
* Purge from dailies
* Fix
* Migrate logic to lua script
* added test to pass coverage
* typo
* also purging user from daily lbs on personal bests clear
Co-authored-by: Miodec <jack@monkeytype.com>
* Replace Profile URL to use username
* Remove Auth import
* using replace state to fix back button not working
Co-authored-by: Miodec <jack@monkeytype.com>
* handling query param
getting user by name if query param is present
* added function to get user by name
* split profile function to get user by uid or name
* added function to check if get parameter exists in url
* updating the profile based on the url parameter
* using query param in url
* using get param
* renamed param name
adding search param to pathname in the deafult parameter value
* renamed param
* renamed param
added query validation
* extracted repeated query to a function
* missing await
* fixed typo
fixed validation
* using em for dynamic font sizes
* using em for dynamic font sizes
* added line height
* using em
* using em
* using page profile search instead
* updated the way data is passed into the page
* profile search page
* setting line height
* removed vertical align
* moved navigate to an event to avoid circular deps
* fixed route controller not being included
* removed unnecessary test
* showing 404 error
* improved query checking
* renamed query param
* fixed test
* note
* yeet
* cleaner type definition