Commit Graph

72 Commits

Author SHA1 Message Date
Kalle
485fa7029e
Optimize DB queries (#3225) 2026-07-18 10:33:12 +03:00
Kalle
86730a31e4 Upgrade Biome
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-06-27 11:32:49 +03:00
Kalle
75179e5077 Zod validated config for security and ease of getting started 2026-06-15 14:12:15 +03:00
Kalle
cabd193a50 Delete aws-sdk dependency 2026-06-12 21:34:56 +03:00
Kalle
6e987d506f
Tournament layout refresh, improve admin experience (#3152)
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-06-11 18:31:10 +03:00
Kalle
f8319a2f96 Fix image form field rejecting uploads on browsers without canvas webp encoding
The SendouForm image field compresses the picked file client-side with
Compressor.js requesting "image/webp" output, which uses canvas.toBlob
under the hood. Per the HTML spec, browsers that can't encode the
requested type silently fall back to PNG instead of erroring (Safari /
all iOS browsers, Brave with fingerprint protection, older Android
WebViews). The resulting "data:image/png;base64," data URL rendered a
working preview but failed the zod schema's webp prefix check, showing
the user a bare "Invalid input" error with no way to upload.

Accept the png fallback in the schema and detect the actual format from
magic bytes on the server, storing the file with the matching extension
instead of always ".webp".
2026-06-10 21:45:42 +03:00
Kalle
734c6128d3 Exclude "orpan" images from user unvalidated images count 2026-06-09 20:00:14 +03:00
Kalle
be0940b5bc Fix supporter checked for unvalidated images count 2026-06-09 19:50:37 +03:00
Kalle
c4c0b6dd50 Migrate repository functions to use user id via ALS
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
2026-06-06 14:56:43 +03:00
Kalle
3f458cda34 Migrate edit org page to the new image SendouForm field component 2026-06-06 10:01:16 +03:00
Kalle
8afcd8e137
Convert edit teams form to SendouForm (#3138) 2026-06-04 20:38:24 +03:00
Kalle
f5688d3493 Validate image extensions serverside 2026-04-15 21:09:20 +03:00
Kalle
56a835611a Update Biome to 2.4.8 2026-03-21 15:19:32 +02:00
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
9e0f36d90c Refactor requireRole/requirePermission to resolve user internally
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:02:37 +02:00
Kalle
c20701d98c
Form system refactor from react-hook-form to one schema per form across the stack (#2735)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-18 18:21:19 +02:00
Kalle
41fadb20fe Add error message to user if trying to upload too big image 2026-01-14 20:59:57 +02:00
Kalle
23eaa268c0
User middleware try 2 (#2692) 2026-01-03 13:47:32 +02:00
Kalle
f11a3e798a Revert "User middleware (#2687)"
This reverts commit 4fca18ac8d.
2026-01-03 08:41:13 +02:00
Kalle
4fca18ac8d
User middleware (#2687) 2026-01-02 18:34:45 +02:00
Kalle
658421d899
Upgrade zod package to 4 (#2677) 2025-12-29 20:04:40 +02:00
Kalle
81483de0db
Upgrade to React Router 7 (#2681) 2025-12-29 19:21:11 +02:00
Kalle
42cb33641d
Deadline per tournament match (#2657) 2025-12-10 19:42:30 +02:00
Kalle
9296319d23
Refactor HACKY_resolvePicture away (#2606) 2025-11-08 13:54:02 +02:00
Kalle
0bcb426d8a Remove target="_blank" from internal navigation links
Some checks failed
E2E Tests / e2e (push) Has been cancelled
Tests and checks on push / run-checks-and-tests (push) Has been cancelled
Updates translation progress / update-translation-progress-issue (push) Has been cancelled
All links to internal routes should stay in the same tab to maintain user context and provide a better SPA experience. Closes #2619
2025-11-06 17:54:21 +02:00
Kalle
7b28ce3877
User submitted images to Kysely (#2610) 2025-11-01 14:55:23 +02:00
Kalle
baa4b43855
Docker setup for development (#2460)
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-07-20 16:58:21 +03:00
Kalle
f576b4da9a Upgrade Biome 2025-07-06 12:18:25 +03:00
Kalle
dd1adad94b BIome v2 upgrade
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-06-22 16:49:27 +03:00
Kalle
45cf5ba5cf
wip (#2391) 2025-06-11 18:59:54 +03:00
Kalle
9afb5df064 Tournament organizations use new permissions model & e2e test added 2025-06-08 21:39:38 +03:00
Kalle
accbaf40db
Refactor Button to SendouButton (#2367)
* initial

* done

* import ordering
2025-06-05 21:00:14 +03:00
Kalle
05e2e95aeb
Refactor more logic to use global roles (#2231)
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
* Initial

* wip
2025-04-27 21:03:47 +03:00
Kalle
d2551d2706
Global roles refactor (#2212)
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
* Initial

* isMod etc.

* canPerformAdminActions

* isAdmin

* isSupporter

* admin override

* Lohi

* Badge manage with new permissions style

* Refactor badge loading logic

* Move funcs

* Delete permissions.ts

* DRY
2025-04-21 23:51:30 +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
65c8cfc5ef Consistent actions/loaders folder structure 2025-03-23 11:24:56 +02:00
Kalle
c0ec15b7de Unify db type files
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-03-21 21:47:08 +02:00
Kalle
aea1e9ce35
Toasts (#2132)
* Fix unexpected server error when trying to access non-existing tournament team page

* Fix Catcher textarea usage

* Fix unexpected server error on LFG page

* Validator for duplicate tournament team name

* initial

* Fix tests

* Success toast

* Done?

* Fix leftover
2025-03-07 22:20:29 +02:00
Kalle
aec350281e Fix managers can't upload team pics (for real)
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-08 13:30:19 +02:00
Kalle
e1653c9d9e Fix managers can't upload team pics 2025-02-08 12:53:32 +02:00
Kalle
8f156fb917
Team editors in addition to the owner (#2077)
* Initial

* Handle owner leaving

* Remove old team queries

* Progress

* Retire old toggle

* e2e tests

* Divide loaders/actions of team pages
2025-02-04 10:56:33 +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
cd8ede6a2e Fix updating secondary team avatar/banner not possible Closes #1888 2024-09-22 13:54:03 +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
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
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
28ce455f4c Clear tournament cache when avatar is approved 2024-07-21 11:00:43 +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
2b53c348e6 Switch to own invariant that logs errors in prod 2024-06-02 14:34:01 +03:00