Commit Graph

486 Commits

Author SHA1 Message Date
Kalle
eed5c0646f User page: Use image for flag 2022-12-27 22:28:28 +02:00
Kalle
fd28e382ec Team: Flags from data 2022-12-27 22:23:41 +02:00
Kalle
1a8c2fc892 Use SubmitButton in various places 2022-12-25 12:00:17 +02:00
Kalle
f81451b0c0 Map planner to feature folder 2022-12-22 21:33:02 +02:00
Kalle
6feb269193
Full tournament feature WIP (#1196)
* Layout initial

* Add FillRosterSection component

* Move tournaments to feature folder

* Refactor Button props

* SubmitButton

* Register action

* Identifier -> Id

* Invite link via nanoid

* Team info submit

* Enter tiebreaker map list UI

* Invite members to tournament team initial

* Show banner if joined a team not captain of

* Add back teams page

* Change team roster size color when good

* Delete tournament team member
2022-12-21 23:24:59 +02:00
Kalle
d8136f3262 Fix Combobox full widthness 2022-12-15 18:22:43 +02:00
Kalle
7945e1ecc7 User page: weapon pool 2022-12-13 18:51:06 +02:00
Kalle
23e78f7033 Initial user page e2e tests 2022-12-13 18:51:06 +02:00
Kalle
c3963223b6
Add initial Playwright tests (#1191) 2022-12-11 17:18:33 +02:00
Kalle
5b1da140df Fix React warning with combobox 2022-12-10 21:06:35 +02:00
Kalle
0fd1bc0e2b Map Planner: TC Blueprint backgrounds 2022-12-10 20:44:19 +02:00
Kalle
714fa0585f BuildCard: Show Plus Status when showing user 2022-12-08 22:35:51 +02:00
Kalle
7d44cc1b44 BuildCard: Modes from popup to top right 2022-12-08 22:24:23 +02:00
Kalle
26e43b2ead Restore light mode 2022-12-08 21:29:51 +02:00
Kalle
06c43e8f0a User search page
Closes #1032
2022-12-05 21:58:12 +02:00
Kalle
8c6a5e67a0 Make "sendou.ink" never show ellipsis 2022-12-05 18:49:27 +02:00
Kalle
34ca290bdd
Redesign (#1179)
* Remove light mode

* Trim header

* New front page initial

* Get rid of build layout

* Breadcrumbs

* Desktop side nav

* Overhaul colors

* Add breadcrumbs

* New sub nav style

* Front page action buttons

* Add back add new build button

* Add articles page with icon

* Minor Object damage page layout tweaks

* Remove one unnecessary render from object damage

* Fix wrong link in article page

* Profile -> My Page in header

* Log in/out buttons in front

* Add drawings to front page

* Remove unnecessary comment
2022-12-05 16:05:51 +02:00
William Lam
fe65b42d9f
BuildCard: Link to weapon builds page (#1167)
* Feature Implementation: Weapon icon on build card now links to the builds page that contains all builds corresponding to said weapon

* Refactor to an actual React hook

* Refactored the URL construction for the Weapon Builds page to urls.ts

* Changes

Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
2022-11-27 17:46:10 +02:00
Kalle
47899b5bf2 Calendar: Add feature to delete an event
Closes #1121
2022-11-26 18:17:57 +02:00
Kalle
1648e28ba9 BuildCard: Better title wrapping and alignment
Closes #1163
2022-11-26 17:08:00 +02:00
Kalle
bbf0e9a034 BuildCard: Move mode icons inside popup 2022-11-26 16:42:20 +02:00
Kalle
bb722b225f Move all immutable assets to one folder
Closes #918
2022-11-26 16:33:43 +02:00
Kalle
3b418be3fb Planner: Add link to go back to home page
Closes #1153
2022-11-23 22:12:40 +02:00
Kalle
6061c9672a Fix nanoid warning by replacing it with own function
Closes #1160
2022-11-23 21:15:42 +02:00
Kalle
aea7406586
Map Planner (#1145)
* Initial

* Add images

* Tweaks

* Proper sized bg image and weapons

* Stage bg picker

* Outlined weapon images for planner

* First version

* Lint

* Add alt and title to weapon
2022-11-23 17:38:38 +02:00
Remmy Cat Stock
0bfa16eb3f Re-enable bulk edit controls for map pools when logged out 2022-11-19 16:29:55 +01: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
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
Kalle
ffe5839635 Add copyright note
Closes #1103
2022-11-09 00:24:50 +02:00
Remmy Cat Stock
a73be2e742
Add placement ordinal translation (#1102) 2022-11-06 11:18:03 +01:00
Remmy Cat Stock
222529b454 Make LanguageChanger respect existing search params 2022-11-05 14:51:22 +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
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
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
Remmy Cat Stock
1888168115
Fix potential bug from mutating matches state 2022-11-01 00:54:53 +01: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
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
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
William Lam
e44e64dab2 Issue 1043: changed <div> tag to <h1> tag for semantic HTML on the top-most UI buttons for an active page 2022-10-27 16:24:04 -04:00
Remmy Cat Stock
d1b1367651
Add event search to map pool templates 2022-10-27 13:31:37 +02:00
Remmy Cat Stock
0a85ad08d2
Add recent events to map pool templates 2022-10-27 13:31:37 +02:00
Remmy Cat Stock
63154e507e
Initial support for map pool templates 2022-10-27 13:31:36 +02:00
Remmy Cat Stock
edd3a1d91b
Improve MapPoolSelector UI 2022-10-27 13:31:36 +02:00
Remmy Cat Stock
3b18598288
Introduce utility MapPool class 2022-10-27 13:31:36 +02:00
Remmy Cat Stock
de9aefa996
Unify MapPoolSelector components 2022-10-27 13:31:36 +02:00
Kalle
bf4b6fab13 Add object dmg calc to nav and front page 2022-10-26 09:00:43 +03:00
Kalle
86a5e9ee2a Objective damage table change SPU/BRU 2022-10-23 11:59:03 +03:00
Remmy Cat Stock
3ce7c00d5b
Detect active nav item via route handle instead of path matching 2022-10-21 18:29:23 +02:00
Remmy Cat Stock
85fda204c0
Refactor breadcrumbs into a component that uses route handles 2022-10-21 00:48:58 +02:00
Remmy Cat Stock
ab98a106bb
Show dialog for failed login attempts 2022-10-20 22:40:34 +02:00
Kalle
6def5b9397 Format 2022-10-16 10:12:51 +03:00
Remmy Cat Stock
9f7faa2054
Improve result placement display with custom medal icons 2022-10-15 13:17:04 +02:00
Kalle
8470bf228e Map pool on tournament page 2022-10-13 21:39:40 +03:00
Kalle
bdba03a5d8 Datalist on maplist page initial 2022-10-11 20:14:32 +03:00
Kalle
6770b8e214 Map pool from server 2022-10-09 19:06:22 +03:00
Kalle
b1042f8e37 Generates map lists 2022-10-09 00:58:19 +03:00
Kalle
36280db0b1
Merge pull request #990 from curtgrimes/981-readonly-abilities
Fix issue where abilities appeared clickable when they were not
2022-10-05 17:28:14 +03:00
Curt Grimes
0cb1f5a0fb Add back incorrectly removed type="button" 2022-10-04 12:17:35 -07:00
Kalle
5e6ffbebfb Add link to spl2 sendou ink to footer
Closes #908
2022-10-04 21:35:23 +03:00
Curt Grimes
66a198f3f7 Fix issue where abilities appeared clickable when they were not
Issue was introduced in #971.

Fixes #981
2022-10-03 20:35:02 -07:00
Kalle
e1b930ced2
Merge pull request #979 from curtgrimes/draggable-abilities
Add ability to drag abilities into slots
2022-10-02 14:11:28 +03:00
Kalle
5706bfd812 Add IGN inputs 2022-10-02 10:44:45 +03:00
Kalle
5e617e7914 Custom URL submitting error handling 2022-10-02 00:43:55 +03:00
Kalle
ff857f3369 Custom URL url redirects and replacements 2022-10-02 00:25:13 +03:00
Kalle
997fc4ce25
Merge branch 'rewrite' into draggable-abilities 2022-10-01 11:34:43 +03:00
Kalle
100529d84f Fix clicking ability button triggering form submit 2022-10-01 11:31:19 +03:00
Kalle
ca1b1251ca Default values to Ability dragging related props 2022-10-01 11:22:45 +03:00
Curt Grimes
984d14a55b Add ability to drag abilities into slots
- Do not allow dragging an ability onto a slot that cannot accept that
  ability.
- When dragging, dim slots that are not a valid target for the ability
  currently being dragged.
- Do not make any changes to the existing click behavior to assign
  abilities.
2022-10-01 00:19:31 -07:00
Kalle
dd2fc5a414 Refactor BuildCard bottom row 2022-09-27 21:56:26 +03:00
Kalle
2c330620fb Add button to analyzer to build card 2022-09-27 21:53:12 +03:00
Kalle
2495edc5b7 Rename Popover trigger prop
Closes #893
2022-09-27 21:21:21 +03:00
Kalle
492977f45c Add logo with link to front page 2022-09-26 21:21:00 +03:00
Curt Grimes
63d78bc3ae Make <Ability/> support keyboard navigation
`<Ability/>` can now be tabbed through, and it now shares the same focus
outline, hover, and mousedown styles with `<AbilitiesSelector/>`. This
includes the `cursor: pointer` style that makes it more obvious that
this component is clickable like other buttons.

Fixes #894.
2022-09-26 00:28:28 -07:00
Kalle
fa5cd28c0d More friendly error page 2022-09-25 16:18:09 +03:00
Kalle
3129822c49 Remember selected language
Closes #921
2022-09-25 15:55:22 +03:00
Kalle
fb76e24392 Add builds page to nav 2022-09-25 14:58:23 +03:00
Kalle
a5fad589e8 Add limit + load more logic to builds page 2022-09-25 14:55:20 +03:00
Kalle
cb369985c8 Build analyzer don't scroll to top on build change
Closes #952
2022-09-25 14:24:18 +03:00
Kalle
a589b6b903 Add owner to BuildCard 2022-09-25 13:11:03 +03:00
Kalle
88c1fa5b9e Refactor BuildCard to take attributes in one obj 2022-09-25 12:58:22 +03:00
Kalle
494e5af5f7 Builds index page initial 2022-09-25 00:29:49 +03:00
Kalle
2d9dd3f91e Build Analyzer to prod! 2022-09-20 20:48:41 +03:00
Kalle
de3a7995b2 Add popover and explain IA jump RNG reduce 2022-09-18 21:14:47 +03:00
Kalle
b9fcaef8c4 Add Toggle component 2022-09-16 21:16:50 +03:00
Kalle
4c9cd0796e Clear analyzer weapon combobox input on focus 2022-09-15 01:05:55 +03:00
Kalle
e48465b66a Upgrade deps 2022-09-14 14:06:46 +03:00
Kalle
85c74496ec Fix typo 2022-09-14 12:03:47 +03:00
Kalle
ef1b89675d KitCards for analyzer 2022-09-12 19:31:33 +03:00
Kalle
21e1376273 Sub & special weapons in translation json 2022-09-12 18:21:39 +03:00
Kalle
8990f565c7 Fix bug w/ WeaponCombobox not showing initial val 2022-09-12 17:08:49 +03:00
Kalle
3d837a95fe Rename variable 2022-09-12 16:52:52 +03:00
Kalle
3701f48763 Fix can't scroll badge winner report modal
Closes #937
2022-09-10 15:56:28 +03:00
Kalle
1a34a39359 Language switcher toggle 2022-09-05 21:10:57 +03:00
Kalle
5410f52b1f Extract ColorModeToggle component 2022-09-05 17:05:42 +03:00