Commit Graph

430 Commits

Author SHA1 Message Date
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
1e5c6bf7fa Use Chara introduction video 2023-10-01 12:24:47 +03:00
Kalle
501b858cad Skalop URL via root data loader 2023-09-24 15:29:30 +03:00
Kalle
9ee63f2906 Fix Skalop URL for prod 2023-09-24 15:09:26 +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
dab6b00c2d Update Prettier 2023-08-26 22:38:11 +03:00
Kalle
fd7d1ea2dc
User search (#1468)
* Initial

* Search users from API

* Better feeling search

* Fix TODO

* Search via url, discord id & id

* Load initial user

* UserSearch on admin page

* UserSearch on tournaments page

* UserSearch for badges

* Plus suggestions

* Vod page

* Remove unused code

* Fix test
2023-08-26 22:10:01 +03:00
Kalle
d4b9dcd516
Weapon usage (#1466)
* Initial

* Finished?

* Remove comment
2023-08-22 21:16:28 +03:00
Kalle
082d732b3f Fix joining q directly on Safari 15 crashing 2023-08-19 13:57:35 +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
7b5d2a2a21 Fix tier image not showing 2023-08-14 21:04:20 +03:00
Kalle
fa83790dff Privately cache user build tab response to avoid repeated requests 2023-08-13 15:36: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
7b18a0cfc7
Art tags (#1420)
* Have clicking pagination dots do a thing

* Add tag frontend

* Backend

* Render tags

* Filter by tag

* Persist big art to search params

* Filter by tags on the common art page

* Linking tags + user tags
2023-07-12 16:25:46 +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
57e71c542b Links page 2023-07-03 10:55:02 +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
68dac83f4f Fix users without weapon pool having one "null weapon" 2023-06-17 21:50:52 +03:00
Kalle
2c6bd22249 Favorite weapons in user weapon pool Closes #1346 2023-06-17 16:56:51 +03:00
Kalle
600c67f765 Use new Discord display name, make showing unique username optional Closes #1391 2023-06-17 16:02:09 +03:00
Kalle
734688296e
Tournament subs (#1394)
* Initial

* Progress

* Layout work

* New sub page initial

* Edit sub posting

* Delete sub posting

* Improve sub nav looks on mobile

* Finalized
2023-06-16 20:21:22 +03:00
Kalle
c6be828035 Temporary handling of new discord names 2023-06-06 21:23:27 +03:00
Kalle
ad1b1fdf84 Upgrade deps 2023-06-04 12:53:30 +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
73a687bb09 Tournament: Resolve map list on the server 2023-05-29 00:10:04 +03:00
Kalle
f23446659a Calendar: Fix showing past events last not working on Sunday Closes #1379 2023-05-28 16:05:40 +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
ef5c906321 Calendar: Sort this week's past events last 2023-05-23 23:13:31 +03:00
Kalle
cda9c8b082 Tournament streams initial 2023-05-22 00:43:51 +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
9da4493555 Change invariant to validate with good error message 2023-04-25 00:08:27 +03:00
Kalle
0c32456e72 Initial builds E2E tests 2023-04-23 13:26:18 +03:00
Kalle
1f6bda88b4 Private builds Closes #1242 2023-04-23 11:55:00 +03:00
Kalle
5e36b76ee8
TO Tools back (#1349)
* Remove friend code

* Revive TO Tools admin page

* Revive TO Tools maps page

* Initial one mode only map list

* Add modesIncluded arg

* Handle no maps picked for SZ only generation

* Tiebreaker is always from the maps of the teams

* Make modesIncluded necessary arg

* Tiebreaker is from neither team's pool if no overlap

* Handles worst case duplication

* Handles one team submitted no maps test

* Fix crash

* Seed

* Can change one mode tournament map pool

* Fix join page link

* Remove useless TODO

* Fixes related to mapListGeneratorAvailable

* Fix map list generation considering impossible map lists making it take forever

* Show unlisted select for both sides

* Add info texts

* Remove register button

* Add todos

* Finished version for ITZ

* Times

* Remove TODOs

* 23->24
2023-04-22 11:44:20 +03:00
PM.Net JDS
40e56d2b53
Round sub velocity to thousandths place, fix bug in round function (Fixes #1348) (#1353)
* Round velocity to thousandths place, fix bug in round function

* Prettier application
2023-04-22 11:31:35 +03:00
Kalle
cfbd18b4fe Object Damage Calc: Separate subs in the combobox Closes #1220
Also due to a bug the subs were not accessible at all before.
This was a bug introduced in c014ba5e18
2023-04-15 12:06:07 +03:00
Kalle
1061a3901d Upgrade Headless UI + combobox UI improvements 2023-04-11 00:26:00 +03:00
Kalle
c014ba5e18
Sub damage table in Build Analyzer (#1333)
* Sub weapon damage table initial

* Remove duplicate stats

* Tiny sub weapon icons

* Border-collapse collapse

* Move func location

* Varying sub damage support

* Calculates damages of various bombs

* Burst bomb direct damage

* Fizzy dmg

* Curling bomb explosion values

* Don't show comparison column if no SRU

* Torpedo

* Add note about Splash Wall and Sprinkler

* Fix comment
2023-04-10 11:46:04 +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
7a249522a4 Fix sploosh build stat pages returning 404 2023-03-29 21:45:26 +03:00
Kalle
575d285ee4 Fix type error 2023-03-26 16:40:30 +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
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
Kalle
e6c25967e9 Analyzer add link to Obj DMG page when OS selected
Closes #1039
2022-10-27 09:43:56 +03:00
Kalle
bf4b6fab13 Add object dmg calc to nav and front page 2022-10-26 09:00:43 +03:00
Kalle
d487af683a Object damage filter by damage type 2022-10-23 12:50:25 +03:00
Kalle
14f7507e2c Make damage use rounding that matches data struct 2022-10-23 12:01:05 +03:00
Kalle
e705c58ebb More type safety to SendouRouteHandle.navItemName 2022-10-22 12:40:36 +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
db4f633a47
Add type for route handles 2022-10-21 00:48:10 +02:00
Remmy Cat Stock
ab98a106bb
Show dialog for failed login attempts 2022-10-20 22:40:34 +02:00
Remmy Cat Stock
76afa161fc
Implement user result highlights UI 2022-10-18 23:41:01 +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
f81ac674e1 Link to iplabs 2022-10-13 22:38:46 +03:00
Kalle
4108637a30 Save map pool in edit calendar event page 2022-10-13 19:22:23 +03:00
Kalle
6770b8e214 Map pool from server 2022-10-09 19:06:22 +03:00
Kalle
34e134acaf Maps with serializing to URL 2022-10-06 20:54:14 +03:00
Kalle
5e6ffbebfb Add link to spl2 sendou ink to footer
Closes #908
2022-10-04 21:35:23 +03:00
Kalle
7b038d87d9 Extra infos on user page 2022-10-02 12:20:19 +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
34c1b0e71a User custom url, ign & sens initial 2022-09-29 23:26:31 +03:00
Kalle
2c330620fb Add button to analyzer to build card 2022-09-27 21:53:12 +03:00
Kalle
492977f45c Add logo with link to front page 2022-09-26 21:21:00 +03:00
Kalle
24461f75aa Fix weapon deslugifying not working w/ other langs 2022-09-25 16:36:23 +03:00
Kalle
fa5cd28c0d More friendly error page 2022-09-25 16:18:09 +03:00
Kalle
a9c8daa360 Builds page Add build button 2022-09-25 11:53:51 +03:00
Kalle
fe7237ba4c Builds page breadcrumbs 2022-09-25 11:47:39 +03:00
Kalle
24330b72ed Working links on build index page 2022-09-25 11:05:51 +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
3e28818269 Analyzer damage table initial 2022-09-15 13:14:33 +03:00
Kalle
35dbe4e6cc Default preview image for Discord etc. links 2022-09-14 23:04:52 +03:00
Kalle
ef1b89675d KitCards for analyzer 2022-09-12 19:31:33 +03:00
Kalle
42ebd69ebc Update main weapons folder name 2022-09-12 16:52:52 +03:00
Kalle
5275520533 Show joining instructions when passing Plus Voting
Closes #911
2022-09-04 23:27:00 +03:00
Kalle
c06a7c4f74 Can submit a new build 2022-09-03 18:14:53 +03:00
Kalle
e94cd3e755 AbilitySelector 2022-09-03 18:14:53 +03:00
Kalle
b75a3c5703 Build schema initial 2022-09-03 18:14:53 +03:00
Kalle
b94a1beb6f UNKNOWN ability 2022-09-03 18:14:53 +03:00
Kalle
0f0542f2e9 Build cards initial 2022-09-03 18:14:53 +03:00
Kalle
3c09c16e05 Front page feature cards 2022-08-24 20:27:08 +03:00
Kalle
db96345e53 Articles on front page initial 2022-08-24 00:17:45 +03:00
Kalle
806aabd4e1 Add a few more og properties 2022-08-20 16:44:58 +03:00
Kalle
009c2a3e24 Article feature initial 2022-08-20 16:15:03 +03:00
Kalle
adf15e72e6 Seed via admin panel 2022-08-16 20:17:25 +03:00
Kalle
cc1dee675c Fix when editing event time doesn't match 2022-08-13 15:49:59 +03:00
Kalle
2a7d32b77f User profile results page 2022-08-11 23:21:15 +03:00
Kalle
6a6f8a19e8 New event dates fix able to submit without one 2022-08-07 13:25:49 +03:00
Kalle
6a649efc06 Saves winners to DB 2022-08-06 18:42:56 +03:00
Kalle
c86a548b4f Parse tournament results and return errors 2022-08-06 01:12:57 +03:00
Kalle
762cb5e215 Implement parsing report scores action 2022-08-05 00:35:10 +03:00
Kalle
e39e72c840 Report results page link 2022-08-01 09:28:45 +03:00
Kalle
c4b5d8d1c2 "browses weeks and inspects event page" E2E test 2022-07-31 20:32:38 +03:00
Kalle
6281c4cb5f "operates custom form controls" E2E test 2022-07-31 15:25:26 +03:00
Kalle
7d7f771c19 Edit event full flow 2022-07-31 14:16:03 +03:00
Kalle
7d333a5b7f Implement adding new event to DB 2022-07-30 17:45:12 +03:00
Kalle
a53a448a7f Add tournament action data schema 2022-07-30 16:41:16 +03:00
Kalle
212966eb32 Merge branch 'rewrite' of https://github.com/Sendouc/sendou.ink into calendar 2022-07-29 22:54:25 +03:00
Kalle
efbcafaf82 Badge prize preview on calendar event page 2022-07-28 22:39:33 +03:00
Kalle
c06fc5fe42 WeekLinkTitle with date ranges 2022-07-26 21:40:10 +03:00
Kalle
9041777896 Remove PLUS_SUGGESTIONS_PAGE constant 2022-07-26 20:41:49 +03:00
Kalle
118d89496a Plus suggestion redirect to tab with new user 2022-07-26 20:38:56 +03:00
Kalle
912cf5ac57 Events list layout with all elements 2022-07-24 10:38:42 +03:00
Kalle
72b9903b03 Calendar meta 2022-07-23 14:24:24 +03:00
Kalle
abc30fd12b Calendar events from DB initial 2022-07-22 23:20:39 +03:00
Kalle
b5580c347f Calendar navigation with data from loader 2022-07-21 20:57:01 +03:00
Kalle
4bc7b3025b Translate user page 2022-07-17 13:38:57 +03:00
Kalle
63d9a5b53b Set translated title on client side for FAQ 2022-07-17 11:52:35 +03:00
Kalle
4d2c72c14f Add contributions page 2022-07-11 23:38:21 +03:00
Kalle
4b8eecc2c9 Footer desktop initial 2022-07-11 16:11:09 +03:00
Kalle
fb1d423bf0 Info to FAQ on how to get a badge for event 2022-07-10 18:26:51 +03:00
Kalle
64d0f95f3b Patreon pledge data parsing endpoint initial 2022-07-10 12:27:02 +03:00
Kalle
83a66aa21a Close badge edit modal after successful POST 2022-07-09 15:36:28 +03:00
Kalle
2a37365bd6 Edit managers in DB 2022-07-07 12:30:08 +03:00
Kalle
2ca589faf6 Add user migration admin feature 2022-07-05 20:15:30 +03:00
Kalle
80b901a121 Edit badge owners button with permissions 2022-07-05 15:46:00 +03:00
Kalle
9f50b04f2e Badge thumbnail images 2022-07-04 22:01:51 +03:00
Kalle
89a16d4ff3 Badges url via function 2022-07-04 21:09:10 +03:00
Kalle
cf7ec172c9 Add FAQ page with Plus Server info 2022-07-03 15:40:05 +03:00
Kalle
0f7518e055 Badge details page initial 2022-06-27 09:36:29 +03:00
Kalle
c7a50ded65 Impersonate users in prod 2022-06-18 15:51:17 +03:00
Kalle
1e8a63c961 Submit votes initial 2022-06-12 15:11:23 +03:00
Kalle
79278c4cbc Add usersForVoting backend logic 2022-06-11 18:28:12 +03:00
Kalle
e16ad178ec xxx -> TODO allTruthy 2022-06-11 15:44:58 +03:00
Kalle
1c1d8dd6fe Move auth to modules 2022-06-11 11:21:06 +03:00
Kalle
7dd6efb832 Replace Array.at with error throwing function 2022-06-10 00:36:06 +03:00
Kalle
105854335f Voting history page initial 2022-06-05 12:45:58 +03:00
Kalle
7528652b42 PlusTier view 2022-06-04 16:04:43 +03:00
Kalle
759aed9518 Remove unused param useBody 2022-06-04 11:19:08 +03:00
Kalle
ed12978073 Can't delete suggestion if it has comments 2022-06-04 10:57:31 +03:00
Kalle
5f66dddb08 Restructure and add notes 2022-06-02 17:34:46 +03:00
Kalle
03c7404720 Rename stuff in permissions 2022-06-02 10:10:30 +03:00
Kalle
44e745692d Add comment to database 2022-05-26 21:49:48 +03:00
Kalle
a4b839d55a Add permissions 2022-05-26 19:48:16 +03:00
Kalle
cf96c49e20 Comment modal with functioning link 2022-05-26 15:48:49 +03:00
Kalle
6a23c4f2bb Add titles via meta tag 2022-05-25 21:41:37 +03:00
Kalle
9ceabd5700 Suggestions UI initial 2022-05-25 09:59:58 +03:00
Kalle
800b456a52 Impersonate another user feature 2022-05-24 19:03:54 +03:00
Kalle
cabe6f53e6 Find suggestions database logic 2022-05-22 20:54:23 +03:00
Kalle
125dac42fa Move authentication logic 2022-05-19 17:34:40 +03:00
Kalle
185295d54e
User page initial with SQLite3 (#822)
* Clean away prisma migrations

* Way to migrate WIP

* SQLite3 seeding script initial

* Fetch tournament data in loader

* CheckinActions new loader data model

* Virtual banner text color columns

* Logged in user

* Count teams

* ownTeam

* Map pool tab fully working

* Teams tab

* Fix timestamp default

* Register page

* Manage team page

* Camel case checkedInTimestamp

* Clean slate

* Add .nvmrc

* Add favicon

* Package lock file version 2

* Update tsconfig

* Add Tailwind

* Add StrictMode

* Add background color

* Auth without DB

* Revert "Add Tailwind"

This reverts commit 204713c602.

* Auth with DB

* Switch back to tilde absolute import

* Import layout

* Camel case for database columns

* Move auth routes to folder

* User popover links working

* Import linters

* User page initial

* User edit page with country

* Script to delete db files before migration in dev

* Remove "youtubeName" column

* Correct avatar size on desktop

* Fix SubNav not spanning the whole page

* Remove duplicate files

* Update README
2022-05-16 17:52:54 +03:00
Kalle
03da81a84c
New navigation (#821)
* Menu skeleton

* Menu with nav icons

* Menu opens and closes

* More menu icons + links work

* Menu closes on navigation

* Blurred menu

* Remove other nav

* Rounded nav

* Fix menu alignment for Safari

* Close on click outside

* Disable body scroll when menu open

* SubNav for tournament

* Use grid

* Make images same size again

* Remove comment

* Different style mobile nav

* Readd InfoBanner elements

* Move menu css to layout.css

* Move admin command input top left

* Page title from loader

* Fix error when getting pageTitle

* Fix CI
2022-04-30 11:10:09 +03:00
Kalle
b84917133b Edit match if winner unchanged 2022-04-21 17:34:39 +03:00
Kalle
270e00fbe1 Upgrade deps 2022-04-15 18:22:36 +03:00