Commit graph

40 commits

Author SHA1 Message Date
smunky 3e614d3984
replaced edit with save (#3191) 2022-06-21 19:25:28 -04:00
Bruce Berrios db9dcafc25
Add User Profiles (#3174)
* 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>
2022-06-21 12:01:55 +02:00
kenny bb31d75c4b
removed swapEscAndTab, replaced quickTab with quickRestart (#3139) devkennyy
* 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>
2022-06-16 23:57:34 +02:00
Miodec 3da4eb45c0 added pace caret: last closes #3113 2022-06-15 19:35:01 +02:00
Malo Hamon f02649ae9f
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>
2022-06-15 14:47:52 +02:00
Bruce Berrios 0f7a25422a
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>
2022-06-15 01:30:46 +02:00
Bruce Berrios 603455d6eb
Add logic to handle fetching previous daily leaderboards (#3087)
* Add logic to handle fetching previous daily leaderboards

* Add basic select controls for time range

* Fix issue

* updated styling

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-09 21:04:10 +02:00
Miodec af3e3274b0 added badge controller
added bades to leaderboards
updated media queries to accomodate badges
2022-06-08 02:02:14 +02:00
Bruce Berrios 4dc6f1e791
Update discord avatar (#3068)
* Update avatar

* Remove linking notification

* fixed spacing

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-03 19:42:00 +02:00
Miodec 398d4eb63c showing discord avatar in menu if avatar hash is saved in the db 2022-06-03 17:46:04 +02:00
Bruce Berrios 0ef52ed9da
Add daily leaderboards (#3023) bruception
* Setup daily leaderboards backend (#2987) bruception

* Setup daily leaderboards backend

* Add enabled checks

* Consistent naming

* Add initial unit tests

* Use more flexible daily leaderboard rule logic

* Fix seed rule

* Add LRU Cache + Rank Calculation

* Use native functions

* Optional daily leaderboard rank

* Proper status code for invalid lb mode

* Add result criteria check

* Make daily leaderboard cache size configurable

* Add Ape endpoint for daily leaderboard (#2997)

* support for switching to viewing daily lbs

* test

* buttons

* only checking daily if user has more than 2 hours typed

* updated structure

* setting rank if its undefined

* only when daily

* storing uid

* fixed media queries

* Daily leaderboards pagination (#3006)

* Pagination

* Remove with scores

* Add daily leaderboard rank (#3014) Bruception

* Add daily leaderboard rank

* Remove unused import

* Use object instead

* Add client logic

* Add limit checks

* Announce top daily leaderboard results (#3017)

* Add rank in daily leaderboard results (#3022)

* not showing lb memory and top % on daily

* Fix rank pagination

* Actual fix

* showing new rank

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-05-26 16:30:11 +02:00
Miodec c12579eb4a removed wrapper 2022-05-24 16:06:16 +02:00
Miodec 784e49bfa8 automatically wrapping input in wrapper
changing padding when indicator is visible
2022-05-24 16:05:32 +02:00
Rizwan Mustafa d7812d1b1b
Disable signup button by default and enable only on all correct checks (#3020) rizwanmustafa
* Disable signup button by default and enable only on all correct checks

* Refactor code

* remove debug log

* null when hidden

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-05-24 15:29:22 +02:00
Rizwan Mustafa 9c5652113c
Add checks for password and email on signup and add field indicators for them (#3011) rizwanmustafa
* Add password length and strength check

* Change regex

* Add indicator

* Fix bug

* Revert autocomplete change

* Add indicator for verify password

* Add indicator for emails

* Reorder code

* Remove indicators when fields are empty

* Show notification when email invalid on signup
2022-05-23 23:48:09 +02:00
Miodec 48fffe1b99 created input indicator class to be used in many places 2022-05-23 22:04:06 +02:00
Miodec 521a1f94eb removed das banner, added das to support links 2022-05-10 20:02:38 +02:00
Bruce Berrios 9026893571
Add favorite quotes mode (#2945) bruception
* Add favorite quotes mode

* Remove unnecessary repeated fn call

* resetting quote length to -1 when no favorites found

* fixed quote favoriting broken

* starting hidden

* showing/hiding button depending on login state

* added command to commandline

* removed comment

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-05-08 11:58:58 +02:00
Miodec 4fda636a08 added auto name check to the register page 2022-05-04 01:04:04 +02:00
Rizwan Mustafa 0dac742efb
Update some document links (#2919)
* Update some document links

* Updated repo link
2022-05-03 13:44:39 +02:00
Miodec 2b1bfcd0b7 fixed spacing 2022-04-29 22:58:02 +02:00
Miodec 9ebf824e7a added section about advertisers 2022-04-27 20:47:51 +02:00
MyBeansAreBaked 35f63c3973
Defaults analytics to be unchecked (#2891)
To conform with GDPR, tracking MUST be opt-in, and disabled by default.
2022-04-27 16:59:59 +02:00
Tobias Kendlbacher 6ec8645b8c
Fix a typo (#2887)
In settings: changed 'conset' to 'consent'
2022-04-27 07:46:53 -05:00
Miodec 374251bc39 showing requested styles and client version on no css warning 2022-04-26 15:03:09 +02:00
Miodec 96f64039e7 added more classes that should be picked up by cookie popup blocking extensions 2022-04-26 14:43:54 +02:00
Miodec 0f347e9100 added hidden message about cookie popup blocking extensions 2022-04-26 14:21:10 +02:00
Miodec a585adae24 added cookie popup 2022-04-25 16:11:24 +02:00
Jack 4d365802a1
Added popup to share test settings through url (#2870)
* added package for compressing strings

* added popup to share test settings

* added function to parse test settings from url

* returning if no settings were applied

* removed pointless try catches

* added type for shared setings instead of casting

* small refactor

* unnecessary ??
2022-04-24 17:05:04 +02:00
Jack 9ca477da54
Added tape mode (#2862)
* added config param for tape mode

* added settings section

* added commands

* moving caret to the correct place with tape mode is active

* only jumping line when not using tape mode

* prettier

* scrolling tape

* restarting test when tape mode changed

* showing one line when tape mode is active

* added function for scrolling words horizontally

* scrolling tape when layout emulator is enabled

* removed left margin when tape is active

* disable tape for some challenges

* fixed incorrect caret position when going back to a previous word

* ignoring no-this-alias

* fixed lines scrolling to often when tape mode was disabled

* storing caret width in a variable

* not allowing tape mode and show all lines together

* removed unnecessary comment
2022-04-24 17:04:46 +02:00
Jack b60e6905ce
Made username non optional (#2859)
* reduced code repetition

* throwing error when no name provided

* stopping signout if no current user

* expanded to 16 chars

* moved code to popup file

* added google sign up popup

* checking if name is available in the backend

* deleting account if popup was closed
uncommented sign up process
addd functions to enable and disable input

* added google sign up event to avoid circular dependency

* hiding by default

* name is no longer optional
user is deleted if its database object is not found

* using loader to indicate background activity
2022-04-23 19:46:41 +02:00
Miodec d61e5ea641 using margin instead 2022-04-21 12:52:33 +02:00
Miodec 6464ebe141 test 2022-04-21 12:34:33 +02:00
Miodec 2af2369c0d fixed spacing on the about page 2022-04-21 12:33:12 +02:00
Rizwan Mustafa 4ddeae41b0
(Frontend) Ability to make Quotes Favorite (#2830) rizwanmustafa
* Added button to make quote favorite at the end of result

* Added button to make quote favorite in quote search results

* Fixed bug where icon did not update

* removed debug log

* Fixed bug due to optional data

* Added functionality to show favorite quotes only

* Fixed typo

* Fixed styling bug

* Moved routes over to user

* Renamed routes

* fixed style

* reordered buttons

* smaller favorite button

* showing loader

* using max content instead

* hiding button when not logged in

* showing loader

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-04-15 12:27:30 +02:00
Miodec 83114dfcd7 removed unnecessary stylesheet link 2022-04-08 22:25:41 +02:00
Jack ca00a53317
Added sub alt color, fixed various styling inconsistencies (#2804)
* replaced rgba with sub-alt

* changed color name

* reworked button styles, removed icon-button

* renamed color

* grid

* no text decoration

* renamed all icon buttons to text buttons

* using text-button

* fixed discord section

* using button class instead of redeclaring styles

* updated scroll styling

* more consistent scroll to top styling

* dot not in link

* fixed dot spacing

* actually fixed dot (stupid prettier)

* signout closer to the edge

* using text-button class

* updated button text for consistency

* lowercase

* moved show average section down

* fixed icon not being fixed width

* updated focus and hover button styling

* footer using text-button class

* fixed spacing
added new lines

* making sure custom themes work with sub alt

* updated validation

* reordered colors

* added sub alt colors to all themes

* updated alt sub colors

* temp

* updated sub alt colors

* updated sub alt

* fixed merge

* fixed merge

* merge fix

* moved section down

* lowercase

* merge fix

* consistent wording

* merge fix

* fixed merge

* removed test notifications

* removed balloon

* adjusted subalt

* removed debug code

* removed unused code

* removed some unused/old code

* fixed dot spacing
2022-04-07 22:04:43 +02:00
Miodec fe77999eaa disabling grammarly for wordsinput 2022-04-07 01:21:54 +02:00
Miodec e01c5fb221 added buttons that will be uncommented when ready 2022-04-06 01:33:19 +02:00
Jack 2f29f7b834
Using html templating to split html into smaller files (#2793)
* split html into smaller files

* added remove plugin to remove leftover split html files from the public directory

* fixed merge
2022-04-03 16:40:41 +02:00