Commit Graph

1274 Commits

Author SHA1 Message Date
Kalle
045cb5ce83 Preview maplist generator toggle for admins 2022-11-19 17:14:12 +02:00
Kalle
29057d60db Download participants as Discord list button 2022-11-19 16:59:36 +02:00
William Lam
f704f97be3
External links are now opened in a new tab (#1136)
- Reference: https://bobbyhadz.com/blog/react-open-link-in-new-tab#open-a-link-in-a-new-tab-in-react
2022-11-19 16:12:42 +02:00
Kalle
9d7cd816c9 Color role Lohi command 2022-11-19 01:33:58 +02:00
Kalle
7658f8cb27 Add default description 2022-11-16 19:45:38 +02:00
Kalle
fd390f3fc3 Move menu up 2022-11-16 19:36:07 +02:00
Kalle
cc994776f4 Better ordering for TO Tools teams
Closes #1127
2022-11-16 19:30:42 +02:00
Kalle
e2dedf0526 Add Q&A about Patreon 2022-11-16 19:05:26 +02:00
William Lam
2da0738dc6
Ability Chunks Required section in Build Analyzer (#1120)
* Added Ability Chunks Required section in Build Analyzer

* Renamed a variable to be more precisely correct

* Added reference

* Removed some extra Javadoc comments

* Prettier fix

* We now only render the AbilityChunksRequired section only if the main abilities array contains a value other than "UNKNOWN"

* Improved React keys naming for performance reasons

* Ability Chunks map is now converted to an array & sorted by value (descending) before it gets rendered as visual components

* Fixed typing error

* Moved logical function to a new file in the analyzer module called abilityChunksCalc.ts
- Refactored for loop content to be cleaner
- Removed & changed some comments

* More for loop refactoring

* We now pass the entire build into abilityChunksCalc.ts

* Refactored map() to flatMap() so we avoid unknowns/null/undefined

* Refactored code to process mainAbilities and subAbilities

* Fixed subability list construction logic & typing in updateAbilityChunksMap()

* Got my first unit test working

* Added working unit tests, also changed sort order slightly

* Added a "real" build for testing

* Removed residual console.warn() call

* Moved constants to abilityChunksCalc.ts

* Ability chunk calculation is now correct for sub abilities

* Uncommented tests & improved their descriptions

* Rearranged expected output to match sorted order for clarity (even though it doesn't have to be)

* Fixed Prettier error

* Spacing

* Moved comments around

* More spacing

* Prettier error on test file

* Improved check in the tests

* Added a second "real" build to tests for good measure

* Added error message to empty array test

* Updated comments again

* More comments updated

* Update test name

* Ability Chunks section is now shown if we have at least one selected ability (handles edge case for primary slot-only abilities being the only chosen ability)
2022-11-16 00:10:48 +02:00
Kalle
7bce94d97e Show Plus Voting % to patrons 2022-11-15 18:04:37 +02:00
Kalle
dd3377e7f3 TO Tools roster link to user page 2022-11-15 00:45:42 +02:00
Kalle
ef0866a1b9 Fix linebreaks not working in calendar event description 2022-11-13 15:15:13 +02:00
Kalle
077df1ec98 Fix all teams showing without map pool 2022-11-13 14:45:04 +02:00
Kalle
ecd5a2a2f7
TO Tools (#1077)
* Add DB tables

* Toggle TO Tools in new calendar event page

* TO tools page initial

* Add counter pick map pool UI

* Save tie breaker map pool

* Save team name

* Layout initial

* Load users own team

* Make team name input required

* Rename team

* Divide to sections

* Submit team map pool

* New style for counter pick map pool section expand

* Fix tiebreaker map pool not saved when new event made

* Split to many forms

* According for team name

* Small UI consistency tweaks

* Add explanation to tie breaker maps

* Remove redundant prop

* Fix new calendar event todos

* Use required hidden input component in new build page

* Fix to tools page showing even when toToolsEnabled = 0

* Delete team

* Map list generation tests initial

* Add tournament map list generation tests

* First version of map list generation

* Add seeded RNG

* Rearrange files

* Generation with strats initial

* Default map pool + allow one team not to have any maps

* Implement map generation via backtracking

* Make order of stages irrelevant

* Add one more TODO

* Seed

* Fixes

* Tournament map list generator initial

* More functional maplist

* Fix any

* Persist in search params initial

* Add date to calendar seed

* Revert "Persist in search params initial"

This reverts commit f01a9e6982.

* Allow admin to start tournament

* Rate maplist instead of optimal / suboptimal

* Add fallback if map list generation errors out

* Hide TO Tools if not admin

* Submit team roster and delete members

* Teams page

* Give roster s p a c e

* Clear user combobox on sent + layout tweaks

* Gracefully handle updating after tournament has started

* Add title

* Persist map list in search params

* Add i18n
2022-11-13 14:41:13 +02:00
William Lam
f6990e93eb
Fixed "Map Pool" title in events to use the appropriate localization value (#1118) 2022-11-12 10:41:55 +02:00
Kalle
ffe5839635 Add copyright note
Closes #1103
2022-11-09 00:24:50 +02:00
Kalle
bae922b289 Add translator 2022-11-08 22:08:39 +02:00
Remmy Cat Stock
a73be2e742
Add placement ordinal translation (#1102) 2022-11-06 11:18:03 +01:00
Remmy Cat Stock
9762c7aa4d
Improve plus suggestion comment validation (#1101) 2022-11-06 10:08:36 +01:00
Remmy Cat Stock
222529b454 Make LanguageChanger respect existing search params 2022-11-05 14:51:22 +01:00
Remmy Cat Stock
4d84c1ad91
Fixed route translations issue detected by useTranslation 2022-11-05 14:51:02 +01:00
Remmy Cat Stock
2fa18547b0 Wrap useTranslation to detect missing translations on the route 2022-11-05 14:45:12 +01:00
Remmy Cat Stock
a6f62fa7b3 Improve date inputs UI when creating / editing events 2022-11-05 14:44:08 +01:00
Remmy Cat Stock
88e0649e79 Set default date for new events to the next full hour 2022-11-05 14:44:08 +01:00
Remmy Cat Stock
b4f8e4402e Make date input more reliable by handling invalid dates and different browser behaviours 2022-11-05 14:44:08 +01:00
Remmy Cat Stock
8fac1cca76
Rename Spanish language options according to feedback
Closes #1094
2022-11-05 00:43:32 +01:00
Kalle
6ff4efdc20 Add American Spanish language
Closes #985

Just in-game names are different. Rest is copied from EU translation.
2022-11-03 22:10:24 +02:00
Kalle
123565a952 Add November's Salmon Run gear 2022-11-03 20:20:34 +02:00
Remmy Cat Stock
19fbd85f8f
Add auto theme option for detecting the theme from system/browser preferences (#1083)
* Add "auto" option to theme switcher

* Add labels to language and user menu buttons

* Update translation-progress.md
2022-11-03 01:44:56 +01:00
William Lam
0d8b88ea5a
All articles page (#1072)
* Added new Article route that renders all Articles (with a reasonable upper limit for now).
- Also added a GoToPageBanner for the main Articles page (/a) on the front page. This is placed above the ArticlesPeek component
- Used the sendou_love navItem icon for the moment (this can be replaced at any time once a new art asset is added)

* Fixed Prettier CI pipeline error

* Ran `npm run check-translation-jsons` to update missing Translations for new key added

* Update public/locales/en/front.json

Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>

* French localizations

* Removed unnecessary comment

* Converted h2 to h1 tags for Main Articles page

Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>

* Moved GoToPageBanner element for main articles page to below ArticlesPeek element

* Refactored some files so that the articles prop is passed into ArticlesPeek
- Also added the Articles header title in common.json

* Updated translation-progress.md

* Cleaned up data type for articles prop in ArticlesPeek

* Fixed React hydration error for translations on imported articles
- Added in SendouRouteHandle component on new Articles main page

* GoToPageBanner now optionally accepts a `navItem` parameter. It does not render the image if navItem is not passed into it

* Removed <Outlet /> JSX element on the main Articles page

* Removed sendou_love navItem on GoToPageBanner for articles page

* Fixed spacing issue by grouping ArticlesPeek and its corresponding GoToPageBanner element into a `stack` div

* Fixed pipeline error

* Update translation again

Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
2022-11-01 08:57:44 +02:00
Remmy Cat Stock
1888168115
Fix potential bug from mutating matches state 2022-11-01 00:54:53 +01:00
Illya9999
bcf60a4890
Only allow numbers as discrim (#1085) 2022-10-31 19:50:00 +02:00
William Lam
09851faf83
New Date entry on the new Calendar page is now based off the previous one (#1070)
* Issue 858: On the new calendar page adding a new Date entry with the "Add" button will now insert a new date with an offset of +24 hours of the previous row's date value.

* Added comment to ignore the TSLint "object can be null" error

* Changed `var` to `const`

* Fixed Prettier checks in CI pipeline

* Fixed Typecheck CI pipeline error

* Moved getDateWithHoursOffset() function to app/utils/dates.ts

* Added new line at end of file

* Added getValidNewDateIfInvalid() function. This retrieves a valid date. If invalid, get a new Date object.
- So now, if we intentionally/accidentally delete the data in the Calendar's DateInput element, it will be reset to the current Date/Time

* Refactored DateInput component's update state mechanism to be handled by an onChange() function defined in the parent component that is passed to the child

* Prettier formatting so that the new CI pipeline won't output errors at me

* Removed unused imported types

* Removed the datesCount React Hook & refactored accordingly

* Removed unused loader-related variables

* DateInput onChange prop is now optional

* Instead of generating a new Array, iterate over DateInput's inputState's array instead

* Fix potential undefined error

* DatesInputState: refactored to remove index & access the index during iteration with map() 2nd arg

* Properly initialized state for pre-existing events =)
- Also added TODO comments for improving date input handling (1082)

* Prettier formatting

* Uncommented console.warn()

* Touched up comment
2022-10-31 03:59:51 +01:00
Remmy Cat Stock
ad61df057c
Load gear translations needed for build cards on index route 2022-10-31 00:14:48 +01:00
William Lam
3099db8914
Hide Highlights section if the user has exactly 1 result on their profile
* Issue 1068:  Hide Highlights section if the user has exactly 1 result on their profile

* Moved the logic so that we only hide the "Choose Highlights" button if the user has exactly 1 result & they have exactly 1 highlight selected

* Updated logic to hide the Highlights section if the user only has 1 total result

* Prettier fix
2022-10-30 15:59:36 +01:00
William Lam
d9689694b4
UserComboBox only one result if exact discord ID match (#1075)
* Passed a FUSE_OPTIONS object to the Fuse() object.
- We can now adjust how "strict" the search is.

* Refactored Combobox to accept an optional fuseOptions object as a prop

* Fixed fuseOptions prop data type & added a default initialized value of {}
- Moved the USER_COMBOBOX_FUSE_OPTIONS outside of the function
2022-10-30 16:34:18 +02:00
William Lam
924ae8bfff
Fix abilities appearing clickable when they aren't (#1057)
* Issue 1036: non-draggable ability icons will no longer have its cursor morphed to a pointing hand icon

* Revert "Issue 1036: non-draggable ability icons will no longer have its cursor morphed to a pointing hand icon"

This reverts commit a0de4e0047.

* Issue 1036: Non-draggable ability icons will no longer have its cursor morphed to a pointing hand icon.
- Done correctly by conditionally choosing to render a <button /> or <div /> HTML element for ability icons everywhere Ability() was invoked by passing in readonly

* Removed stray console.warn() line, added a brief comment

* Removed unnecessary tabIndex adjustment for AbilityTag element if it is readonly (since it is no longer rendered as a button if it is readonly)
- We now also condtionally give type="button" to AbilityTag only if it is actually a button

* Conditionally set AbilitiesSelector's Ability JSX elements to readonly if the ability is "UNKNOWN"

* Fixed failed check for Prettier in CI pipeline

* Ability component now only chooses the readonly class if no onClick function is passed into it
- Exception: if the ability is "UNKNOWN", it will be forced to readonly

* Fixed Prettier error in CI pipeline

* Fixed Typecheck error in BuildCard.tsx

* Fixed Prettier CI pipeline error again

* Was checking for an undefined type incorrectly. Now the logic works properly

* Fixed Prettier error

* Cleaned up classname declaration syntax to React's shorthand
2022-10-30 10:38:03 +02:00
Kalle
e97fcd4e99 Remove Cypress tests
Planned to be replaced with Playwright maybe?
Just removing in the meanwhile so they don't confuse people.
Or that people won't accidentally develop new.
2022-10-30 02:15:15 +03:00
Kalle
b407127b36 Build card gear name title on hover 2022-10-29 21:46:39 +03:00
Kalle
0af5f262f5 Fix wpn in build card not showing title on hover 2022-10-29 21:07:06 +03:00
Kalle
60a0495b9d Support for blob 4 shots in analyzer
+ fixed L-3 showing curling damage in multiples.
+ fixed "1 hit" typoed to "1 hits"

Closes #1065
2022-10-29 21:04:34 +03:00
Kalle
7af8e7a9db Add slosher class weapons damages 2022-10-29 20:36:48 +03:00
Kalle
bfc3cbfc87 Fix Hydra wrong dmg multipliers
Closes #1055
2022-10-29 12:42:40 +03:00
Kalle
085ef8abe5
Run checks on PR made (#1063)
* Run checks on PR made

* Prettify

* Refine criteria

* Bruh
2022-10-29 10:44:35 +03:00
Igor
327df35380
Disable double torpedos in analyzer (#1058)
* Note about torpedo

* no magic numbers -> constant
2022-10-29 10:17:27 +03:00
Kalle
743a89bfc7 Preload translations to avoid layout flashing
Closes #869
2022-10-29 10:08:19 +03:00
Kalle
6019b0f906 Perf optimization: prefetch pages without loader 2022-10-28 09:26:45 +03:00
Kalle
edc12bec84
Merge pull request #1056 from ElementUser/bug/1043
Issue 1043: changed <div> tag to <h1> tag for semantic HTML for top-most UI buttons on active page
2022-10-28 08:51:23 +03:00
Remmy Cat Stock
d5677cf7e8
Remove useOnce hook 2022-10-27 23:12:48 +02:00
Remmy Cat Stock
9d6c86b5ab
Fix theme switching via cookie during development 2022-10-27 22:29:31 +02:00