* feat: Unlimited history for premium users UI
* disable button while loading, show spinner
* optional chaining
* add isPremium to /users, remove check from frontend
* add /results max batch size to configuration
* result batching ui v1
* rename variables, update button based on state, update text
* Return allowed results in /results if limit is partly overshooting the max limit
* use br instead of margin
* let result batches code handle button disabling
* hide title
* limit max width
* hide section when below batch size
* update limit color based on the % of limit used
* bring back loaded bar
* remove unused css
* fix alignemtn
* remove text for now
* add result getting log
* always hiding for non premium users for now
* Add server configuration users.premium.enabled, throw error on /results if premium user exceeds regular limit and premium is globally disabled
* Disable premium feature globally by default
* cleanup open todos
* Don't use premium user max limit on /results if premium feature is disabled on server
* fix merge issue
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* wip: More results and filters for premium users
* use offset+limit instead of beforeTimestamp, add configuration for max results for regular/premium users
* add isPremium to /users response
* cleanup
* review comments
* review comments
* update base config
* update premium data type
* add undefined check
* interface name
* add start timestamp
* refactor
* move function to util, rename params, use isFinite
* merge fix
* fixed tests
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* sharing is caring?
* replace 5 year old package with a more modern one
* ignore firebase config
* update import/resolver settings so that we no longer have to ignore @backend imports
---------
Co-authored-by: Miodec <jack@monkeytype.com>
This partially reverts 923f69ab55.
This is because we sometimes still need the decoded token in public endpoints.
If an endpoint doesnt accept ape keys BUT its public, we dont return a 401 error.
* impr: detect development mode based on config instead of window.location
* Allow access to /configure on the backend using non-local ip
* Use webpack define plugin
* take BACKEND_URL from env
* Add files via upload
* Delete frontend/static/sound/error/triangle.wav
* Delete frontend/static/sound/error/damage.wav
* modified error sound code to support multiple sound options and added two error sound alternatives
* added compatability for previous users of the error sound, converts legacy true/false config values to 1 or off
* fixed opiton names and values in commandline
* fix: auto switch theme behavior & footer theme indicator (#4677)
* fix: auto switch theme behavior & footer indicator
Changing manually to a preset or custom theme now
turns auto switch theme mode off with a notification.
And now the auto switch mode does override the custom
theme as well (statement in settings also updated) if it
is the later one set.
Fixes#4659, that is the footer theme is now correctly
displayed with auto switch themes as well.
* removed unnecessary function
---------
Co-authored-by: Miodec <jack@monkeytype.com>
* fixed off config value
* moved compatibilty code to replaceLegacyValues
---------
Co-authored-by: Sanidhya Singh <sanidhyas3s@gmail.com>
Co-authored-by: Miodec <jack@monkeytype.com>