* profile
* rounded table corners
* rounded leaderboards corners
* wider page by default
* v3
* font changes
* new pbtables
* blank by default
* showing pb popup
* removed some quotes
* rounding displayed acc
* removed created date (will be shown in profile)
* added profile module that fills the profile element
* updating font size in the middle of the swap to make the change not noticeable
* lowered max font size
* showing if user is banned,
not displaying most details if user is banned
* pbs not selectable
* renamed global stats to time typing
* completed previous commit
* changed function parameters
* only hiding when social is missing
* smaller badge
* aligning quick results
spanning time if wide
* larger badge
* fixed function parameters
* moved to root
* media queries
* Add user profile API (#3123) bruception
* Add flattenObjectDeep
* Add user profile API
* Bump coverage
* Add user profile configuration and rate limits
* Rename profile -> profileDetails
* Simplify
* Filter personal bests
* Handle banned users
* Add banned user test
* new profile layout system
"none" layout finished
* better "none" layout
* "socials" layout
* larger gap
* bioandkey layout done
* "both" layout finished
* final touches
* Add profile editing (#3135)
* Add profile editing
* lowered font size
increased right padding
* updated configuration schema
* moved discord integration to users object in configuration
* added warning comment
* rendering new lines
* edit popup styling
* Sanitize ZAlgo text
* Use trim
* Replace more than 2 spaces with two spaces
* Trim first
* Add profanity detection
* Ass
* Removed some profanities
* Update profanity detection
Co-authored-by: Miodec <bartnikjack@gmail.com>
* Add profile routing (#3143) bruception miodec
* Add profile routing
* removed check (also fixes circular deps)
* change page in special cases
* Hydrate profiles
* Link leaderboards to profiles
* Add failed to load div
* Dont refresh page
* always calling middle callback
* moved profile css into its own file
* fixed one media query
* added preloader, changed default layout
* added reset function
changed function name
updating profile before the page is shown, not after
* resetting after the page is hidden and before its updated
* Fix logic to not delete user if DB goes down (#3171)
* Dont route to account if uid equals current user uid
* temporairly allowing quicktab
* added copy link button
* only increasing padding on the account page
* set max height
* handling copy link button
* only showing avatar if it exists
* 1000 instead of 100
* removing placeholder if image request was successful
Co-authored-by: Miodec <bartnikjack@gmail.com>
* Fix quote length field
Co-authored-by: Miodec <bartnikjack@gmail.com>
* checking if mode is dev when adding to daily lb
* disabled time typing check on dev when recalculating leaderboards
* not replacing footer on localhost
* using ternary
* modified logic
* Add leaderboard language selection (#3124) bruception
* Adds leaderboard language selection
* Update mesage
* fixed disabled select2 styling
* changed button positioning
* fixed media queries
* Add languages
Co-authored-by: Miodec <bartnikjack@gmail.com>
* remove references of swapEscToTab
* Custom Filters [FrontEnd] (#3106) nocommentcode
* Add Create and Delete functions for Filter Presets to `Users` ape endpoint
- deleteFilterPreset
- addFilterPreset
* Added name and _id fields to the `ResultFilter` interface in the front end
This matches the `ResultFilter` interface in the backend
Added the new fields for the default filter
Added checks in result-filter.ts to not update the ui based on these fields
* Added new-filter-preset-popup
This popup is displayed when creating a new filter preset
It allows the user to select a name.
* Added Filter Preset Buttons in account page html
- Added the Filter Preset button
- Added the filter preset region
- Added the new and delete buttons
* Added Filter Presets to DB Snapshot
* Implemented Custom Fileter Creation, Selection and Deletion flow
- Users can now create a custom filter based on the current settings
- Users will be prompted to select a name for the filter
- User can click on any custom filter and the current filter will be updated
- User can delete a custom filter while it is selected
* Implemented Filter Preset Creation, Selection and Deletion flow
- Users can now create a filter preset based on the current settings
- Users will be prompted to select a name for the filter
- User can click on any filter preset and the current filter will be updated
- User can delete a filter preset while it is selected
* adjusted styling
* removed margin
* removed icon
* added media query
* popup wording
* automatically replacing _ when displaying and creating preset
* using loader and notifications
* fixed bork
* fixed sometimes not being able to delete preset
* make preset popup look like tags popup
Co-authored-by: Miodec <bartnikjack@gmail.com>
* added pace caret: last closes#3113
* Add rate limits to forgot password (#3129) mehdidev
* Added New Quotes
* Add More Quotes
* Add rate limit to forgot password
* Use Prettier
* Change canCall to let so that lint doesn't flag me for the 69th time
* change forgotPassword() to async & remove console.log's
* If this doesn't fix everything idk what to do
* reduced nesting, using function to create error message
* updated notification
Co-authored-by: Miodec <bartnikjack@gmail.com>
* added: code_opencl language (#3132) codybloemhard
* added: code_opencl language;
* fixed: duplicate word in code_opencl;
* fixed: another duplicate in code_opencl;
* Include language in notification (#3134)
* Add 20 more Indonesian quotes, 151-170 (#3136) R0merol
* Added 20 more quotes (151-170)
* Fixed quote length (id: 155, 157)
* using completed events language instead of current config
* add hedge theme (#3137) devkennyy
* create hedge theme
* update _list.json
* fixed sub alt color issues
* update colors
* updated colors
Co-authored-by: Miodec <bartnikjack@gmail.com>
* replaced quickTab with quickRestart
* updated keytips and statements
* update keytips
* moved keytip update to ui module
* not opening command line if quick restart is esc
* calling update keytips when changing quick restart
* handling restarting with quick restart escape
* updated settings page to reflect new quick restart setting
* swapping legacy values
* removed line which caused circular dependencies
* reordered files to fix event not firing
* handling closing with escape before opening
* not doing anything if a modal is visible
Co-authored-by: Bruce Berrios <58147810+Bruception@users.noreply.github.com>
Co-authored-by: Miodec <bartnikjack@gmail.com>
Co-authored-by: Malo Hamon <hamon.malo@gmail.com>
Co-authored-by: Mehdi Hussain <mehdi@mehdi.us>
Co-authored-by: Cody Bloemhard <cblmhrd@live.nl>
Co-authored-by: R0merol <farisfrontiers@gmail.com>
* Added `ResultFilters` to types
Added customFilters field to user
This field is an optional array of `ResultFilters`
It will store a user's custom filters
* Added Add and Remove functions for `ResultFilters` in user DAL
Also added unit tests
* Added Custom Filter configuration
Can now enable/disable the custom filters feature
Can also set a cap on the number of filters per user
* Add and Remove functions for `ResultFilters` in user controller
* Added `ResultFilters` to types
Added customFilters field to user
This field is an optional array of `ResultFilters`
It will store a user's custom filters
* Added Add and Remove functions for `ResultFilters` in user DAL
Also added unit tests
* Added Custom Filter configuration
Can now enable/disable the custom filters feature
Can also set a cap on the number of filters per user
* Add and Remove functions for `ResultFilters` in user controller
* Add server configuration panel
* Remove unnecessaary check
* Remove break
* styling changes
showing when configuration was saved
* changing color based on response
* Remove comment
* Changes
* Add support for arrays
* Arbitrary nesting
* Add array item controls
* added button to quickly open the configuration panel
* removed excessive padding
* text inputs same height and style as checkboxes
* monkey stylng
Co-authored-by: Miodec <bartnikjack@gmail.com>
* added auto ban if user triggers anticheat too much
* updated base configuration
* autoban is optional
* storing updated autoban array
* only checking autoban in time 15 and 60
* miliseconds
* removed unnecessary if check
* returning if already banned
* storing now in variable
greater not greater equal
* moved constant outside function
* using partial type
* renamed variables
* renamed to autoBanTimestamps
* added autoban tests
* increased coverage minimum
* slightly better test
* added autoBanTimestamps checks to other tests