* add sturdy ortho keyboard layout
* remove random extra double quote
oops lmao
* move sturdy ortho to be with the rest of the sturdy family
* add one quote to english
* use the full title of the book
* added 'breeze' theme
* added -example firebase config back in
* added 2077 theme
* made 2077 theme background less bright.
* made 2077 theme better
* added breeze theme
* softer sub alt color
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* added button to opt out of leaderboards
* also not allowing daily leaderboards
* also not allowing weekly lb
* added lb opt out notice on the leaderboards
* updated message
* resetting lboptout state on account reset
* feat: support ctrl-n/p/j/k in command line
This allows for both emacs and vim style navigation, which is muscle
memory for a lot of people but currently unsupported in the main list
view people use.
Supporting both feels a lot more natural, and makes navigation easier
for people that either don't have arrow keys at all or on their main
layer
* fix comment
* flip conditions to check ctrl first
This is more likely to short circuit faster because ctrl isn't the
common case
* Create traditional_chinese.json
* Add Traditional Chinese
Add Traditional Chinese text
* Wrong name, upload again
Wrong name, upload again
* Update traditional_chinese.json
* Rename traditional_chinese.json to chinese_traditional.json
* Add word filter presets
* updated structure and styling
* updated button classes and click handlers
* removed timeouts to fix annoying jumping
* typescript fixes
* renamed function
* converted file to using single object that defines presets
* using spread
* added right hand preset
using spread
added key position B to the right hand preset
* removed line
* changed text
* Finish rewriting presets in new format
* added home keys filter preset
* removed comment
* Fix home keys preset
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* Renamed command line setting timer-progress bar
* Make account config input an `input` so it takes up less space
* Revert "Make account config input an `input` so it takes up less space"
* Better wording
---------
Co-authored-by: Aaron <79121360+hazyboba@users.noreply.github.com>
* added nodemailer and mjml
* added email template
* basic email util file
* added email queue
* email worker
* renamed folder
* showing which queues and workers were initialized
* initializing email on server boot
added some test code
* renamed to email worker
* type fix
* renamed queue
* added queue to list
* added worker to list
* logging when config was verified
* handling send mail result
* not minifying (not supported anymore)
using .html property
returning correct value
* dont send me emails
* added port to .env
* updated example
* updated test email
* using env email
* parseint base
* message
* refactor
* message
* rename
* moved email templates
* using async file read
* typo
* using mustache
* moved file
renamed to email client
* logging with prometheus
* added social links
* line
* using stronger types (object instead of array of any[])
moved prometheus logging into email client
added function to send mail using a template
* fixed templates not working
* removed console log
* name change
* rename
* moved templates
* rename
* string interpolation
* string interpolation
* moved to dev dependencies, exact versions
* moved types
* removed function, remove unnecessary if
* update template params
* updated name
* fixed button not clickable
* throwing
* moved template metadata to one place
* rename
* sending email on account creation
* removed test code
removed await
* fixed button
* not stopping the server if email client validation failed
* added metric for queue lengths
* exposing getjobcounts
* added job to log queue lengths
* added endpoint to request verification email
* using send verification email that calls api instead of firebase built in
* updated route
* renamed function
* recording time to complete
* returning 400 if email already verified
* setting transport initialized to true earlier, setting it to false if caught error
* moved forgot password flow to a simple popup, added new endpoint to ape
* added forgotpasswordemail route
* added email tempalte
* setting transport to false if caught error
* added email queue function
* moved try higher
* fixed log