Commit graph

27 commits

Author SHA1 Message Date
Christina Hanson 6b77f81201
feat(funbox): add mode that doubles each letter (LyricLy) (#4771)
* feat: add mode that doubles each letter to funbox

* increase difficulty

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2023-11-09 13:56:37 +00:00
Miodec 89e8fef2b3 feat(funbox): add backwards funbox
closes #4661
2023-09-26 14:36:51 +01:00
Miodec 56b483c1e8 refactor: rename centerContent to contentWrapper 2023-09-23 12:17:49 +01:00
Miodec c76b2f40e8 refactor: use id instead of class 2023-09-23 12:17:49 +01:00
Miodec 4e507f23bd refactor: use main instead of a div 2023-09-20 00:01:35 +01:00
Miodec 724403d361 refactor: use nav instead of a div 2023-09-19 23:53:13 +01:00
Miodec 6610542d5f refactor: use footer instead of a div with an id 2023-09-19 23:51:20 +01:00
Miodec 412d415207 refactor: use header instead of div with id 2023-09-19 23:31:13 +01:00
Christian Fehmer 43de3021a5
fix: crt funbox causing webkit browsers to go into refresh loop (fehmer) (#4557)
* fix: Fixed CRT funbox causes webkit browsers to go into refresh loop #4553

* review comments

* updated message, increased notification duration

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2023-08-21 11:04:15 +02:00
Christian Fehmer 351ce401d4
refactor funbox (#4488) fehmer
* refactor funbox

* remove body classes and funbox css when leaving the page, cleanup

* fixed Funbox.clear removing all body classes
2023-08-08 14:07:58 +02:00
Christian Fehmer b50b473aba
Added crt mode to the funbox (#4465) fahmer
* Added crt mode to the funbox

* remove borders, move screen glow to body, remove lines animation

* removes white flash on test restart, keep crt mode on result page

* cleanup removal of funbox css

* fix white flash when disabling crt mode, fix background

* use actual color for text glow

* fix rendering issue with glow

* adds glow to input, buttons, logo and carets

* prefix new variables with -crt, update themes to fit crt mode

* adds glow to textarea, avatar and fix glow in focus mode

* fix typo in lavender theme

* move crt related stylesheets to separate file, add scanline div on demand

* add applyGlobalCss to keep the theme active on pages outsite the test page

* made sure crt works globally
added a clear global function
calling apply global and clear global when toggling funboxes
delaying globalcss apply because about page for some reason doesnt like funbox css files

* add glow to banner

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2023-07-31 16:32:33 +02:00
joanna 6d88c4f4e3
added morse code to the funbox (#4451) epicjoanna
* added morse code mode to funbox

* actioned changes
2023-07-17 13:41:04 +02:00
Spax 14da1438d9
Implemented an ITG arrow mode to the funbox (#4084) spiritaxolotl
* added arrows ITG to the list

* added the implementation for arrows_ITG

I also updated "arrows" so it supported ijkl as well as the normal arrowkeys and wasd

* the actual implementation of the arrow generation

I forgot to commit this one whoops

* missed a curly bracket whoops

* overwritten the arrows generation

Instead of having two similar funboxes, miodec just said to implement the new generation in the existing arrows funbox.
removed the arrows_ITG now
next commit will remove it from the list as well

* removed arrows_ITG and updated arrows

* removed arrows' old generation method

* updated a mistake

* lint, prettier

* added the TODO comment back

didn't realize I removed it sorry

* remove spaces

* gave the variable names something more descriptive

* remove preivous variables

I hate working remotely

* small refactor

* simplify

* simplify

* remove export

* starts with a left or right

* prettier fix

* removed "export"

the function wasn't getting called outside of the file

* parity for a list description

* fixed that one character that got overwritten

* Revert "fixed that one character that got overwritten"

This reverts commit c8a394dc7b.

---------

Co-authored-by: Miodec <jack@monkeytype.com>
Co-authored-by: Evan <evanrayweigel@outlook.com>
Co-authored-by: Evan <64989416+Ferotiq@users.noreply.github.com>
2023-03-20 12:06:13 +01:00
Rob Sassack 239c43f240
Added plus three funbox (#4076) robsassack 2023-03-16 12:55:36 +01:00
Miodec 6ed5a9422d added zipf funbox 2023-02-21 13:14:36 +01:00
Rob Sassack 3deb2809a1
Added binary mode to funbox (#4005) robsassack
* Added binary mode to funbox

* changed description and added punctionation off for binary funbox
2023-02-19 13:02:45 +01:00
github-actions[bot] a64fbde790
Prettier fix (#3932)
Co-authored-by: monkeytypegeorge <monkeytypegeorge@gmail.com>
2023-01-22 01:19:23 +01:00
Veemyu d2a8b316c6
Add an upside down mode to the Funbox (#3915) Veemyu
* Add Upside Down to Funbox

* Resolve formatting issues

* Re-add missing css
2023-01-16 22:19:58 +01:00
egorguslyan 618c9ec931
Ip (#3784) egorguslyan
* Finishing logic

* Numbers + layoutfluid

* One interface

* Filter results

* tts error on undefined

Extencions like NoScript can partly block scripts on the page.
If speech synthesis is not loaded, notification shows up
without freezing the page

* Improved randomcase

* Prevent dublicates in command line

* Change filter logic

* Prettier

* Convert numbers

* num

* Quote and zen modes

* withWords

* Misc

* Expand funboxes list for pb saving

* Move list to backend

* Move to constants

* Async withWords, checkFunbox tweak

* Prettier

* Forbid nonexistent funboxes

* Disable speech if language is ignored

TtS's init() uses setLanguage()

* canGetPb

* Less circular imports

* Ligatures typo

* Simon says blocks word highlight

* blockWordHighlight backend

* Changed imports

* usesLayout

* JSON schema

* IP funbox

* Split

* Display notification instead of reseting

* canGetPB

* One getWordHtml

* Dividing properties

* No sync

* blockedModes

* forcedConfig

* Infinitness parameter, list sync

* applyConfig, memory

Remove extra applyConfig somewhere;
Memory in quotes and custom modes

* I lost this code after merging

* Remove arrowKeys

* isFunboxCompatible

* Fix logic

* sync canGetPb

* remove FunboxObjectType

* baloons

* moved cangetpb function to pb utils

* updated the pb check to be easier to understand

* Refactor isFunboxCompatible

* Check modes conflicts

* Strict highlightMode type

* Only one allowed or blocked highlight mode

* More checks

* Undefined only, not false

* Prettier

* Highlight modes

* added intersect helper function

* reworked forced config
 - storing allowed modes as an array, not string
 - first value will be used if config is outside of the allowed values
 - instead of checking if highlight mode is allowed, checking if the whole config is available
- removed the "Finite" forced config and replaced it with "noInfiniteDuration" property
- config event listener now checks every config change, not just highlight mode. this will ensure any future forced configs will work straight out of the box

* ManualRestart in commandline

* fixed funbox commands not correctly showing which funbox is active

* Upd list

* Merge

* canGetPB for ip

* Reduce list

* split funbox into smaller files
moved funbox files into its own folder

* missing none command

* added function to convert camel case to space separated words

* changed config validation to be blocking the change rather than reacting to the change

* reduced code duplication

* allowing sub color flash

* moved keymap key higlighting and flashing into an observable event

* moved tts into a observable event

* passing funbox into config validation funcitons

* replaced getActive with get

* only keeping functions structure in the list, moved the actual function bodies to funbox.ts
done to remove a circular dependency
still need to finish the rest of the funboxes

* removed empty function definitions (typing issues)

* removed unnecessary type

* unnecessary check

* moved mode checking to config validation

* longer notification

* checking funboxes before changing mode

* moved more functions

* fixed incorrect type

* checking funboxes when setting punctuation and numbers

* Rest of funboxes

* fixed funbox commands showing tags text and icon

* checking if funbox can be set with the current config

* better error message

* validating with setting time and words
importing from a new file

* added a function to capitalise the first letter of a string

* using function from a new file
new parameters

* moved test length check to a function in a different file

* moved some funbox validation into its own file

* only  showing notifications if the setWordCount returned true

* moved funbox validation to its own file

* setting manual restart when trying to set funbox to nonoe

* moving this validation to before activating the funbox

* returning forcedConfigs along side if current value is allowed
moved infinite check to checkFunboxForcedConfigs

* removed function, replaced by funox validation

* removing duplicates

* throwing if no intersection

* wrong type

* always allowing setting funbox
sometimes it might be possible to update the config

* checking forced configs first, and updating config if possible
only setting funbox to none when couldnt update config

* basic difficulty levels

* xp funbox bonus

* Delete old file

* Difficulty level

* removed console logs

* renamed import, renamed type

* lowercase b for consistency across the codebase

* renamed variable for readability

* renamed for clarity

* converted metadata to object

* changed from beforesubgroup on the command to before list on the subgroup

* using code suggested by bruce

* renamed type

* removed console log

* merch banner fix

* important animation

* updating the icon of "none" funbox command

* removed unnecessary import

* lowercase b

* updated description

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
2022-11-30 19:25:57 +01:00
egorguslyan 588d14a2b3
Multiple funboxes (#3578) egorguslyan
* input-controller

* result

* Finishing logic

* Numbers + layoutfluid

* One interface

* Filter results

* tts error on undefined

Extencions like NoScript can partly block scripts on the page.
If speech synthesis is not loaded, notification shows up
without freezing the page

* Improved randomcase

* Prevent dublicates in command line

* Change filter logic

* Prettier

* Convert numbers

* num

* Quote and zen modes

* withWords

* Misc

* Expand funboxes list for pb saving

* Move list to backend

* Move to constants

* Async withWords, checkFunbox tweak

* Prettier

* Forbid nonexistent funboxes

* Disable speech if language is ignored

TtS's init() uses setLanguage()

* canGetPb

* Less circular imports

* Ligatures typo

* Simon says blocks word highlight

* blockWordHighlight backend

* Changed imports

* usesLayout

* JSON schema

* Display notification instead of reseting

* canGetPB

* One getWordHtml

* Dividing properties

* No sync

* blockedModes

* forcedConfig

* Infinitness parameter, list sync

* applyConfig, memory

Remove extra applyConfig somewhere;
Memory in quotes and custom modes

* I lost this code after merging

* Remove arrowKeys

* isFunboxCompatible

* Fix logic

* sync canGetPb

* remove FunboxObjectType

* baloons

* moved cangetpb function to pb utils

* updated the pb check to be easier to understand

* Refactor isFunboxCompatible

* Check modes conflicts

* Strict highlightMode type

* Only one allowed or blocked highlight mode

* More checks

* Undefined only, not false

* Prettier

* Highlight modes

* added intersect helper function

* reworked forced config
 - storing allowed modes as an array, not string
 - first value will be used if config is outside of the allowed values
 - instead of checking if highlight mode is allowed, checking if the whole config is available
- removed the "Finite" forced config and replaced it with "noInfiniteDuration" property
- config event listener now checks every config change, not just highlight mode. this will ensure any future forced configs will work straight out of the box

* ManualRestart in commandline

* fixed funbox commands not correctly showing which funbox is active

* Upd list

* Reduce list

* split funbox into smaller files
moved funbox files into its own folder

* missing none command

* added function to convert camel case to space separated words

* changed config validation to be blocking the change rather than reacting to the change

* reduced code duplication

* allowing sub color flash

* moved keymap key higlighting and flashing into an observable event

* moved tts into a observable event

* passing funbox into config validation funcitons

* replaced getActive with get

* only keeping functions structure in the list, moved the actual function bodies to funbox.ts
done to remove a circular dependency
still need to finish the rest of the funboxes

* removed empty function definitions (typing issues)

* removed unnecessary type

* unnecessary check

* moved mode checking to config validation

* longer notification

* checking funboxes before changing mode

* moved more functions

* fixed incorrect type

* checking funboxes when setting punctuation and numbers

* Rest of funboxes

* fixed funbox commands showing tags text and icon

* checking if funbox can be set with the current config

* better error message

* validating with setting time and words
importing from a new file

* added a function to capitalise the first letter of a string

* using function from a new file
new parameters

* moved test length check to a function in a different file

* moved some funbox validation into its own file

* only  showing notifications if the setWordCount returned true

* moved funbox validation to its own file

* setting manual restart when trying to set funbox to nonoe

* moving this validation to before activating the funbox

* returning forcedConfigs along side if current value is allowed
moved infinite check to checkFunboxForcedConfigs

* removed function, replaced by funox validation

* removing duplicates

* throwing if no intersection

* wrong type

* always allowing setting funbox
sometimes it might be possible to update the config

* checking forced configs first, and updating config if possible
only setting funbox to none when couldnt update config

* basic difficulty levels

* xp funbox bonus

* removed console logs

* renamed import, renamed type

* lowercase b for consistency across the codebase

* renamed variable for readability

* renamed for clarity

* converted metadata to object

* changed from beforesubgroup on the command to before list on the subgroup

* using code suggested by bruce

* renamed type

* removed console log

* merch banner fix

* important animation

* updating the icon of "none" funbox command

* removed unnecessary import

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Miodec <jack@monkeytype.com>
2022-11-30 16:57:48 +01:00
Miodec 69dd84006f checking flipped and colorful mode
also disabling animation
closes #3531
2022-09-11 14:06:31 +02:00
Miodec 585d528acb adjusted words input positioning
closes #3517
2022-09-07 12:25:15 +02:00
Miodec 1b65a0337f only rotating typing test 2022-09-06 00:19:25 +02:00
Miodec f2d9d37b3e added alias to 58008
closes #3242
2022-06-27 12:15:36 +02:00
FEZfan 4866dcf2bf
Fix typos (#3098) 2022-06-09 21:17:43 -05:00
Miodec 9712443c3c modified the way lazymode, funboxes and british english are applied
defined which funboxes affect word generation
fixed tests not restarting again when funbox is not supported
closes #2422
2022-02-09 23:16:54 +01:00
Bruce Berrios 345740db5f
Separate backend and frontend dependencies (#2441) by Bruception
* Add request validation to user endpoints

* Remove tag id log

* Remove verbs from endpoints

* Remove old code

* Remove uid

* Fix

* Remove name from URI

* Rename utils

* Fix

* Move prettier

* Update gulp file

* Add additional scripts

* Update package-lock

* Update contributing.md

Co-authored-by: Miodec <bartnikjack@gmail.com>
2022-02-08 20:33:41 +01:00