Order new scrims team list by main team

This commit is contained in:
Kalle
2026-08-24 21:13:34 +03:00
parent deda1418c2
commit b9ed185a4f
3 changed files with 35 additions and 9 deletions

View File

@@ -39,6 +39,9 @@ export default function NewScrimPage() {
const { t } = useTranslation(["scrims"]);
const data = useLoaderData<typeof loader>();
const defaultTeam =
data.teams.find((team) => team.isMainTeam) ?? data.teams[0];
return (
<Main>
<SendouForm
@@ -50,15 +53,14 @@ export default function NewScrimPage() {
rangeEnd: null,
baseVisibility: "PUBLIC",
notFoundVisibility: DEFAULT_NOT_FOUND_VISIBILITY,
from:
data.teams.length > 0
? { mode: "TEAM", teamId: data.teams[0].id }
: {
mode: "PICKUP",
users: nullFilledArray(
SCRIM.MAX_PICKUP_SIZE_EXCLUDING_OWNER,
) as unknown as number[],
},
from: defaultTeam
? { mode: "TEAM", teamId: defaultTeam.id }
: {
mode: "PICKUP",
users: nullFilledArray(
SCRIM.MAX_PICKUP_SIZE_EXCLUDING_OWNER,
) as unknown as number[],
},
managedByAnyone: true,
maps: "NO_PREFERENCE",
mapsTournamentId: null,

View File

@@ -64,3 +64,26 @@ describe("findResultsById", () => {
expect(results[0].subs).toHaveLength(0);
});
});
describe("findAllByMemberUserId", () => {
test("returns the main team first", async () => {
const user = await UserFactory.create();
await TeamFactory.create({
name: "Secondary team",
isMainTeam: false,
memberUserIds: [user.id],
});
await TeamFactory.create({
name: "Main team",
isMainTeam: true,
memberUserIds: [user.id],
});
const teams = await TeamRepository.findAllByMemberUserId(user.id);
expect(teams.map((team) => team.name)).toEqual([
"Main team",
"Secondary team",
]);
});
});

View File

@@ -378,6 +378,7 @@ export async function findAllByMemberUserId(
).as("members"),
])
.where("userId", "=", userId)
.orderBy("TeamMemberWithSecondary.isMainTeam", "desc")
.execute();
}