diff --git a/components/tournament/TournamentRegistrationForm.vue b/components/tournament/TournamentRegistrationForm.vue index bcd3a02a..a5d535cb 100644 --- a/components/tournament/TournamentRegistrationForm.vue +++ b/components/tournament/TournamentRegistrationForm.vue @@ -27,7 +27,6 @@ import { } from "~/components/ui/number-field"; import { Lock } from "lucide-vue-next"; import SettingHeader from "~/components/match/SettingHeader.vue"; -import ScrimRegionPicker from "~/components/team/ScrimRegionPicker.vue"; import { Fold } from "~/components/ui/transitions"; import { SELECT_NONE } from "~/utilities/selectNone"; import { @@ -150,24 +149,6 @@ import { - - - {{ - $t("tournament.registration.regions.label") - }} - - {{ - $t("tournament.registration.regions.description") - }} - - -
diff --git a/graphql/simpleTournamentFields.ts b/graphql/simpleTournamentFields.ts index 619729c1..892253a4 100644 --- a/graphql/simpleTournamentFields.ts +++ b/graphql/simpleTournamentFields.ts @@ -17,7 +17,6 @@ export const tournamentRegistrationFields: Record = { min_elo: true, max_elo: true, invite_only: true, - regions: true, check_in_required: true, check_in_setting: true, check_in_opens_before_minutes: true, diff --git a/i18n/locales/ar_SA.json b/i18n/locales/ar_SA.json index d8bc4c3d..a973b0e7 100644 --- a/i18n/locales/ar_SA.json +++ b/i18n/locales/ar_SA.json @@ -6159,11 +6159,6 @@ "description": "اترك أي حقل فارغًا لإلغاء الحد. تركهما فارغين يعني الانفتاح على أي رتبة.", "invalid_range": "يجب ألا يقل أعلى ELO عن أدنى ELO." }, - "regions": { - "label": "المناطق المفضّلة", - "description": "أين تُستضاف مباريات هذه البطولة. ليس قيدًا على اللاعبين — لا تملك 5stack بيانات منطقة لكل لاعب.", - "empty": "لا توجد مناطق متاحة حاليًا" - }, "invite_only": { "label": "بالدعوة فقط", "description": "التسجيل مغلق أمام الجميع. يدعو المنظمون الفرق واللاعبين مباشرة، أو يشاركون رابط دعوة." diff --git a/i18n/locales/da_DK.json b/i18n/locales/da_DK.json index 9dfea3cb..f771a969 100644 --- a/i18n/locales/da_DK.json +++ b/i18n/locales/da_DK.json @@ -6159,11 +6159,6 @@ "description": "Lad et af felterne stå tomt for ingen grænse. Begge tomme betyder åbent for alle ranks.", "invalid_range": "ELO maks. skal mindst være lig med ELO min." }, - "regions": { - "label": "Foretrukne regioner", - "description": "Hvor kampene i denne turnering hostes. Det er ikke et spillerfilter — 5stack har ingen regionsdata pr. spiller.", - "empty": "Ingen regioner er tilgængelige lige nu." - }, "invite_only": { "label": "Kun med invitation", "description": "Tilmeldingen er lukket for offentligheden. Arrangørerne inviterer hold og spillere direkte eller deler et invitationslink." diff --git a/i18n/locales/de_DE.json b/i18n/locales/de_DE.json index 769cbd04..e2ae7f13 100644 --- a/i18n/locales/de_DE.json +++ b/i18n/locales/de_DE.json @@ -6159,11 +6159,6 @@ "description": "Leer lassen für keine Grenze. Beides leer heißt: offen für jeden Rang.", "invalid_range": "Max. ELO muss mindestens der Min. ELO entsprechen." }, - "regions": { - "label": "Bevorzugte Regionen", - "description": "Wo die Matches dieses Turniers gehostet werden. Keine Spielersperre — 5stack hat keine Regionsdaten pro Spieler.", - "empty": "Aktuell sind keine Regionen verfügbar." - }, "invite_only": { "label": "Nur mit Einladung", "description": "Die Anmeldung ist nicht öffentlich. Veranstalter laden Teams und Spieler direkt ein oder teilen einen Einladungslink." diff --git a/i18n/locales/en.json b/i18n/locales/en.json index f1b79b05..a733d2a2 100644 --- a/i18n/locales/en.json +++ b/i18n/locales/en.json @@ -6159,11 +6159,6 @@ "description": "Leave either blank for no bound. Blank on both is open to any rank.", "invalid_range": "Max ELO must be at least the min ELO." }, - "regions": { - "label": "Preferred regions", - "description": "Where this tournament's matches are hosted. Not a player gate — 5stack has no per-player region data.", - "empty": "No regions are currently available." - }, "invite_only": { "label": "Invite only", "description": "Registration is closed to the public. Organizers invite teams and players directly, or share an invite link." diff --git a/i18n/locales/es_ES.json b/i18n/locales/es_ES.json index 1b23c1d9..319d8ff6 100644 --- a/i18n/locales/es_ES.json +++ b/i18n/locales/es_ES.json @@ -6159,11 +6159,6 @@ "description": "Deja cualquiera en blanco para no poner límite. Ambos en blanco: abierto a cualquier rango.", "invalid_range": "El ELO máx. debe ser al menos igual al ELO mín." }, - "regions": { - "label": "Regiones preferidas", - "description": "Dónde se alojan las partidas de este torneo. No filtra jugadores: 5stack no tiene datos de región por jugador.", - "empty": "No hay regiones disponibles ahora mismo." - }, "invite_only": { "label": "Solo por invitación", "description": "La inscripción no es pública. Los organizadores invitan directamente a equipos y jugadores, o comparten un enlace de invitación." diff --git a/i18n/locales/fr_FR.json b/i18n/locales/fr_FR.json index 96cca4a3..93212743 100644 --- a/i18n/locales/fr_FR.json +++ b/i18n/locales/fr_FR.json @@ -6159,11 +6159,6 @@ "description": "Laisse vide pour ne pas fixer de limite. Les deux vides : ouvert à tous les rangs.", "invalid_range": "L'ELO max doit être au moins égal à l'ELO min." }, - "regions": { - "label": "Régions préférées", - "description": "Où sont hébergés les matchs de ce tournoi. Ce n'est pas un filtre joueur — 5stack n'a pas de données de région par joueur.", - "empty": "Aucune région n'est disponible actuellement." - }, "invite_only": { "label": "Sur invitation", "description": "Les inscriptions ne sont pas publiques. Les organisateurs invitent directement des équipes et des joueurs, ou partagent un lien d'invitation." diff --git a/i18n/locales/it_IT.json b/i18n/locales/it_IT.json index aa988ca9..6fe31fce 100644 --- a/i18n/locales/it_IT.json +++ b/i18n/locales/it_IT.json @@ -6159,11 +6159,6 @@ "description": "Lascia vuoto uno dei due per non porre limiti. Entrambi vuoti: aperto a qualsiasi rank.", "invalid_range": "L'ELO max deve essere almeno pari all'ELO min." }, - "regions": { - "label": "Regioni preferite", - "description": "Dove vengono ospitati i match di questo torneo. Non è un filtro sui giocatori: 5stack non ha dati di regione per singolo giocatore.", - "empty": "Nessuna regione al momento disponibile." - }, "invite_only": { "label": "Solo su invito", "description": "Le iscrizioni non sono pubbliche. Gli organizzatori invitano direttamente team e giocatori, oppure condividono un link d'invito." diff --git a/i18n/locales/ja_JP.json b/i18n/locales/ja_JP.json index fea244c9..cab23a3c 100644 --- a/i18n/locales/ja_JP.json +++ b/i18n/locales/ja_JP.json @@ -6159,11 +6159,6 @@ "description": "空欄にすればその側の制限はありません。両方空欄ならどのランクでも参加できます。", "invalid_range": "ELO 上限は ELO 下限以上にしてください。" }, - "regions": { - "label": "希望リージョン", - "description": "このトーナメントの試合をどこでホストするかです。プレイヤーの制限ではありません — 5stack にプレイヤーごとのリージョン情報はありません。", - "empty": "現在利用可能なリージョンはありません。" - }, "invite_only": { "label": "招待制", "description": "参加登録は一般公開されません。主催者がチームやプレイヤーを直接招待するか、招待リンクを共有します。" diff --git a/i18n/locales/ko_KR.json b/i18n/locales/ko_KR.json index ca92dafe..d1016e18 100644 --- a/i18n/locales/ko_KR.json +++ b/i18n/locales/ko_KR.json @@ -6159,11 +6159,6 @@ "description": "한쪽을 비우면 그쪽 제한이 없습니다. 둘 다 비우면 모든 랭크에 열립니다.", "invalid_range": "ELO 최대는 ELO 최소 이상이어야 합니다." }, - "regions": { - "label": "선호 지역", - "description": "이 토너먼트의 매치가 호스팅되는 곳입니다. 선수를 거르는 조건이 아닙니다 — 5stack에는 선수별 지역 데이터가 없습니다.", - "empty": "현재 이용 가능한 지역이 없습니다." - }, "invite_only": { "label": "초대 전용", "description": "참가 신청이 외부에 공개되지 않습니다. 주최자가 팀과 플레이어를 직접 초대하거나 초대 링크를 공유합니다." diff --git a/i18n/locales/pl_PL.json b/i18n/locales/pl_PL.json index 7129ce9e..83f9e202 100644 --- a/i18n/locales/pl_PL.json +++ b/i18n/locales/pl_PL.json @@ -6159,11 +6159,6 @@ "description": "Zostaw jedno pole puste, aby nie ustawiać granicy. Oba puste oznaczają otwarte dla każdej rangi.", "invalid_range": "ELO maks musi być co najmniej równe ELO min." }, - "regions": { - "label": "Preferowane regiony", - "description": "Gdzie hostowane są mecze tego turnieju. To nie jest filtr graczy — 5stack nie ma danych o regionie dla pojedynczego gracza.", - "empty": "Obecnie brak dostępnych regionów" - }, "invite_only": { "label": "Tylko na zaproszenie", "description": "Rejestracja jest zamknięta dla publiczności. Organizatorzy zapraszają drużyny i graczy bezpośrednio albo udostępniają link z zaproszeniem." diff --git a/i18n/locales/pt_BR.json b/i18n/locales/pt_BR.json index 79a30abf..ae66c956 100644 --- a/i18n/locales/pt_BR.json +++ b/i18n/locales/pt_BR.json @@ -6159,11 +6159,6 @@ "description": "Deixe qualquer um em branco para não ter limite. Os dois em branco: aberto a qualquer rank.", "invalid_range": "O ELO máx. precisa ser pelo menos igual ao ELO mín." }, - "regions": { - "label": "Regiões/Locais preferidos", - "description": "Onde as partidas deste torneio são hospedadas. Não é um filtro de jogador — a 5stack não tem dados de região por jogador.", - "empty": "Nenhuma região/local disponível no momento." - }, "invite_only": { "label": "Somente por convite", "description": "As inscrições não são públicas. Os organizadores convidam equipes e jogadores diretamente ou compartilham um link de convite." diff --git a/i18n/locales/ru_RU.json b/i18n/locales/ru_RU.json index 57c6e037..56dbc766 100644 --- a/i18n/locales/ru_RU.json +++ b/i18n/locales/ru_RU.json @@ -6159,11 +6159,6 @@ "description": "Оставь любое поле пустым, чтобы не задавать границу. Оба пустых — открыто для любого ранга.", "invalid_range": "ELO макс. должен быть не меньше ELO мин." }, - "regions": { - "label": "Предпочтительные регионы", - "description": "Где размещаются матчи этого турнира. Это не фильтр по игрокам — у 5stack нет данных о регионе для отдельного игрока.", - "empty": "Сейчас нет доступных регионов." - }, "invite_only": { "label": "Только по приглашению", "description": "Регистрация закрыта для всех. Организаторы приглашают команды и игроков напрямую или делятся ссылкой-приглашением." diff --git a/i18n/locales/sv_SE.json b/i18n/locales/sv_SE.json index ea539661..f2db908b 100644 --- a/i18n/locales/sv_SE.json +++ b/i18n/locales/sv_SE.json @@ -6159,11 +6159,6 @@ "description": "Lämna något av fälten tomt för ingen gräns. Båda tomma är öppet för alla ranks.", "invalid_range": "Elo max måste vara minst lika högt som Elo min." }, - "regions": { - "label": "Föredragna regioner", - "description": "Var turneringens matcher hostas. Det är inget spelarfilter — 5stack har ingen regionsdata per spelare.", - "empty": "Inga regioner tillgängliga just nu." - }, "invite_only": { "label": "Endast med inbjudan", "description": "Anmälan är stängd för allmänheten. Arrangörerna bjuder in lag och spelare direkt, eller delar en inbjudningslänk." diff --git a/i18n/locales/tr_TR.json b/i18n/locales/tr_TR.json index 8250b7f8..50eceae8 100644 --- a/i18n/locales/tr_TR.json +++ b/i18n/locales/tr_TR.json @@ -6159,11 +6159,6 @@ "description": "Sınır koymamak için birini boş bırak. İkisi de boşsa her rank'a açıktır.", "invalid_range": "Maks ELO en az min ELO kadar olmalı." }, - "regions": { - "label": "Tercih edilen bölgeler", - "description": "Bu turnuvanın maçlarının hangi bölgede barındırılacağı. Oyuncu filtresi değildir — 5stack'te oyuncu bazlı bölge verisi yok.", - "empty": "Şu anda kullanılabilir bölge yok." - }, "invite_only": { "label": "Sadece davetle", "description": "Kayıtlar herkese kapalı. Organizatörler takımları ve oyuncuları doğrudan davet eder ya da bir davet bağlantısı paylaşır." diff --git a/i18n/locales/uk_UA.json b/i18n/locales/uk_UA.json index cc58d436..af8d3a70 100644 --- a/i18n/locales/uk_UA.json +++ b/i18n/locales/uk_UA.json @@ -6159,11 +6159,6 @@ "description": "Залиш будь-яке поле порожнім, щоб не ставити межу. Обидва порожні — відкрито для будь-якого рангу.", "invalid_range": "ELO макс має бути щонайменше рівним ELO мін." }, - "regions": { - "label": "Бажані регіони", - "description": "Де хостяться матчі цього турніру. Це не фільтр за гравцями — у 5stack немає даних про регіон окремого гравця.", - "empty": "Наразі немає доступних регіонів." - }, "invite_only": { "label": "Лише за запрошенням", "description": "Реєстрація закрита для всіх. Організатори запрошують команди та гравців напряму або діляться посиланням-запрошенням." diff --git a/i18n/locales/zh_Hans.json b/i18n/locales/zh_Hans.json index cdd6f587..207f139a 100644 --- a/i18n/locales/zh_Hans.json +++ b/i18n/locales/zh_Hans.json @@ -6159,11 +6159,6 @@ "description": "任一项留空即表示该侧不设限制。两项都留空则对所有段位开放。", "invalid_range": "最高 ELO 不能低于最低 ELO。" }, - "regions": { - "label": "首选地区", - "description": "本赛事的比赛在哪里开服。这不是对选手的限制——5stack 没有按选手记录的地区数据。", - "empty": "目前没有可用地区。" - }, "invite_only": { "label": "仅限邀请", "description": "报名不对外开放。由主办方直接邀请队伍和玩家,或分享邀请链接。" diff --git a/i18n/locales/zh_Hant.json b/i18n/locales/zh_Hant.json index fd698085..3956582d 100644 --- a/i18n/locales/zh_Hant.json +++ b/i18n/locales/zh_Hant.json @@ -6159,11 +6159,6 @@ "description": "任一欄留空即代表該側不設限制。兩欄都留空則對所有段位開放。", "invalid_range": "最高 ELO 不能低於最低 ELO。" }, - "regions": { - "label": "偏好地區", - "description": "本賽事的比賽在哪裡開伺服器。這不是對選手的限制——5stack 沒有依選手記錄的地區資料。", - "empty": "目前沒有可用地區。" - }, "invite_only": { "label": "僅限邀請", "description": "報名不對外開放。由主辦方直接邀請隊伍和玩家,或分享邀請連結。" diff --git a/utilities/tournamentRegistration.ts b/utilities/tournamentRegistration.ts index 519bd54e..749de1c5 100644 --- a/utilities/tournamentRegistration.ts +++ b/utilities/tournamentRegistration.ts @@ -14,19 +14,18 @@ export const REGISTRATION_TYPES = ["teams", "free_agents", "both"] as const; export type RegistrationType = (typeof REGISTRATION_TYPES)[number]; /** - * Two of the tournament columns share a name with a match_options field that - * lives on the SAME vee-validate form in the create wizard — `regions` (server - * region veto) and `check_in_setting` (who readies up for a match). Binding the - * tournament value to either name silently overwrites the match option, so the - * form keys are namespaced and translated back to real column names in - * `registrationColumns()`. Never bind a tournament control to the bare name. + * `check_in_setting` shares its name with a match_options field (who readies up + * for a match) that lives on the SAME vee-validate form in the create wizard. + * Binding the tournament value to that name silently overwrites the match + * option, so the form keys are namespaced and translated back to real column + * names in `registrationColumns()`. Never bind a tournament control to the bare + * name. */ export const REGISTRATION_FIELD = { registration_type: "registration_type", min_role: "min_role", min_elo: "min_elo", max_elo: "max_elo", - regions: "registration_regions", invite_only: "invite_only", check_in_required: "check_in_required", check_in_setting: "team_check_in_setting", @@ -76,7 +75,6 @@ export function registrationSchemaShape(component: any) { }, { message: component.$t("tournament.registration.rank.invalid_range") }, ), - [REGISTRATION_FIELD.regions]: z.string().array().default([]), [REGISTRATION_FIELD.invite_only]: z.boolean().default(false), [REGISTRATION_FIELD.check_in_required]: z.boolean().default(false), [REGISTRATION_FIELD.check_in_setting]: z @@ -127,7 +125,6 @@ export function registrationColumns(values: Record) { min_role: values[REGISTRATION_FIELD.min_role] || null, min_elo: values[REGISTRATION_FIELD.min_elo] ?? null, max_elo: values[REGISTRATION_FIELD.max_elo] ?? null, - regions: values[REGISTRATION_FIELD.regions] ?? [], invite_only: !!values[REGISTRATION_FIELD.invite_only], check_in_required: !!values[REGISTRATION_FIELD.check_in_required], check_in_setting: @@ -153,7 +150,6 @@ export function registrationFormValues(tournament: Record) { tournament.min_elo != null ? Number(tournament.min_elo) : null, [REGISTRATION_FIELD.max_elo]: tournament.max_elo != null ? Number(tournament.max_elo) : null, - [REGISTRATION_FIELD.regions]: [...(tournament.regions ?? [])], [REGISTRATION_FIELD.invite_only]: !!tournament.invite_only, [REGISTRATION_FIELD.check_in_required]: !!tournament.check_in_required, [REGISTRATION_FIELD.check_in_setting]: