Commit Graph

76 Commits

Author SHA1 Message Date
Kalle
fef1ffc955
Design refresh + a bunch of stuff (#2864)
Co-authored-by: hfcRed <hfcred@gmx.net>
2026-03-19 17:51:42 +02:00
Kalle
42cb33641d
Deadline per tournament match (#2657) 2025-12-10 19:42:30 +02:00
Kalle
7ed1394fba
Migrate Comboboxes to react-aria-components (#2408)
* Initial

* wip

* AnyWeapon

* del

* wip

* import stuff

* gearselect

* brand images

* wip

* wip

* art

* Remove old

* Fix tournament map pool link

* Simplify GearSelect

* convert to todo
2025-06-21 13:44:26 +03:00
Kalle
96fe5f0c78 Generate images route with season poster 2025-06-13 21:50:18 +03:00
Kalle
7901ee8cab
Scrim improvements (#2365)
* Initial

* wip

* wip

* Finish?

* remove comment
2025-06-07 17:21:29 +03:00
Kalle
869ab6a10f
Test tournaments, prematch chat & counterpicking with mode repeat (#2242)
* Initial

* Test tournaments

* Pre-match chat
2025-05-01 12:26:13 +03:00
Kalle
b4cc185d1d
Scrims (#2211)
Some checks are pending
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
* Initial

* Progress

* Initial UI

* Can submit request

* Progress

* Show text if no scrims

* Can cancel request, tabs

* Delete post

* Popover if can't delete

* Request rows

* Progress

* Scrim page initial

* Fix migration order

* Progress

* Progress

* Works again

* Make it compile

* Make it compile again

* Work

* Progress

* Progress

* Progress

* Associations initial

* Association visibility work

* notFoundVisibility form fields initial

* Progress

* Association leave/join + reset invite code

* Progress

* Select test

* Merge branch 'rewrite' into scrims

* Remeda for groupBy

* Select with search

* Outline styling for select

* Select done?

* Fix prop names

* Paginated badges

* Less important

* Select no results

* Handle limiting select width

* UserSearch non-working

* Fix problem from merge

* Remove UserSearch for now

* Remove todo

* Flaggable

* Remove TODOs

* i18n start + styling

* Progress

* i18n done

* Add association e2e test

* E2E tests

* Done?

* Couple leftovers
2025-04-20 22:51:23 +03:00
Kalle
7a2b78252a Allow rejecting uploaded images + validate many at a time 2025-04-17 10:31:55 +03:00
Kalle
4ff0586ff8
Notifications (#2117)
* Initial

* Progress

* Fix

* Progress

* Notifications list page

* BADGE_MANAGER_ADDED

* Mark as seen initial

* Split tables

* Progress

* Fix styles

* Push notifs initial

* Progress

* Rename

* Routines

* Progress

* Add e2e tests

* Done?

* Try updating actions

* Consistency

* Dep fix

* A couple fixes
2025-03-01 13:59:34 +02:00
Kalle
0c470a99cb Prompt to select team count when preparing SE/DE maps
Some checks failed
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled
2025-02-20 22:28:17 +02:00
Kalle
08d0ca8881 New section to league sign up registration
Some checks are pending
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2025-01-29 22:15:36 +02:00
Kalle
68aa12414a
New front page (#1938)
* Initial

* Progress

* Recent winners

* Add button

* Progress

* Mobile nav initial

* UI tweaks

* Overflow

* AnythingAdder links to places

* Remove color for tournament showcase

* Adjust SQ top banner based on if season is on right or not

* Tournament participant count fixed

* Log out

* todo

* Progress

* Nav complete

* Done?

* Fix lint

* Translate settings
2024-10-20 09:01:22 +03:00
Kalle
1c9dcacbf2
Join many teams & front page changelog (#1880)
* Initial

* Progress

* Changelog initial

* Progress

* E2E test
2024-09-14 12:31:05 +03:00
Kalle
19435dd75f
Prepare maps for brackets ahead of time (#1845)
* Prepared maps works for RR

* Refactor generateMatchesData

* Refactor rounds

* Initial prepare for SE/DE

* Share maps between brackets

* Todos

* resetPreparedMaps

* Bias SZ & reset prepared maps

* Trimming initial + tests initial

* Elimination trimming basic case

* Include group id

* Implemented all tests

* TODOs

* Better prepared maps submitted UX

* Small CSS tweaks

* Done

* Remove TODO
2024-08-24 12:10:36 +03:00
Kalle
9312fad90f
Tournament organization page (#1811)
* Initial

* Calendar initial

* Extract EventCalendar

* Events list initial

* Winners

* SQL fixes

* List events by series

* Leaderboards

* Series leaderboard

* Own entry peek

* Edit page skeleton

* RHF initial test

* RHF stuff

* Form etc. progress

* Fix tournament series description

* Fix tabs layout

* Fix socials insert

* Check for not removing admin

* Adding series

* TODOs

* Allow updating org with no series

* FormFieldset

* Allow series without events

* TextAreaFormfield accepting array syntax

* Input form array field

* ToggleFormField

* SelectFormField

* UserSearchFormField

* Fetch badgeOptions

* Badge editing

* Progress

* Use native preventScrollReset

* Rename func

* Fix sticky scroll

* Fix translation

* i18n errors

* handle,meta in edit

* Add ref to user search

* TODOs

* Done
2024-07-25 23:06:29 +03:00
Kalle
05d8fe5978 Improve style consistency Closes #1711 2024-07-02 16:38:47 +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
890b73f7a1
Tournament require IGNs option (#1760)
* Initial

* Edit IGN from profile

* Admin action

* Show IGN

* Toggle visibility
2024-06-09 11:23:00 +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
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
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
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
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
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
7dec8c572e
SendouQ Season 2 changes (#1542)
* Initial

* Saves preferences

* Include TW

* mapModePreferencesToModeList

* mapPoolFromPreferences initial

* Preference to map pool

* Adjust seed

* q.looking tests

* adds about created map preferences to memento in the correct spot (two preferrers)

* Failing test about modes

* Mode preferences to memento

* Remove old Plus Voting code

* Fix seeding

* find match by id via kysely

* View map memento

* Fix up map list generation logic

* Mode memento info

* Future match modes

* Add TODO

* Migration number

* Migrate test DB

* Remove old map pool code

* createGroupFromPrevious new

* Settings styling

* VC to settings

* Weapon pool

* Add TODOs

* Progress

* Adjust mode exclusion policy

* Progress

* Progress

* Progress

* Notes in progress

* Note feedback after submit

* Textarea styling

* Unskip tests

* Note sorting failing test

* Private note in Q

* Ownerpicksmaps later

* New bottom section

* Mobile layout initial

* Add basic match meta

* Tabs initial

* Sticky tab

* Unseen messages in match page

* Front page i18n

* Settings i18n

* Looking 18n

* Chat i18n

* Progress

* Tranfer weapon pools script

* Sticky on match page

* Match page translations

* i18n - tiers page

* Preparing page i18n

* Icon

* Show add note right after report
2023-11-30 20:57:06 +02:00
Kalle
0fb7da83d4 Decrease space below leaderboard 2023-10-12 18:41:50 +03:00
Kalle
f8f221708f Add IGN to GroupCard 2023-10-06 17:32:06 +03:00
Kalle
218c854ffb
SendouQ match page show & save powers + plus tier status (#1519)
* Initial

* New group cards initial

* Remove unused prop

* Vc

* Styling for after the match is locked

* Team

* Impersonate always in dev

* Diff

* Fix crash if match has no memento when inserting skill
2023-10-03 21:25:03 +03:00
Kalle
eb28accd97
Build Analyzer visualizations (#1517)
* Initial

* Pass mainWeaponId

* Repeating args to "context"

* Fix todos

* Date header

* Fix comparison showing for sub weapon def dmg even if no abilities selected

* Sub damage table charts

* Chart dot focus style

* Color grid initial

* Can change shots in the grid

* Optimize perf

* Style - cells

* Grid hover effect

* Mobile friendly
2023-10-01 12:20:48 +03:00
Kalle
0371bfcd12
SendouQ chat (#1508)
* Chat initial component

* Connect to websocket

* Chat render actual messages

* Chat keep scrolled to bottom

* Pending messages

* Pass rooms as arg

* Chat with tabs

* Message max length

* Looking tabs initial

* Fixes

* Chat on looking page w/ unread messages count

* Add reconnecting websocket

* Patron custom color

* Change ChatMessage data model

* Fix mobile layout

* Add clean up to useEffect

* Chat codes

* FF + clear messages on group morph

* Hide messages when user leaves etc.

* Fix match page layout when chat missing

* New tabs

* Tabs for mobile

* Add TODOs

* Switch to own group tab when roster changes

* Chat styling

* Redesign group cards

* Bring back manager buttons

* Remove flipped

* Remove unused code

* Align better

* Link to user profile

* Better room pass + highlighted

* Fix view when group expired

* Fix MemberAdder (missing input + overflow)

* Chat stay connected in looking

* Remove filters for now

* Fix chat number align

* Fix chat unseen messages

* Hide chat when alone

* Remove rest todos
2023-09-24 12:48:37 +03:00
Kalle
bfa9371786
SendouQ top 10 special display (#1483)
* Component initial

* TopTeanPlayer component

* Add to seasons page

* Finish
2023-09-05 21:03:36 +03:00
Kalle
255a12a069 Warn unreported matches, _action fix & default mode preference to ALL 2023-08-17 21:35:37 +03:00
Kalle
823034a0a1 SendouQ feedback changes 2023-08-15 17:51:29 +03:00
Kalle
e7bbb565be
SendouQ (#1455)
* Tables

* Clocks

* Maplist preference selector

* Fix SSR

* Nav icon

* RankedOrScrim

* Map pool

* Create group

* Redirect logic

* Persist map pool

* Advance from preparing page

* Rename query

* Fix merge

* Fix migration order

* Seed groups

* Find looking groups SQL

* Renders something

* More UI work

* Back to 30min

* Likes/dislikes

* Always return own group

* Fix like order

* 3 tc/rm/cb -> 2

* Show only 3 weapons

* Pass group size

* Handle both liked and liked by same group

* Fix SQL

* Group preference frontend work

* Morphing

* Styling

* Don't show group controls if not manager

* Give/remove manager

* Leave group

* Leave with confirm

* Delete likes when morphing groups

* Clocks consistency

* Remove bad invariant

* Persist settings to local storage

* Fix initial value flashing

* Fix never resolving loading indicator

* REFRESH_GROUP

* Flip animations

* Tweaks

* Auto refresh logic

* Groups of 4 seed

* Reduce throwing

* Load full groups initial

* Create match

* Match UI initial

* Score reporter initial

* Push footer down on match page

* Score reporter knows when set ended

* Score reporting untested

* Show score after report

* Align better

* Look again with same group functionality

* More migrations

* Team on match page

* Show confirmer before reporting score

* Report weapons

* Report weapos again by admin + skill changing

* Handle no tiebreaker given to MapPool

* Remove unranked

* Remove support for "team id skill"

* no-wrap -> nowrap

* Preparing page work

* Use common GroupCard component

* Add some metas

* MemberAdder in looking page

* Fix GroupCard actions

* Fix SZ only map list including other modes

* Add season info

* Prompt login

* Joining team

* Manage group on preparing page

* Manage group on preparing page

* Seed past matches

* Add to seed

* No map list preference when full group + fix expiry

* Fix skill matchesCount calculation

* Tiers initial work

* Some progress on tiers

* Tiering logic

* MMR in group cards

* Name to challenge

* Team MMR

* Big team rank icons

* Adjust todos

* Match score report with confirm

* Allow regular members to report score

* Handle reporting weapons edge cases

* Add tier images

* Improve GroupCard spacing

* Refactor looking page

* Looking mobile UI

* Calculate skill only for current season

* Divide groups visually when reporting weapons

* Fix match page weapons sorting

* Add cache to user skills+tier calculation

* Admin report match score

* Initial leaderboard

* Cached leaderboard

* Weapon category lb's

* Populate SkillTeamUser in SendouQ

* Team leaderboard filtered down

* Add TODOs

* Seasons initlal

* Season weapons initial

* Weapons stylized

* Show rest weapons as +

* Hide peak if same as current

* Load matches SQL initial

* Season matches UI initial

* Take user id in account

* Add weapons

* Paginated matches

* Fix pages count logic

* Scroll top on data change

* Day headers for matches

* Link from user page to user seasons page

* Summarize maps + ui initial

* Map stats

* Player info tabs

* MMR chart

* Chart adjustments

* Handle basing team MMR on player MMR

* Set initial MMR

* Add info about discord to match page

* Season support to tournaments

* Get tournament skills as well for the graph

* WIP

* New team rating logic + misc other

* tiered -> tiered.server

* Update season starting time

* TODOs

* Add rules page

* Hide elements correctly when off-season

* Fix crash when only one player with skill

* How-to video

* Fix StartRank showing when not logged in

* Make user leaderboard the default

* Make Skill season non-nullable

* Add suggested pass to match

* Add rule

* identifierToUserIds helper

* Fix tiers not showing
2023-08-12 22:42:54 +03:00
Kalle
35168111a6
Art (#1412)
* Add to nav

* Allow nav items on front page to take full width

* Initial+

* Fix vods page title

* Add page title

* Common art type

* ArtGrid to a different component

* User arts page initial

* Add art tab to user page

* Preview initial

* Fix art counting

* Fix link and onclick overlapping

* Link to user art page to arts they made

* Artist role initial

* Show description

* Make toggle in art page saved in search params

* Add white-space pre-wrap to plus comments

Not sure why it was removed in the first place?

* Commission open / text and edit those

* Add simple pagination

* New art link display logic

* New art initial

* Upload art

* Hide art from side nav too

* Show banner when waiting for approval

* Edit art

* Fix art sub nav link not showing active

* Relocate unvalidated art text

* Delete art

* Extract ImagePreview component

* Eliminate some layout shift

* BigImageDialog extract component + prevent layout shift

* i18n

* Fix unused var

* Fix tests
2023-07-09 11:48:28 +03:00
Kalle
eda6ee91f4 Make tournament pages translateable Closes #1354 2023-06-09 23:29:42 +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
7342dd1667
Tournament team page (#1380)
* WIP

* Query

* Backend for team page done

* UI function made

* UI work

* Tweaks

* Fix showing players from own team

* Optimize performance

* Inactive players styling

* Stage popover
2023-05-28 15:25:46 +03:00
Kalle
42423d3680 Flags in final standings 2023-05-23 19:59:12 +03:00
Kalle
02abc0b99c Misc tournament things 2023-05-17 20:53:03 +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
1f6bda88b4 Private builds Closes #1242 2023-04-23 11:55:00 +03:00
Kalle
c670237e4c Fix badge adding modal not scrollable Closes #1347 2023-04-19 01:28:56 +03:00
Kalle
de646e4fda Badges: Fix modal not showing overflowing user combobox 2023-04-15 20:08:44 +03:00
Kalle
cfa0d4dd0d
Build stats / popular builds (#1307)
* Add abilityPoints migration

* Initial stats

* Build stats UI

* Add TODO

* Update css file name

* Popular builds page
2023-03-11 14:05:08 +02:00
Kalle
3a7549c732 Edit vods feature Closes #1278 2023-03-08 22:57:56 +02:00
Kalle
c6361adec7 Layout adjustments 2023-02-15 00:08:27 +02:00
Kalle
057c4cf18d Support page 2023-01-23 00:39:21 +02:00