From dd1adad94b0c9a47e931eaea7ead45b14fbe0eb3 Mon Sep 17 00:00:00 2001 From: Kalle <38327916+Sendouc@users.noreply.github.com> Date: Sun, 22 Jun 2025 16:49:27 +0300 Subject: [PATCH] BIome v2 upgrade --- app/components/AbilitiesSelector.tsx | 3 +- app/components/Ability.tsx | 3 +- app/components/AddNewButton.tsx | 2 +- app/components/Avatar.tsx | 1 - app/components/Badge.tsx | 1 - app/components/BuildCard.tsx | 9 +- app/components/Catcher.tsx | 16 ++- app/components/CustomizedColorsInput.tsx | 4 +- app/components/DateInput.tsx | 3 +- app/components/FormErrors.tsx | 6 +- app/components/FriendCodeInput.tsx | 6 +- app/components/GearSelect.tsx | 2 +- app/components/Image.tsx | 10 +- app/components/InfoPopover.tsx | 5 +- app/components/MapPoolSelector.module.css | 1 - app/components/Pagination.tsx | 1 + app/components/SubNav.tsx | 2 +- app/components/TimePopover.tsx | 5 +- app/components/WeaponSelect.tsx | 4 +- app/components/elements/Dialog.module.css | 5 +- app/components/elements/Dialog.tsx | 7 +- app/components/elements/FieldMessage.tsx | 4 +- app/components/elements/Menu.tsx | 1 + app/components/elements/Select.module.css | 1 - app/components/elements/Select.tsx | 2 +- app/components/elements/Tabs.tsx | 6 +- app/components/elements/Toast.module.css | 1 - app/components/elements/UserSearch.module.css | 1 - app/components/elements/UserSearch.tsx | 3 +- app/components/form/AddFieldButton.tsx | 6 +- app/components/form/FormFieldset.tsx | 6 +- app/components/form/SendouForm.tsx | 2 +- app/components/form/ToggleFormField.tsx | 6 +- app/components/form/UserSearchFormField.tsx | 6 +- app/components/icons/ArrowDownOnSquare.tsx | 6 +- app/components/icons/ArrowLongLeft.tsx | 5 +- app/components/icons/ArrowUpOnSquare.tsx | 6 +- app/components/icons/Battlefy.tsx | 1 - app/components/icons/Beaker.tsx | 5 +- app/components/icons/Cross.tsx | 5 +- app/components/icons/Edit.tsx | 5 +- app/components/icons/Hamburger.tsx | 6 +- app/components/icons/Trophy.tsx | 5 +- app/components/layout/AnythingAdder.tsx | 4 +- .../layout/LogInButtonContainer.tsx | 2 +- app/components/layout/NavDialog.tsx | 7 +- app/components/layout/NotificationPopover.tsx | 3 +- app/components/layout/index.tsx | 5 +- app/db/seed/index.ts | 22 ++--- app/db/sql.ts | 9 +- app/entry.client.tsx | 3 +- app/entry.server.tsx | 7 +- app/features/admin/core/plus-tier.server.ts | 2 +- app/features/admin/routes/admin.test.ts | 2 +- app/features/admin/routes/admin.tsx | 13 +-- app/features/admin/routes/generate-images.tsx | 11 ++- .../api-public/routes/calendar.$year.$week.ts | 2 +- app/features/api-public/routes/org.$id.ts | 2 +- .../routes/sendouq.active-match.$userId.ts | 2 +- .../routes/sendouq.match.$matchId.ts | 2 +- .../api-public/routes/tournament-match.$id.ts | 6 +- ...tournament.$id.brackets.$bidx.standings.ts | 2 +- .../routes/tournament.$id.brackets.$bidx.ts | 2 +- .../routes/tournament.$id.casted.ts | 2 +- .../api-public/routes/tournament.$id.teams.ts | 2 +- .../api-public/routes/tournament.$id.ts | 2 +- .../api-public/routes/user.$identifier.ts | 2 +- app/features/art/components/ArtGrid.tsx | 8 +- app/features/art/routes/art.new.tsx | 29 +++--- app/features/art/routes/art.tsx | 10 +- .../AssociationRepository.server.ts | 10 +- .../actions/associations.server.ts | 5 +- .../associations/routes/associations.tsx | 31 +++--- .../auth/core/DiscordStrategy.server.ts | 2 +- app/features/auth/core/routes.server.ts | 2 +- .../badges/routes/badges.$id.edit.tsx | 4 +- app/features/badges/routes/badges.tsx | 2 +- app/features/build-analyzer/analyzer-hooks.ts | 2 +- app/features/build-analyzer/analyzer-types.ts | 2 +- .../components/PerInkTankGrid.tsx | 3 + app/features/build-analyzer/core/stats.ts | 4 +- app/features/build-analyzer/core/utils.ts | 2 +- app/features/build-analyzer/index.ts | 24 ++--- .../build-analyzer/routes/analyzer.tsx | 17 ++-- .../loaders/builds.$slug.popular.server.ts | 2 +- .../loaders/builds.$slug.stats.server.ts | 2 +- .../builds/components/FilterSection.tsx | 8 +- .../builds/core/ability-sorting.server.ts | 6 +- .../builds/loaders/builds.$slug.server.ts | 3 +- .../builds/queries/buildsBy.server.ts | 2 +- app/features/builds/routes/builds.$slug.tsx | 15 +-- .../calendar/actions/calendar.new.server.ts | 3 +- app/features/calendar/calendar-schemas.ts | 2 +- app/features/calendar/calendar-utils.ts | 3 +- .../components/BracketProgressionSelector.tsx | 16 ++- .../calendar/components/FiltersDialog.tsx | 7 +- .../components/TournamentCard.module.css | 8 +- .../calendar/components/TournamentCard.tsx | 8 +- .../calendar/core/CalendarEvent.test.ts | 2 +- app/features/calendar/core/CalendarEvent.ts | 5 +- .../routes/calendar.$id.report-winners.tsx | 7 +- app/features/calendar/routes/calendar.$id.tsx | 6 +- .../calendar/routes/calendar.module.css | 1 - app/features/calendar/routes/calendar.new.tsx | 10 +- app/features/calendar/routes/calendar.tsx | 12 ++- app/features/chat/ChatSystemMessage.server.ts | 3 +- app/features/chat/components/Chat.tsx | 2 +- .../core/ShowcaseTournaments.server.ts | 7 +- .../front-page/loaders/index.server.ts | 4 +- app/features/front-page/routes/index.tsx | 33 ++++--- .../img-upload/actions/upload.server.ts | 10 +- app/features/img-upload/index.ts | 4 +- .../img-upload/routes/upload.admin.tsx | 6 +- app/features/img-upload/routes/upload.tsx | 10 +- app/features/info/routes/contributions.tsx | 3 +- app/features/info/routes/support.tsx | 2 +- .../LeaderboardRepository.server.ts | 5 +- .../leaderboards/core/leaderboards.server.ts | 2 +- .../loaders/leaderboards.server.ts | 2 +- .../leaderboards/routes/leaderboards.tsx | 3 +- app/features/lfg/LFGRepository.server.ts | 2 +- app/features/lfg/components/LFGFilters.tsx | 4 +- app/features/lfg/components/LFGPost.tsx | 2 +- app/features/lfg/lfg-types.ts | 2 +- app/features/lfg/routes/lfg.new.tsx | 9 +- app/features/lfg/routes/lfg.tsx | 5 +- app/features/links/routes/links.tsx | 2 +- .../map-list-generator/routes/maps.tsx | 6 +- .../map-planner/components/Planner.tsx | 21 ++-- app/features/map-planner/routes/plans.tsx | 2 +- .../components/NotificationList.module.css | 16 +-- .../components/NotificationList.tsx | 5 +- .../notifications/core/notify.server.ts | 2 +- .../notifications/notifications-utils.ts | 4 +- .../notifications/routes/notifications.tsx | 5 +- .../calculator-hooks.ts | 2 +- .../core/objectDamage.test.ts | 2 +- .../core/objectHitPoints.ts | 2 +- .../routes/object-damage-calculator.tsx | 10 +- ...plus.suggestions.comment.$tier.$userId.tsx | 5 +- .../routes/plus.suggestions.new.tsx | 7 +- .../routes/plus.suggestions.tsx | 10 +- .../plus-voting/actions/plus.voting.server.ts | 2 +- app/features/plus-voting/core/index.ts | 9 +- .../plus-voting/core/usePlusVoting.ts | 3 +- .../loaders/plus.voting.results.server.ts | 2 +- .../plus-voting/loaders/plus.voting.server.ts | 2 +- app/features/plus-voting/routes/plus.list.ts | 2 +- .../plus-voting/routes/plus.voting.tsx | 14 ++- .../scrims/actions/scrims.$id.server.ts | 2 +- .../scrims/actions/scrims.new.server.ts | 5 +- app/features/scrims/actions/scrims.server.ts | 10 +- .../scrims/components/WithFormField.tsx | 2 +- .../scrims/loaders/scrims.$id.server.ts | 2 +- app/features/scrims/loaders/scrims.server.ts | 2 +- app/features/scrims/routes/scrims.$id.tsx | 17 ++-- app/features/scrims/routes/scrims.new.tsx | 15 +-- app/features/scrims/routes/scrims.tsx | 27 ++--- .../actions/q.match.$id.server.ts | 6 +- .../components/AddPrivateNoteDialog.tsx | 2 +- .../sendouq-match/core/match.server.test.ts | 2 +- .../sendouq-match/core/match.server.ts | 7 +- .../loaders/q.match.$id.server.ts | 2 +- .../sendouq-match/routes/q.match.$id.tsx | 26 +++-- app/features/sendouq-settings/q-settings.css | 8 +- .../sendouq-settings/routes/q.settings.tsx | 91 +++++++++-------- .../sendouq-streams/core/streams.server.ts | 7 +- .../sendouq-streams/routes/q.streams.tsx | 2 +- .../sendouq/actions/q.looking.server.ts | 4 +- .../sendouq/actions/q.preparing.server.ts | 2 +- app/features/sendouq/components/GroupCard.tsx | 11 +-- .../sendouq/components/GroupLeaver.tsx | 2 +- .../sendouq/components/MemberAdder.tsx | 4 +- app/features/sendouq/core/groups.server.ts | 4 +- .../sendouq/loaders/q.looking.server.ts | 4 +- .../sendouq/loaders/q.preparing.server.ts | 2 +- app/features/sendouq/q.css | 3 - app/features/sendouq/routes/q.info.tsx | 4 +- app/features/sendouq/routes/q.looking.test.ts | 2 +- app/features/sendouq/routes/q.looking.tsx | 13 ++- app/features/sendouq/routes/q.preparing.tsx | 7 +- app/features/sendouq/routes/q.tsx | 99 +++++++++---------- app/features/settings/routes/settings.tsx | 4 +- .../actions/t.$customUrl.edit.server.test.ts | 3 +- .../team/actions/t.$customUrl.edit.server.ts | 2 +- .../team/actions/t.$customUrl.join.server.ts | 2 +- .../team/routes/t.$customUrl.edit.tsx | 4 +- .../team/routes/t.$customUrl.roster.tsx | 8 +- app/features/team/routes/t.$customUrl.test.ts | 2 +- app/features/team/routes/t.$customUrl.tsx | 13 +-- app/features/team/routes/t.tsx | 9 +- app/features/team/team.css | 1 - app/features/theme/core/provider.tsx | 10 +- app/features/theme/core/session.server.ts | 2 +- app/features/theme/routes/theme.ts | 2 +- .../top-search/routes/xsearch.player.$id.tsx | 9 +- app/features/top-search/routes/xsearch.tsx | 3 +- .../actions/to.$id.brackets.server.ts | 10 +- .../actions/to.$id.matches.$mid.server.ts | 8 +- .../components/Bracket/Swiss.tsx | 2 +- .../components/BracketMapListDialog.tsx | 29 +++--- .../components/CastInfo.tsx | 2 +- .../components/MatchActions.tsx | 4 +- .../components/MatchActionsBanPicker.tsx | 12 +-- .../components/StartedMatch.tsx | 4 +- .../components/TeamRosterInputs.tsx | 4 +- .../components/TournamentTeamActions.tsx | 5 +- .../tournament-bracket/core/Bracket.ts | 4 +- .../core/PreparedMaps.test.ts | 1 - .../core/Tournament.server.ts | 2 +- .../tournament-bracket/core/Tournament.ts | 6 +- .../core/brackets-manager/crud.server.ts | 2 +- .../tournament-bracket/core/mapList.server.ts | 9 +- .../core/summarizer.test.ts | 2 +- .../routes/to.$id.brackets.tsx | 17 ++-- .../routes/to.$id.divisions.tsx | 4 +- .../routes/to.$id.matches.$mid.tsx | 7 +- .../tournament-bracket-utils.ts | 7 +- .../tournament-bracket/tournament-bracket.css | 1 - .../actions/org.$slug.server.ts | 3 +- .../components/BannedPlayersList.tsx | 6 +- .../core/leaderboards.server.ts | 5 +- .../loaders/org.$slug.server.ts | 2 +- .../routes/org.$slug.edit.tsx | 19 ++-- .../routes/org.$slug.tsx | 22 +++-- .../routes/to.$id.subs.new.tsx | 7 +- .../tournament-subs/routes/to.$id.subs.tsx | 10 +- .../tournament/TournamentRepository.server.ts | 2 +- .../tournament/actions/to.$id.admin.server.ts | 4 +- .../actions/to.$id.register.server.ts | 2 +- .../tournament/actions/to.$id.seeds.server.ts | 2 +- app/features/tournament/core/Standings.ts | 5 +- .../tournament/loaders/to.$id.server.ts | 2 +- .../tournament/routes/to.$id.admin.tsx | 9 +- .../tournament/routes/to.$id.join.tsx | 7 +- .../tournament/routes/to.$id.register.tsx | 35 ++++--- .../tournament/routes/to.$id.results.tsx | 6 +- .../tournament/routes/to.$id.seeds.tsx | 23 ++--- .../tournament/routes/to.$id.streams.tsx | 3 +- .../tournament/routes/to.$id.teams.$tid.tsx | 7 +- app/features/tournament/routes/to.$id.tsx | 3 +- app/features/tournament/tournament-utils.ts | 5 +- app/features/tournament/tournament.css | 14 +-- .../user-page/UserRepository.server.ts | 14 +-- .../actions/u.$identifier.edit.server.ts | 2 +- ...u.$identifier.results.highlights.server.ts | 2 +- .../user-page/components/UserResultsTable.tsx | 2 +- .../user-page/routes/u.$identifier.admin.tsx | 7 +- .../user-page/routes/u.$identifier.art.tsx | 3 +- .../routes/u.$identifier.builds.new.tsx | 12 +-- .../user-page/routes/u.$identifier.builds.tsx | 13 ++- .../user-page/routes/u.$identifier.edit.tsx | 21 ++-- .../user-page/routes/u.$identifier.index.tsx | 7 +- .../routes/u.$identifier.results.tsx | 3 +- .../routes/u.$identifier.seasons.tsx | 18 ++-- .../user-page/routes/u.$identifier.tsx | 4 +- app/features/user-search/routes/u.tsx | 6 +- app/features/vods/actions/vods.$id.server.ts | 2 +- app/features/vods/routes/vods.$id.tsx | 13 ++- app/features/vods/routes/vods.new.tsx | 17 ++-- app/features/vods/routes/vods.tsx | 7 +- app/features/vods/vods-utils.ts | 2 +- app/hooks/swr.ts | 5 +- app/hooks/useAutoRerender.ts | 4 +- app/modules/brackets-manager/create.ts | 2 +- app/modules/brackets-manager/helpers.ts | 2 +- app/modules/brackets-manager/manager.ts | 2 +- app/modules/brackets-memory-db/index.ts | 8 +- app/modules/brackets-model/index.ts | 4 +- .../components/ResponsiveMasonry.tsx | 4 +- .../generation.test.ts | 2 +- .../tournament-map-list-generator/index.ts | 4 +- .../starter-map.ts | 10 +- app/modules/twitch/streams.ts | 5 +- app/root.tsx | 5 +- app/routes.ts | 2 +- app/routines/notifyCheckInStart.ts | 2 +- app/routines/notifyPlusServerVoting.ts | 2 +- app/routines/notifySeasonStart.ts | 2 +- app/styles/common.css | 5 +- app/styles/elements.css | 8 +- app/styles/front.css | 2 - app/utils/Test.ts | 5 +- app/utils/fetch.ts | 4 +- app/utils/json.ts | 2 +- app/utils/kysely.server.ts | 2 +- app/utils/logger.ts | 2 +- app/utils/playwright.ts | 2 +- app/utils/remix.server.ts | 3 +- app/utils/strings.ts | 10 +- app/utils/types.ts | 3 +- app/utils/urls.ts | 13 ++- app/utils/zod.ts | 2 +- biome.json | 27 +++-- e2e/builds.spec.ts | 2 +- e2e/team.spec.ts | 2 +- e2e/tournament-bracket.spec.ts | 2 +- e2e/user-page.spec.ts | 2 +- e2e/vods.spec.ts | 2 +- package-lock.json | 73 +++++++------- package.json | 2 +- scripts/calc-seeding-skills.ts | 8 +- scripts/check-homemade-badges.ts | 1 + scripts/check-translation-jsons.ts | 4 +- scripts/create-analyzer-json.ts | 8 +- scripts/create-gear-json.ts | 11 +-- scripts/create-league-divisions.ts | 6 +- scripts/create-misc-json.ts | 4 +- scripts/create-object-dmg-json.ts | 10 +- scripts/refresh-prod-db.ts | 3 + scripts/replace-img-names.ts | 4 +- scripts/replace-weapon-names.ts | 5 +- scripts/utils.ts | 2 +- types/react.d.ts | 1 + 314 files changed, 1093 insertions(+), 1025 deletions(-) diff --git a/app/components/AbilitiesSelector.tsx b/app/components/AbilitiesSelector.tsx index d47cd62a7..041366d11 100644 --- a/app/components/AbilitiesSelector.tsx +++ b/app/components/AbilitiesSelector.tsx @@ -4,11 +4,10 @@ import { abilities } from "~/modules/in-game-lists/abilities"; import type { BuildAbilitiesTupleWithUnknown } from "~/modules/in-game-lists/types"; import invariant from "~/utils/invariant"; import { abilityImageUrl } from "~/utils/urls"; +import styles from "./AbilitiesSelector.module.css"; import { Ability } from "./Ability"; import { Image } from "./Image"; -import styles from "./AbilitiesSelector.module.css"; - interface AbilitiesSelectorProps { selectedAbilities: BuildAbilitiesTupleWithUnknown; onChange: (newAbilities: BuildAbilitiesTupleWithUnknown) => void; diff --git a/app/components/Ability.tsx b/app/components/Ability.tsx index 31f465b18..ffdc45b4b 100644 --- a/app/components/Ability.tsx +++ b/app/components/Ability.tsx @@ -3,9 +3,8 @@ import React from "react"; import { useTranslation } from "react-i18next"; import type { AbilityWithUnknown } from "~/modules/in-game-lists/types"; import { abilityImageUrl } from "~/utils/urls"; -import { Image } from "./Image"; - import styles from "./Ability.module.css"; +import { Image } from "./Image"; const sizeMap = { MAIN: 42, diff --git a/app/components/AddNewButton.tsx b/app/components/AddNewButton.tsx index 32cd0025f..67dac9e5a 100644 --- a/app/components/AddNewButton.tsx +++ b/app/components/AddNewButton.tsx @@ -1,5 +1,5 @@ -import { Image } from "~/components/Image"; import { LinkButton } from "~/components/elements/Button"; +import { Image } from "~/components/Image"; import { PlusIcon } from "~/components/icons/Plus"; import { navIconUrl } from "~/utils/urls"; diff --git a/app/components/Avatar.tsx b/app/components/Avatar.tsx index 1d2444104..22d4329e1 100644 --- a/app/components/Avatar.tsx +++ b/app/components/Avatar.tsx @@ -47,7 +47,6 @@ export function Avatar({ : BLANK_IMAGE_URL); // avoid broken image placeholder return ( - // biome-ignore lint/a11y/useAltText: spread messes it up https://github.com/biomejs/biome/issues/3081 {badge.displayName}our Discord so it can be fixed.

{errorText ? ( - <> -
-