Commit Graph

234 Commits

Author SHA1 Message Date
Kalle
30063f6075
VoDs (#1283)
* YouTube lite embed + CSS bundled import

* Migration initial

* New VoD page initial functioning

* Table changes + add TODOs

* New structure for add vod page

* WIP add new VoD backend

* Merge branch 'rewrite' of https://github.com/Sendouc/sendou.ink into vods

* Fix when leaderboard appears

* Function new vod form

* Single vod page initial

* Different YouTubeEmbed

* Scroll to top when going to timestamp

* Vod match weapon/mode icons

* Vod page user

* Add date to vod page

* Adjust migration order

* Vod page many weapons

* Add title to vod page

* New vods page cast many weapons

* Add player index to order by

* Vods new more validation

* Vod listing page initial

* Vods page with filters

* Show message if no vods

* Fix not being to unset filters

* Fix seed sometimes throwing errors

* User page VoDs

* Vods nullable weapon combobox

* Link directly to user custom url from vod page

* Make video adder admin action

* Can add video checks

* i18n

* New VoD form tests

* VoD operates filters test

* Vods behind flag

* Remove from config
2023-02-26 14:31:57 +02:00
Kalle
ae02fde8d5 Add link to footer 2023-02-05 14:16:30 +02:00
Kalle
27cb5be472 Build Analyzer: Create new build prompt 2023-01-28 15:31:07 +02:00
Kalle
d4f0849987 Patron: Customize colors of own user profile 2023-01-24 01:31:33 +02:00
Kalle
057c4cf18d Support page 2023-01-23 00:39:21 +02:00
Kalle
f0f6b14f58 Upgrade deps 2023-01-22 13:40:05 +02:00
Kalle
946a287b96 Introduce getUserId and requireUserId
Idea is to avoid doing DB calls when all we need
is just the user's id.
2023-01-14 13:45:06 +02:00
Kalle
77c7ea7b22 Temporarily make assets URL point to digital ocean 2023-01-13 21:22:28 +02:00
Kalle
3634b85422 Team: Manage roster tests + fixes 2023-01-12 20:57:22 +02:00
Kalle
e83943abb1 Team page: Initial tests 2023-01-12 00:57:37 +02:00
Kalle
9fecc35839 Upload image page 2023-01-10 00:06:24 +02:00
Kalle
e1863b328b Team: Search page 2023-01-08 12:05:55 +02:00
William Lam
c8e707488b
Implemented some dynamic background sizing & positioning calculations for the Map Planner (#1200)
* Implemented a relatively simple dynamic background sizing calculation for the Map Planner

* Moved useWindowsSize() hook usage near the top of Planner() function

* Removed some dead space above the background image

* Adjustments

* Added a *lot* of math to adjust image spawn location based on the background image size & position, which are based on the current window size & position
- Moved the background image stuff to its own React Hook, usePlannerBg()

* Fix Prettier issue

* Added another comment

* Fixed typing for the usePlannerBg hook
- Also improved comments & some variable names to be cleaner/more consistent

Co-authored-by: Kalle <38327916+Sendouc@users.noreply.github.com>
2023-01-08 11:24:44 +02:00
Kalle
1170dc0bd0 Team: Manage roster page 2023-01-06 16:33:37 +02:00
Kalle
8a3178413c Team: Delete team feature 2023-01-06 16:33:37 +02:00
Kalle
b922b54d5b Team: Leave feature 2023-01-06 16:33:37 +02:00
Kalle
895acabda8 Handle user not existing -> 404 2023-01-06 16:33:37 +02:00
Kalle
9d9ffac6e9 Teams: Edit page 2023-01-04 23:03:46 +02:00
Kalle
077e2356ae Team: Fetch from DB 2023-01-02 21:59:58 +02:00
Kalle
5a2c008461 Calendar: Fix no events at the start of year 2023-01-01 18:27:06 +02:00
Kalle
da020e8557 Map Planner: Fancy backgrounds 2022-12-29 21:49:21 +02:00
Kalle
f81451b0c0 Map planner to feature folder 2022-12-22 21:33:02 +02:00
Kalle
791744c40c Move build analyzer to feature folder 2022-12-22 00:14:29 +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
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
3fdfdff429 Use Fathom 2022-12-12 20:51:18 +02:00
Kalle
c3963223b6
Add initial Playwright tests (#1191) 2022-12-11 17:18:33 +02:00
Kalle
0fd1bc0e2b Map Planner: TC Blueprint backgrounds 2022-12-10 20:44:19 +02:00
Kalle
a52c92808f Contributions: Add yaga 2022-12-10 20:13:43 +02:00
Kalle
61b91af464 Fix GA errors 2022-12-07 20:55:25 +02:00
Kalle
06c43e8f0a User search page
Closes #1032
2022-12-05 21:58:12 +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
Kalle
dacc475efb Add 2.0 maps 2022-12-05 11:25:13 +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
bb722b225f Move all immutable assets to one folder
Closes #918
2022-11-26 16:33:43 +02:00
Kalle
2fc3136a35 Upgrade deps 2022-11-24 00:50:07 +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
Kalle
7bce94d97e Show Plus Voting % to patrons 2022-11-15 18:04:37 +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
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
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
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
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
Kalle
b407127b36 Build card gear name title on hover 2022-10-29 21:46:39 +03:00
Remmy Cat Stock
d1b1367651
Add event search 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