Commit graph

54 commits

Author SHA1 Message Date
Miodec
c4bd171f1a replaced manual background filters save with automatic
closes #3253
2022-06-28 13:02:44 +02:00
Miodec
05c03936fe clicking mail on the about page opens contact popup 2022-06-27 15:12:15 +02:00
Miodec
1855578925 updated more links 2022-06-27 15:09:27 +02:00
Miodec
47bae76e1c updated hrefs for consistency 2022-06-27 15:07:46 +02:00
Çağatay Yiğit Şahin
a744a03073
fix the links in the footer for profile pages (#3249) 2022-06-27 15:06:24 +02:00
Evan
104786363f
use camelCase instead of dash separation (#3239) Ferotiq 2022-06-27 11:57:35 +02:00
smunky
8a6aecb127
rework captcha (#3224) devkennyy rizwanmustafa miodec
* rework captcha

* resolve conversations

* load captcha when needed

* Fix errors

* Create captchacontroller

* Fix errors

* using captcha controller in quote submit

* removed prettier ignore

* updated report quote popup

Co-authored-by: Rizwan Mustafa <rizwanmustafa0000@gmail.com>
Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-06-25 21:06:10 +02:00
Miodec
63bf85ac1c fixed first tab on results page focusing sign in instead of the restart button 2022-06-25 16:39:16 +02:00
Miodec
31cfeef2a9 removed leaderboards route for now 2022-06-25 12:31:31 +02:00
Jack
6499cedc28
Reworked route controller (#3220) miodec
* rewrote route controller

* showing loading by default

* links which are not external need data line attribute

* need to rewrite this

* page controller takes a page as parameter
removed page type

* default export

* going through the route controller instead of changing page directly

* resolving all code paths

* using navigate

* added 404, leaderboards route

* changed leaderboards button to a link

* removed click handler

* added page about route

* removed default export,
added settings page route

* removing pointer events from everything inside links

* navigating to account when on login page

* fixed console logs, using async

* added login and account pages

* moved code to their own functions

* allowing async functions

* defaulting content visible

* async

* fixed 404 not navigating correctly

* setting public path to root

* fixed paths

* using uid passed in through url params

* added 404 page, profile routes

* removed comment

* moved discord link flow to url handler

* allowing html

* not resetting state

* removed function

* handling logo click

* removed comments

* reomoved comments

* removed comments

* removed comments

* using new router

* basic 404 page

* buttons whicha are links have no underline

* correctly handling the take me back button

* updated button

* removed comments

* fixed account page profile link button

* updated 404

* removed comments

* removed comments

* removed comments
2022-06-24 22:12:52 +02:00
Jack
66074c8314
Inventory badge selection (#3210) bruception miodec
* Fixed badges not showing on all time leaderboards

* updated types to support inventory and single badge id

* Add badge selection

* Fix bug

* Remove unnecessary prefill

* using new inventory system

* added no balloon option

* updated text color

* not showing balloon

* updated styling for showing badges selection

* Add badge selection

Co-authored-by: Bruception <bberr022@fiu.edu>
2022-06-23 18:00:53 +02:00
Jack
d26d7d0555
Converted badges to inventory (#3209)
* added inventory type

* new badges

* fixed badges not showing on all time leaderboards

* sending the selected badge id to daily lb

* returning inventory in profiles

* updated types to support inventory and single badge id

* fixed all badges not showing on profile page

* removed await

* smol refactor
2022-06-23 15:47:15 +02:00
Miodec
d8a246c8f0 showing all badges on profile 2022-06-23 00:33:12 +02:00
Miodec
de37ca7cbe added note about avatars to the edit profile popup 2022-06-22 15:12:50 +02:00
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