Commit graph

47 commits

Author SHA1 Message Date
Shizuko
15feb8a74a
fix(funbox): fix animations for choo_choo and earthquake funboxes in custom mode (@ShizukoV) (#6815)
Fixed an issue where the `choo_choo` and `earthquake` funboxes did not
"work" in custom mode.

Previously, these funboxes did not "work" in custom mode. When they were
turned on, *no animations were played*. This change allows the
animations to run regardless of the mode, so users can now experience
the funboxes in custom mode as well. This change also makes sure they
work on the other modes.

### Here is a video example of the bugs and the new changes in action:


[![funboxesFixedVideo](https://img.youtube.com/vi/oF1zuqWGYnQ/0.jpg)](https://www.youtube.com/watch?v=oF1zuqWGYnQ)
2025-08-04 15:11:28 +02:00
Christian Fehmer
ac1d6f0847
feat(funbox): add ASL (@fehmer) (#6485) 2025-04-23 18:45:52 +02:00
Tamion
a4b7c00ef9
impr: allow multiple funboxes with css (@notTamion, @miodec, @fehmer) (#6017)
### Description
Allows enabling multiple funboxes that have a stylesheet. Which funboxes
should be deemed compatible with each other will need some discussion

---------

Co-authored-by: Jack <jack@monkeytype.com>
Co-authored-by: Christian Fehmer <cfe@sexy-developer.com>
2025-02-04 17:52:50 +01:00
Christian Fehmer
a67804746d
fix: crt not applied to typo hints (@fehmer) (#6103) 2024-12-23 14:39:21 +01:00
Jack
fdadb4ae83
refactor: move funboxes to a shared package (@miodec) (#6063) 2024-12-04 16:11:07 +01:00
Tamion
bbfafc1cc5
impr(read ahead): show words after correcting typo with backspace (@notTamion) (#6006) 2024-11-19 00:01:21 +01:00
Miodec
8daca636b1 fix: xp breakdown not working in firefox when using crt 2024-09-23 18:12:18 +02:00
Christian Fehmer
77c1e8e298
feat(funbox): add instant messaging (@fehmer) (#5850)
Thanks
2024-09-05 17:36:10 +02:00
Christian Fehmer
8bef02f739
fix(funbox): earthquake and simon says not working correctly (@fehmer) (#5823)
* fix: fix earthquake funbox (@fehmer)

* fix simon says funbox
2024-08-28 10:47:40 +02:00
Miodec
abdd66a27b fix(funbox): choo choo not working 2024-08-23 11:39:05 +02:00
Jack
47e52f0b15
impr: move account settings to a separate page (@miodec) (#5798) 2024-08-20 16:43:30 +02:00
Adam Sasine
b26cb887e4
feat(funbox): add hexadecimal (@asasine) (#5724)
* feat(funbox): added hexadecimal

* missing list definition

* lower max to 4

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2024-08-05 10:53:03 +02:00
Miodec
215862e6e1 fix: read ahead funboxes not working 2024-07-10 10:55:12 +02:00
Jack
9f924f345e
refactor: rework highlight mode, colorful, flipped and blind to pure css (#5568) 2024-07-09 17:34:15 +02:00
Christian Fehmer
90e234f77a
fix: typed letters not visible in tts funbox if highlight=off (@fehmer) (#5496) 2024-06-16 15:37:09 +02:00
Miodec
6a768b40b4 feat(funbox): add plus zero funbox. only the current word is visible 2024-06-11 12:25:26 +02:00
Nad Alaba
f4d121c250
fix(crt): shrinking xp bar and hints not glowing (NadAlaba) (#5447)
* fix xp Bar shrinking in width when crt is enabled

* fix hints not glowing in crt mode
2024-05-28 10:34:48 +02:00
Miodec
20d6c39cff impr(typing test): allow test words to breakout from the container
this completely reworks the way main content is structured

closes #5335
2024-04-26 16:57:08 +02:00
yunfachi
3ad1d6b601
fix(funbox): missing background image and extra scrolling in space balls (yunfachi) (#4872)
* fix: update background image in space_balls (yunfachi)

* fix: hide the scrollbar caused by page rotation in space_balls (yunfachi)
2023-12-20 16:08:23 +01:00
Christian Fehmer
bd2058fae0
fix: crt mode not working on some buttons (fehmer) (#4810)
- apply box-shadow on buttons
- fix lavender theme hiding buttons on hover
- update crt mode specific themes not to use nested css
2023-11-27 12:56:33 +00:00
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