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")
- }}
- form.setFieldValue(field.regions, regions)
- "
- />
- {{
- $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]: