/to/:id/looking tweaks and fixes

This commit is contained in:
Kalle 2026-03-18 20:18:50 +02:00
parent 546328ec43
commit 516f58975b
21 changed files with 29 additions and 37 deletions

View File

@ -8,8 +8,6 @@ import { concatUserSubmittedImagePrefix } from "~/utils/kysely.server";
import { errorIsSqliteForeignKeyConstraintFailure } from "~/utils/sql";
import { randomTeamName } from "~/utils/team-name";
// xxx: handle visibility like scrim post
export function startLooking(teamId: number) {
return db
.updateTable("TournamentTeam")
@ -152,12 +150,9 @@ export async function findSubGroups(tournamentId: number) {
.$castTo<TournamentLFGMemberObject[]>()
.as("members"),
])
// xxx: is this correct?
.where("TournamentTeam.tournamentId", "=", tournamentId)
.where("TournamentTeam.isPlaceholder", "=", 1)
.where("TournamentTeamMember.isStayAsSub", "=", 1)
.groupBy("TournamentTeam.id")
.having(({ fn }) => fn.countAll<number>(), "=", 1)
.execute();
return rows;
@ -364,6 +359,7 @@ export function leaveLfg({
.set({ isStayAsSub: 0 })
.where("tournamentTeamId", "=", userTeam.tournamentTeamId)
.execute();
await deleteLikesByTeamId(userTeam.tournamentTeamId, trx);
return;
}

View File

@ -119,9 +119,7 @@ function GroupsView({
const ownGroupElement = data.ownGroup ? (
<div className="stack md">
<LFGGroupCard group={data.ownGroup} ownGroup={data.ownGroup} />
<LFGGroupLeaver
type={data.ownGroup.members.length === 1 ? "LEAVE_Q" : "LEAVE_GROUP"}
/>
<LFGGroupLeaver />
{!isMobile ? invitedGroupsDesktop : null}
</div>
) : null;
@ -449,34 +447,18 @@ function TeamQueueSection() {
);
}
function LFGGroupLeaver({ type }: { type: "LEAVE_GROUP" | "LEAVE_Q" }) {
function LFGGroupLeaver() {
const { t } = useTranslation(["q"]);
const fetcher = useFetcher();
if (type === "LEAVE_GROUP") {
return (
<FormWithConfirm
dialogHeading="Leave this group?"
fields={[["_action", "LEAVE_GROUP"]]}
submitButtonText="Leave"
>
<SendouButton variant="minimal-destructive" size="small">
{t("q:looking.groups.actions.stopLooking")}
</SendouButton>
</FormWithConfirm>
);
}
return (
<fetcher.Form method="POST">
<SubmitButton
_action="LEAVE_GROUP"
variant="minimal-destructive"
size="small"
state={fetcher.state}
>
{t("q:looking.groups.actions.leaveQ")}
</SubmitButton>
</fetcher.Form>
<FormWithConfirm
dialogHeading={t("q:looking.groups.actions.stopLooking.confirm")}
fields={[["_action", "LEAVE_GROUP"]]}
submitButtonText={t("q:looking.groups.actions.stopLooking")}
>
<SendouButton variant="minimal-destructive" size="small">
{t("q:looking.groups.actions.stopLooking")}
</SendouButton>
</FormWithConfirm>
);
}

View File

@ -25,7 +25,6 @@ const deleteMemberStm = sql.prepare(/*sql*/ `
and "userId" = @userId
`);
// xxx: migrate to kysely. note: deleteSub was deleted from here
export const joinTeam = sql.transaction(
({
previousTeamId,

View File

@ -73,7 +73,6 @@ import {
import { useTournament } from "./to.$id";
export { loader, action };
// xxx: allow promoting members to managers
export default function TournamentRegisterPage() {
const isMounted = useIsMounted();
const tournament = useTournament();

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "",
"looking.groups.actions.leaveGroup": "",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "",
"looking.groups.actions.goBack": "",
"looking.groups.adder.quickAdd": "",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "",
"looking.groups.actions.leaveGroup": "",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "",
"looking.groups.actions.goBack": "",
"looking.groups.adder.quickAdd": "",

View File

@ -223,5 +223,5 @@
"labels.visibility": "Visibility",
"labels.note": "Note",
"labels.stayAsSub": "Stay as sub",
"bottomTexts.stayAsSub": "If you don't find a full team before registration ends, you will stay as a solo sub for the duration of the tournament"
"bottomTexts.stayAsSub": "If you don't find team members before registration ends, you will stay as a solo sub for the duration of the tournament"
}

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "Kick",
"looking.groups.actions.leaveGroup": "Leave group",
"looking.groups.actions.stopLooking": "Stop looking",
"looking.groups.actions.stopLooking.confirm": "Do you want to stop looking (any invitations given/received deleted)?",
"looking.groups.actions.leaveQ": "Leave queue",
"looking.groups.actions.goBack": "Go back",
"looking.groups.adder.quickAdd": "Quick add",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "Expulsar",
"looking.groups.actions.leaveGroup": "Dejar grupo",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "Dejar fila",
"looking.groups.actions.goBack": "Regresar",
"looking.groups.adder.quickAdd": "Añadir rapido",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "Expulsar",
"looking.groups.actions.leaveGroup": "Dejar grupo",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "Dejar fila",
"looking.groups.actions.goBack": "Regresar",
"looking.groups.adder.quickAdd": "Añadir rápido",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "",
"looking.groups.actions.leaveGroup": "",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "",
"looking.groups.actions.goBack": "",
"looking.groups.adder.quickAdd": "",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "Kick",
"looking.groups.actions.leaveGroup": "Quitter le groupe",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "Quitter la queue",
"looking.groups.actions.goBack": "Retourner en arrière",
"looking.groups.adder.quickAdd": "Ajouter rapidement",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "",
"looking.groups.actions.leaveGroup": "",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "",
"looking.groups.actions.goBack": "",
"looking.groups.adder.quickAdd": "",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "Caccia",
"looking.groups.actions.leaveGroup": "Lascia gruppo",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "Lascia coda",
"looking.groups.actions.goBack": "Indietro",
"looking.groups.adder.quickAdd": "Aggiungi direttamente",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "キックする",
"looking.groups.actions.leaveGroup": "グループを出る",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "列から出る",
"looking.groups.actions.goBack": "戻る",
"looking.groups.adder.quickAdd": "クイック追加",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "",
"looking.groups.actions.leaveGroup": "",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "",
"looking.groups.actions.goBack": "",
"looking.groups.adder.quickAdd": "",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "",
"looking.groups.actions.leaveGroup": "",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "",
"looking.groups.actions.goBack": "",
"looking.groups.adder.quickAdd": "",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "",
"looking.groups.actions.leaveGroup": "",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "",
"looking.groups.actions.goBack": "",
"looking.groups.adder.quickAdd": "",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "Chutar (kick)",
"looking.groups.actions.leaveGroup": "Sair do grupo",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "Sair da fila",
"looking.groups.actions.goBack": "Voltar",
"looking.groups.adder.quickAdd": "Adicionar rapidamente (quick add)",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "Выгнать",
"looking.groups.actions.leaveGroup": "Покинуть группу",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "Покинуть очередь",
"looking.groups.actions.goBack": "Вернуться назад",
"looking.groups.adder.quickAdd": "Быстро добавить",

View File

@ -96,6 +96,7 @@
"looking.groups.actions.kick": "踢出",
"looking.groups.actions.leaveGroup": "离开小队",
"looking.groups.actions.stopLooking": "",
"looking.groups.actions.stopLooking.confirm": "",
"looking.groups.actions.leaveQ": "停止匹配",
"looking.groups.actions.goBack": "返回",
"looking.groups.adder.quickAdd": "快速添加",