Commit Graph

89 Commits

Author SHA1 Message Date
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
af60cf3457 Battlefy account 2024-06-23 11:26:53 +03:00
Kalle
bfce8d9646
Custom name (#1754)
* Migration and edit

* Migrate from discordName

* discordDiscriminator
2024-06-03 22:20:21 +03:00
Kalle
c3b51be46a Patch 8.0 2024-06-01 13:06:33 +03:00
Kalle
a4a8af94dc
User submitted tournament logos (#1742)
* Can upload

* Remove avif tournament logos

* Progress

* TODOs

* Update logic

* Approval

* Fix e2e test
2024-05-26 10:55:34 +03:00
Kalle
254681aac5 Patch 7.2.0 2024-04-21 10:46:12 +03:00
Kalle
708bafeb03 Switch to Patreon API v2 Closes #1389
Also fixes problem with people who canceled not
getting access.
2024-04-16 22:07:52 +03:00
Kalle
f5a83b0032 Increase tournament rules max length 2024-04-14 14:04:30 +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
47d27a039f New season changes 2024-02-27 22:54:16 +02:00
Kalle
9cdd602737 Tournament showcase on the front page 2024-02-25 15:16:28 +02:00
Kalle
93ebb6e369 Migrate to Vite 2024-02-24 21:12:54 +02:00
Kalle
dbbc6c126f Patch 6.1.0 Closes #1639 2024-01-27 10:22:47 +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
ea0424c26c Checks fixes 2023-12-02 15:37:27 +02:00
Kalle
19920d8524 Use same admin ID for both dev and prod 2023-12-02 15:05:30 +02:00
Kalle
c8ea75ebb6
SQL solution migration to Kysely + getting rid of routes folder (#1530)
* Kysely initial

* Badges initial

* Badge routes migrated

* Badges migrated

* Calendar work

* Fix one type problem

* Calendar work

* findResultsByUserId work

* Calendar reworking finished

* PlusSuggestions work

* Migrated suggestions

* Builds progress

* Migrated builds

* Admin migrated

* Migrate articles

* User search

* Faster getUser

* Selectable/insertable as global

* Refresh prod db script + patronTier index

* identifierToUserId

* updateProfile

* findByIdentifier

* More indexes

* User upsert

* upsertLite

* findAllPlusMembers

* updateResultHighlights

* updateMany

* User finished migration

* Fix types

* Fix PlusVotingResult typing

* PlusVotingRepository WIP

* Migrated resultsByMonthYear

* Migrated plusVotes (done with db. related migrations)

* Plus code to features folder

* Fix TODOs

* Export

* Fix range

* Migrate some user pages

* Move rest user routes

* Move /play

* Map list generator

* Front page

* Move map list generation logic

* Move plus voting logic

* Info

* API

* Adjust TODOs

* theme

* Auth

* Remove TODO
2023-11-04 13:15:36 +02:00
Kalle
24875c1fb4
SendouQ real(er) time with notifications (#1525)
* Initial

* Move code

* More events implemented

* Auto refresh take in account recent revalidates

* Add sound effects

* Add creds

* Settings

* Add error handling

* Add envs
2023-10-18 18:33:17 +03:00
Kalle
789e5c293f Mod feature 2023-10-01 15:25:26 +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
711890b53a Increase commission text max to 1000 2023-07-09 20:07:05 +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
4162bb76e2 Splatoon 3 XP badges 2023-07-01 13:14:29 +03:00
Kalle
58b9c67fb7 Allow new IGN discriminator possibilites Closes #1355 2023-06-06 21:29:21 +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
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
d4f0849987 Patron: Customize colors of own user profile 2023-01-24 01:31:33 +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
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
1648e28ba9 BuildCard: Better title wrapping and alignment
Closes #1163
2022-11-26 17:08:00 +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
e00c7cf531 Submit map pool initial 2022-10-09 12:27:09 +03:00
Kalle
7eac4dd99c Increase IGN limit
In Splatoon limit is 10. But special characters can count as 2
even if in Splatoon they count as 1.
2022-10-04 20:56:16 +03:00
Kalle
34c1b0e71a User custom url, ign & sens initial 2022-09-29 23:26:31 +03:00
Kalle
a5fad589e8 Add limit + load more logic to builds page 2022-09-25 14:55:20 +03:00
Kalle
18c2d3bbab Make lint happy 2022-09-14 14:06:52 +03:00
Kalle
03ab68d9ac Create empty build constant 2022-09-14 12:05:30 +03:00
DoubleCookies
8a08f14254 Higher bracket URL size 2022-09-11 12:37:37 +03:00
Kalle
d69f335866 Can delete build 2022-09-03 18:14:53 +03:00
Kalle
a895976381 Weapons selector initial 2022-09-03 18:14:53 +03:00
Kalle
b98c9ef16c Builds form progress 2022-09-03 18:14:53 +03:00
Kalle
af65d8eb77 CALENDAR_EVENT constants to object 2022-08-07 14:31:04 +03:00
Kalle
762cb5e215 Implement parsing report scores action 2022-08-05 00:35:10 +03:00
Kalle
45d1ef8f45 Report results UI 2022-08-02 21:35:30 +03:00
Kalle
d67312f825 Sort tags before adding to DB 2022-07-31 13:14:30 +03:00
Kalle
a53a448a7f Add tournament action data schema 2022-07-30 16:41:16 +03:00
Kalle
5b459622d0 Add new events page initial 2022-07-29 21:24:45 +03:00
Kalle
1c814317c0 Access command initial 2022-06-18 22:33:14 +03:00