Commit Graph

165 Commits

Author SHA1 Message Date
Kalle
700a309e7f
Migrate Node -> Bun (#1827)
* Initial

* Faster user page

* Remove redundant function

* Favorite badge sorting

* Upgrade deps

* Simplify entry.server

* Bun tests initial

* Update package.json npm -> bun

* Update README

* Type safe translations again

* Don't load streams info for finalized tournaments

* Translations as an object

* More unit test work

* Convert match.server.test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* test

* Test & all done

* Working cf

* Bun GA try

* No cache

* spacing

* spacing 2

* Add SQL logging

* Remove NR

* Hmm

* Hmm 2

* Interesting

* SKALOP_SYSTEM_MESSAGE_URL

* .

* .

* ?

* .

* ?

* Server.ts adjust

* Downgrade Tldraw

* E2E test fix

* Fix lint
2024-08-11 16:09:41 +03:00
Kalle
fd48bced91
Migrate Prettier/Eslint/Stylelint setup to Biome (#1772)
* Initial

* CSS lint

* Test CI

* Add 1v1, 2v2, and 3v3 Tags (#1771)

* Initial

* CSS lint

* Test CI

* Rename step

---------

Co-authored-by: xi <104683822+ximk@users.noreply.github.com>
2024-06-24 13:07:17 +03:00
Kalle
bfce8d9646
Custom name (#1754)
* Migration and edit

* Migrate from discordName

* discordDiscriminator
2024-06-03 22:20:21 +03:00
Kalle
2b53c348e6 Switch to own invariant that logs errors in prod 2024-06-02 14:34:01 +03:00
Kalle
518e521e09
Active rosters & organizer revise rosters/score (#1743)
* Initial

* Fix migration order

* Edit score initial

* Can edit points

* Fix failing test

* Rename var

* Remove done TODO

* Rename organizerEditing

* Inactive style for score label

* E2E tests
2024-06-02 11:51:19 +03:00
Kalle
4beb2bdfdd
LFG (#1732)
* Initial

* Can post new

* Load team

* seed + loader posts

* LFGPost render initial

* More UI work

* Tiers

* sticky left

* Mobile

* new.tsx work

* TeamLFGPost component initial

* Full team member list

* Add TODO

* Delete post action

* Edit post etc.

* Delete team posts when team disbands

* Prevent adding same post type twice in UI

* Post expiry logic

* Fix layout shift

* Filters initial

* Progress

* Weapon filtered implemented

* Weapon alt kits in filtering

* + visibility

* i18n

* E2E test

* Team = null
2024-05-19 13:43:59 +03:00
Kalle
f19ec211d8
Swiss bracket format (#1723)
* Initial

* Swiss UI initial

* Start Swiss bracket

* Match up generation skeleton

* Bracket advancing

* Misc

* Progress

* Remove unneeded script

* Timed bans feature

* Add badge

* Add tournament logo

* Add Heavy Splatling MoveSpeed_Charge Closes #1461

* Require verified email for new account registration

* Weapon stats/builds use absolute URL

* Allow mod to ban users

* Prevent app from crashing on unhandled rejection

Context: https://github.com/remix-run/remix/issues/9178#issuecomment-2032102431

* Try changing authenticate call to match docs example

* Limit fresh account queue joining

* Fix tournament avatar not showing

* Limit when weapon shown on leaderboard

* Nuke reported weapons script

* FC scripts

* Increase tournament rules max length

* Add Discord URL to tournament page

* Hotfix reopen

* Fix matchAffectsAnotherBracket logic better

* Switch to Patreon API v2 Closes #1389

Also fixes problem with people who canceled not
getting access.

* Fix reset showing for first round

* Dropping out

* Progress

* Range inputs

* better way to create rounds

* Fix TODO

* E2E test

* Small round count info text

* Fix lint
2024-04-21 22:45:33 +03:00
Kalle
b98b4af1ea
Ban/pick etc. (#1716)
* To BracketMapListDialog

* Working map list dialog + UI work

* Rename components

* Working version

* Counterpick info text

* PickBan

* Rearrange loader

* Working BAN_2

* Show error msg if pick/ban style selected but no rounds have it enabled

* OrganizerMatchMapListDialog

* Prepicked BAN_2

* Starter finder structure

* Prepicked + counterpick

* PLAY_ALL & visible chat to TO's after finalize

* Tweaks and handling edge cases

* Play all e2e test

* Allow viewing tournament info when it has started

* Desc markdown support

* Rules

* calendar.new loader refactor

* baseEvent refactor

* w/ staff

* Add 1h30min reg closes time

* As team

* Fix E2E test

* E2E tests

* MiniCheckinInfoBanner
2024-03-31 10:36:22 +03:00
Kalle
4d0d8c6e83 Tournament admin action change team name Closes #1695 2024-03-16 14:56:07 +02:00
Kalle
8c3e78c2ba Screen toggle option for tournaments Closes #1686 2024-03-16 14:11:37 +02:00
Kalle
4234cc54de Confirm checkbox when set ending Closes #1657 2024-03-16 10:35:12 +02:00
Kalle
29d99c258b
TO maplist/best of picking.& bracket start dialog (#1696)
* Initial

* Seed with to set map pool

* BracketStarter frontend

* First working

* Changing best of

* Fix roundMaps can be null

* Working for DE

* Start SE bracket

* Best of selection by round

* Move function

* updateRoundMaps to transaction

* Check in many in trx

* Show warning if no map pool set

* E2E tests

* After review

* Resolve TODO & adjust imports

* Tweak round sorting
2024-03-15 00:00:37 +02:00
Kalle
29dba0457a Avoid repeats in follow up bracket Closes #1670 2024-03-09 11:52:00 +02:00
Kalle
e0b6f90500 Fix not being able to undo score in round robin 2024-03-07 18:31:02 +02:00
Kalle
be87a88544 Reset bracket feature Closes #1574 2024-03-07 17:45:53 +02:00
Kalle
ba0715152d 3rd place match Closes #1680 2024-03-03 23:56:17 +02:00
Kalle
a1c0f5519b SoS bracket format 2024-03-02 14:02:38 +02:00
Kalle
93ebb6e369 Migrate to Vite 2024-02-24 21:12:54 +02:00
Kalle
72fa1f68c8
Season 3 SendouQ changes (#1674)
* Mode Map Pool picker component initial

* Component in settings

* Lottery initial

* Fix tests

* useTrusters as perf optimization

* unionAll -> union

* Fancy picker for tournaments

* Map pools memento

* FC's initial

* Friend code when registering for tournament

* FC in flows

* SHow FC in places

* Add catch in case

* Fix disabling

* Show ELO changed

* Wiggle MapPool button if already selected

* CSS vars typing

* Rechallenging

* Team (all) leaderboard

* Preview groups

* Fix chat width changing

* Solid reported weapons

* Clearer cancel requested header

* Dynamic revalidates

* spDiff from memento

* (Partly) Revert "Remove screen banning"

This reverts commit 076cabfbfa.

* Screen indicators in looking view

* FC i18n

* noscreen = 0

* E2E test

* E2E 2
2024-02-24 12:07:17 +02:00
Kalle
1b4d0df7a7 Fix seeding not applied Closes #1665 2024-02-14 23:52:23 +02:00
Kalle
eae3d529e2
Bracket component rewrite (#1653)
* Remove old code

* Add prefetching

* Elim bracket initial

* Hide rounds with only byes

* Round hiding logic

* Align stuff

* Add TODO

* Adjustments

* Deadline

* Compactify button

* Simulations

* Round robin bracket initial

* eventId -> tournamentId

* seedByTeamId removed

* Couple more TODOs

* RR placements table

* Locking matches

* Extract TournamentStream component

* Bracket streams

* Remove extras for tournament-manager, misc

* Fix E2E tests

* Fix SKALOP_SYSTEM_MESSAGE_URL in env.example

* TODOs

* TODO moved to GitHub

* Handle team changing in match cache invalidation

* Fix streamer seeing undo last score button

* Show "Sub" badge on team roster page

* Show who didn't play yet on match teams preview

* Ranked/unranked badge

* Bracket hover show roster

* Add lock/unlock match test

* Fix score reporting
2024-02-11 10:49:12 +02:00
Kalle
f969e86ea0 Better UX when trying to pick a tiebreaker map + misc things 2024-02-01 20:49:51 +02:00
Kalle
3fdac9fddd Groups -> SE tournament E2E test Closes #1647 2024-01-31 22:53:58 +02:00
Kalle
24f7105e0c Fix compares build E2E test Closes #1552 2024-01-31 22:43:18 +02:00
Kalle
144da5d158
Tournament groups->SE, underground bracket etc. (#1628)
* Renders groups

* Bracket data refactoring

* Starting bracket working (first bracket only)

* TODOs + crash fix

* Source bracket logic initial

* Bracket progression (DE underground bracket)

* Preview working for second bracket

* Bracket nav initial

* Check-in to bracket feature

* Start Underground bracket

* Team/teams pages tweaks to support underground bracket

* Underground bracket finalization progress

* Tournament class

* id -> userId + more useOutletContext removed

* Bracket loader refactored out

* Migrate admin to useTournament

* Bracket.settings

* Slim tournament loader

* Fix useEffect infinite loop

* Adjust waiting for teams text

* Refactor old tournament DB call from to admin

* Admin action: check in/out from specific bracket

* Standings work

* Back button from match page -> correct bracket

* Standings logic for DE grand finals

* Standings + finalize bracket

* Dev log

* Unit tests utils etc.

* Adjust TODOs

* Fix round robin issues

* Add RR tests

* Round robin standings initial

* Wins against tied + points tiebreaker progress

* Fix losing state when switching between tabs

* Add check-in indications to seeding page

* Link to user page on seed tool

* Submit points

* Total points from bracket manager

* findById gonezino

* Ahead of time check-in

* Couple todos

* Reopen logic refactor

* Tournament format settings

* RR->SE placements, skipping underground bracket

* Fix tournament team page round names

* More teams to UG bracket if first round of DE only byes

* Fix graphics bug

* Fixes

* Fix some E2E tests

* Fix E2E tests
2024-01-30 00:32:13 +02:00
Kalle
e23e949980
Tournament staff (TO & Streamer) (#1619)
* Migrations

* Arrange admin UI

* Load staff from DB

* Fix TODO

* Can add/remove staff

* isTournamentAdmin / isTournamentOrganizer

* Show chat to streamer

* User titles in the chat

* chat name color

* Unique constraint

* TO Staff E2E tests

* Casts on stream page

* Streamer test

* Fix test
2024-01-07 12:41:03 +02:00
Kalle
d42c588c4c
Date/mode build filters (#1616)
* Refactoring

* UI initial

* Mode filter

* Fix revalidation

* Move components

* Date filter UI

* Date filter

* Filters i18n

* Filters titles

* Fix bug with ability filter

* E2E tests

* Update README
2024-01-01 11:19:16 +02:00
Kalle
22f2426742 Fix flaky test 2023-12-10 09:36:55 +02:00
Kalle
d2f6452bca Fix failing E2E test 2023-12-10 09:26:21 +02:00
Kalle
19920d8524 Use same admin ID for both dev and prod 2023-12-02 15:05:30 +02:00
Kalle
317395fbd5 Skip flaky test 2023-10-18 22:49:41 +03:00
Kalle
b0082fdd25 Revert "E2E test fix"
This reverts commit c29c887c58.
2023-10-18 21:58:06 +03:00
Kalle
c29c887c58 E2E test fix 2023-10-18 18:48:24 +03:00
Kalle
2404d1006a Attempt to fix vods test 2023-10-15 14:08:48 +03:00
Kalle
cb7a8b4150 Tournament match chat 2023-10-12 18:45:38 +03:00
Kalle
dab6b00c2d Update Prettier 2023-08-26 22:38:11 +03:00
Kalle
56361b4199 Add page reload to E2E test 2023-07-29 10:16:37 +03:00
Kalle
b4323e104e Upgrade deps 2023-07-01 00:12:29 +03:00
Kalle
35424514d6
Finalize tournament + leaderboards initial (#1404)
* Set up tables

* Initial

* Frontend for finalize tournament

* Enter summaries to DB

* Handle changes on tournament page after tournament is finalized

* Fix streams tab text not centered

* Add translations

* Results on user page

* Highlight logic for tournament results

* Leaderboard page initial

* Team leaderboard

* CSS tweaks

* Add unit tests

* Add some i18n

* Add leaderboards page meta

* Support tournaments of size 2

* Add E2E test

* Add missing group by
2023-06-29 00:21:33 +03:00
Kalle
3d86c11a82 Try another condition to fix flaky test 2023-06-24 13:16:49 +03:00
Kalle
73a9d2b784 Add damage multiplires for brellas+blasters, ensure each weapon only has one multiplier Closes #1044 2023-06-23 13:55:12 +03:00
Kalle
337f97e6c6 Tournament: Add subs to roster mid-tournament 2023-06-05 23:50:44 +03:00
Kalle
b6283a89c5
Build filters (#1382)
* Build filters WIP

* Move builds to feature folder

* Move stuff to builds feature folder

* Working filters

* AP values as dropdown

* Should revalidate logic

* Remove debounce

* Fix main ability filter not working by default

* Persist filters to search params

* Disable button if too many filters

* Stack on mobile

* Abilities in i18n json

* Ability icon in filter

* Add i18n

* E2E test

* Remove done todo
2023-06-04 11:37:05 +03:00
Kalle
8f4f9f8606 Tournament bracket E2E test 2023-05-23 19:58:55 +03:00
Kalle
ef78d3a2c2
Tournament full (#1373)
* Got something going

* Style overwrites

* width != height

* More playing with lines

* Migrations

* Start bracket initial

* Unhardcode stage generation params

* Link to match page

* Matches page initial

* Support directly adding seed to map list generator

* Add docs

* Maps in matches page

* Add invariant about tie breaker map pool

* Fix PICNIC lacking tie breaker maps

* Only link in bracket when tournament has started

* Styled tournament roster inputs

* Prefer IGN in tournament match page

* ModeProgressIndicator

* Some conditional rendering

* Match action initial + better error display

* Persist bestOf in DB

* Resolve best of ahead of time

* Move brackets-manager to core

* Score reporting works

* Clear winner on score report

* ModeProgressIndicator: highlight winners

* Fix inconsistent input

* Better text when submitting match

* mapCountPlayedInSetWithCertainty that works

* UNDO_REPORT_SCORE implemented

* Permission check when starting tournament

* Remove IGN from upsert

* View match results page

* Source in DB

* Match page waiting for teams

* Move tournament bracket to feature folder

* REOPEN_MATCH initial

* Handle proper resetting of match

* Inline bracket-manager

* Syncify

* Transactions

* Handle match is locked gracefully

* Match page auto refresh

* Fix match refresh called "globally"

* Bracket autoupdate

* Move fillWithNullTillPowerOfTwo to utils with testing

* Fix map lists not visible after tournament started

* Optimize match events

* Show UI while in progress to members

* Fix start tournament alert not being responsive

* Teams can check in

* Fix map list 400

* xxx -> TODO

* Seeds page

* Remove map icons for team page

* Don't display link to seeds after tournament has started

* Admin actions initial

* Change captain admin action

* Make all hooks ts

* Admin actions functioning

* Fix validate error not displaying in CatchBoundary

* Adjust validate args order

* Remove admin loader

* Make delete team button menancing

* Only include checked in teams to bracket

* Optimize to.id route loads

* Working show map list generator toggle

* Update full tournaments flow

* Make full tournaments work with many start times

* Handle undefined in crud

* Dynamic stage banner

* Handle default strat if map list generation fails

* Fix crash on brackets if less than 2 teams

* Add commented out test for reference

* Add TODO

* Add players from team during register

* TrustRelationship

* Prefers not to host feature

* Last before merge

* Rename some vars

* More renames
2023-05-15 22:37:43 +03:00
Kalle
a1ceff1fd2 Filter builds on user builds page Closes #1243 2023-04-23 15:19:17 +03:00
Kalle
d0e4945985 Fix flaky e2e test Closes #1332 2023-04-23 13:31:55 +03:00
Kalle
0c32456e72 Initial builds E2E tests 2023-04-23 13:26:18 +03:00
Kalle
da74b9c2f7 Fix potentially flaky E2E test Closes #1326 2023-04-09 00:01:48 +03:00
Kalle
c2e43fb535
X Rank placements (#1325)
* Read in x rank placements script

* Xsearch initial

* XSearch initial

* XSearch with select

* Add badges

* XSearch player page initial

* Consider only one build by user for popular builds Closes #1312

* Revert "Side nav labels on hover (#1290)"

This reverts commit 6e839c6c2d.

* Added and fixed DAnish translations (#1315)

* Added Danish translations

Added Danish translations for the builds.json file.

Translations for the following variables have been added
stats.count.title # used the Danish word for "average" instead of "stats", as it makes more sense in Danish.
stats.ap.title
stats.percentage.title
stats.all
linkButton.abilityStats
linkButton.popularBuilds
noPopularBuilds

* Added Danish translations

Added Danish translations in the calander.json file

tag.desc.SZ
tag.desc.TW
tag.desc.S1
tag.desc.S2
tag.desc.SR
tag.desc.CARDS

* Added Danish translations

Added Danish translations in the common.json file

The following translations have been added
pages.vods
tag.name.SZ
tag.name.TW
tag.name.S1
tag.name.S2
tag.name.SR
tag.name.CARDS

* Added Danish translations in the faq.json file

Added the following Danish translations in the faq.json file

q7
a7

* Updated the DA/game-misc.json file

Added the names for the 3.0 maps.

* Added Danish translation for team.json

Added the following Danish translations for team.json file
- roles.MIDLINE

Fixed the following translation for the team.json file
- "roles.FRONTLINE": # fixed a typo

* Created a vods.json file for the Danish trans

* Fixed typo

Fixed the following translation in the Da\contributions.json file

"yaga" # fixed a Typo of "våben"

* Add Chinese Translation (#1314)

* Update contributions.json

* Update contributions.json

* Update faq.json

* Update user.json

* Create team.json

* Update common.json

* Update analyzer.json

* Prettier

* Prettier

* Prettier

* Update builds.json

* Update calendar.json

* Update common.json

* Update faq.json

* Update team.json

* Create vods.json

* Admin link player action

* Make PlacementTable rounded if only child

* Fix arrow disappeared

* Placements on user page initial

* Remove S2 site link

* Add badge

* Add feature to README

* Fix type error

* Different badge text if XP badge

* Add badge winners script

* Better user avatar + name wrapping for mobile

* Allow script to skip users

* Fix bad align when no weapons in weapon pool

* Add aliases to player name

* Add division icon to placements table

* Link to user page

* Link to xsearch on player details page

* Top 500 icons to user build page

* Working query but slow for weapons page

* Fix lint complaints

* Add cache to builds

* Remove useless SWR value

* Group months in xsearch

* Add xsearch to nav

* Add meta

* Remove TW for now

* Add splatoon3.ink as contributor

* Remove unneeded TODO

* Fix TODOs related to fetching monthYears

* Add FAQ question

* Leaderboards to nav

* Fix sploosh build stat pages returning 404

* Add badge

* Add article

* Patch 3.1

* Fix Prettier issue

* Add badge

* Add April SR gear

* Add badges

* Rename badge

* Add badge

* Add zh badge translation (#1322)

* Splatoon Competitive Guide article (#1316)

* Create splatoon-competitive-guide.md

* Update splatoon-competitive-guide.md

* Fix ToC Issues

* Update splatoon-competitive-guide.md

* Update splatoon-competitive-guide.md

* Update splatoon-competitive-guide.md

* Corrections

* Formatting

---------

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

* Fix typos

* Rename table and adjust columns

* Make cache ttl 0 in dev

* Make placements container a bit nicer for mobile

* Rename leftover xxx

* Placements script allow passing number as arg

* Skip leaderboards for now

* Add translations

* Rename placements folder to top-search

* Add placements to seed

* Add E2E tests

* Read in x rank placements script

* Xsearch initial

* XSearch initial

* XSearch with select

* XSearch player page initial

* Admin link player action

* Make PlacementTable rounded if only child

* Fix arrow disappeared

* Placements on user page initial

* Fix bad align when no weapons in weapon pool

* Add aliases to player name

* Add division icon to placements table

* Link to user page

* Link to xsearch on player details page

* Top 500 icons to user build page

* Working query but slow for weapons page

* Fix lint complaints

* Add cache to builds

* Remove useless SWR value

* Group months in xsearch

* Add xsearch to nav

* Add meta

* Remove TW for now

* Add splatoon3.ink as contributor

* Remove unneeded TODO

* Fix TODOs related to fetching monthYears

* Add FAQ question

* Leaderboards to nav

* Fix sploosh build stat pages returning 404

* Rename table and adjust columns

* Make cache ttl 0 in dev

* Make placements container a bit nicer for mobile

* Rename leftover xxx

* Placements script allow passing number as arg

* Skip leaderboards for now

* Add translations

* Rename placements folder to top-search

* Add placements to seed

* Add E2E tests

* Rename url variable and unify

* Tweaks

---------

Co-authored-by: Frederik <112972665+FrederikFraJylland@users.noreply.github.com>
Co-authored-by: Gell <61431488+gellneko@users.noreply.github.com>
Co-authored-by: Zen <99558412+zenpk@users.noreply.github.com>
Co-authored-by: Teddi <83455454+teddinotteddy@users.noreply.github.com>
2023-04-07 21:02:18 +03:00
Kalle
6a585cff5a Add caching to popular builds and buil stats Closes #1308 2023-03-12 14:17:43 +02:00
Kalle
3a7549c732 Edit vods feature Closes #1278 2023-03-08 22:57:56 +02:00
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
f15a5f539c Build Analyzer: Build comparison E2E tests 2023-01-29 11:42:08 +02:00
Kalle
27cb5be472 Build Analyzer: Create new build prompt 2023-01-28 15:31:07 +02:00
Kalle
5115df4e2c Add customize user profile page colors e2e test 2023-01-25 18:32:52 +02:00
Kalle
d652e76154 Various improvements 2023-01-13 21:18:07 +02:00
Kalle
64874497fb Team: More E2E tests 2023-01-12 21:40:32 +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
77de97a406 User page: Team info 2023-01-06 16:33:37 +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
3588f01fb2 Put Object Damage Calc tests in describe block 2022-12-12 20:56:17 +02:00
Kalle
c3963223b6
Add initial Playwright tests (#1191) 2022-12-11 17:18:33 +02:00