From b195b74b8c292c4c86b6f309df001a69d3a9b2c1 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 8 Dec 2025 16:26:45 +0530 Subject: [PATCH 1/7] chore: project identifier char limit updated to 10 --- .../core/components/project/create/common-attributes.tsx | 6 +++--- apps/web/core/components/project/form.tsx | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/web/core/components/project/create/common-attributes.tsx b/apps/web/core/components/project/create/common-attributes.tsx index aa4d6803671..7e2e8ed5e22 100644 --- a/apps/web/core/components/project/create/common-attributes.tsx +++ b/apps/web/core/components/project/create/common-attributes.tsx @@ -91,11 +91,11 @@ function ProjectCommonAttributes(props: Props) { /^[ÇŞĞIİÖÜA-Z0-9]+$/.test(value.toUpperCase()) || t("only_alphanumeric_non_latin_characters_allowed"), minLength: { value: 1, - message: t("project_id_must_be_at_least_1_character"), + message: t("project_id_min_char"), }, maxLength: { - value: 5, - message: t("project_id_must_be_at_most_5_characters"), + value: 10, + message: t("project_id_max_char"), }, }} render={({ field: { value, onChange } }) => ( diff --git a/apps/web/core/components/project/form.tsx b/apps/web/core/components/project/form.tsx index 7b72b6153aa..898c79fa836 100644 --- a/apps/web/core/components/project/form.tsx +++ b/apps/web/core/components/project/form.tsx @@ -185,7 +185,7 @@ export function ProjectDetailsForm(props: IProjectDetailsForm) { if (project.identifier !== formData.identifier) await projectService - .checkProjectIdentifierAvailability(workspaceSlug as string, payload.identifier ?? "") + .checkProjectIdentifierAvailability(workspaceSlug, payload.identifier ?? "") .then(async (res) => { if (res.exists) setError("identifier", { message: t("common.identifier_already_exists") }); else await handleUpdateChange(payload); @@ -338,7 +338,7 @@ export function ProjectDetailsForm(props: IProjectDetailsForm) { message: t("project_id_min_char"), }, maxLength: { - value: 5, + value: 10, message: t("project_id_max_char"), }, }} From 06f6b77a2001ab2e3e8e20ae6c9db9fb9856827f Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 8 Dec 2025 16:34:45 +0530 Subject: [PATCH 2/7] chore: translation file updated --- packages/i18n/src/locales/cs/translations.ts | 2 +- packages/i18n/src/locales/de/translations.ts | 2 +- packages/i18n/src/locales/en/translations.ts | 2 +- packages/i18n/src/locales/es/translations.ts | 2 +- packages/i18n/src/locales/fr/translations.ts | 2 +- packages/i18n/src/locales/id/translations.ts | 2 +- packages/i18n/src/locales/it/translations.ts | 2 +- packages/i18n/src/locales/ja/translations.ts | 2 +- packages/i18n/src/locales/ko/translations.ts | 2 +- packages/i18n/src/locales/pl/translations.ts | 2 +- packages/i18n/src/locales/pt-BR/translations.ts | 2 +- packages/i18n/src/locales/ro/translations.ts | 2 +- packages/i18n/src/locales/ru/translations.ts | 2 +- packages/i18n/src/locales/sk/translations.ts | 2 +- packages/i18n/src/locales/tr-TR/translations.ts | 2 +- packages/i18n/src/locales/ua/translations.ts | 2 +- packages/i18n/src/locales/vi-VN/translations.ts | 2 +- packages/i18n/src/locales/zh-CN/translations.ts | 2 +- packages/i18n/src/locales/zh-TW/translations.ts | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/packages/i18n/src/locales/cs/translations.ts b/packages/i18n/src/locales/cs/translations.ts index 929b1c296b1..edcae9e3dd7 100644 --- a/packages/i18n/src/locales/cs/translations.ts +++ b/packages/i18n/src/locales/cs/translations.ts @@ -343,7 +343,7 @@ export default { project_id_is_required: "ID projektu je povinné", project_id_allowed_char: "Jsou povoleny pouze alfanumerické a nelatinské znaky.", project_id_min_char: "ID projektu musí mít alespoň 1 znak", - project_id_max_char: "ID projektu může mít maximálně 5 znaků", + project_id_max_char: "ID projektu může mít maximálně 10 znaků", project_description_placeholder: "Zadejte popis projektu", select_network: "Vybrat síť", lead: "Vedoucí", diff --git a/packages/i18n/src/locales/de/translations.ts b/packages/i18n/src/locales/de/translations.ts index b162b76a65f..04be0458567 100644 --- a/packages/i18n/src/locales/de/translations.ts +++ b/packages/i18n/src/locales/de/translations.ts @@ -350,7 +350,7 @@ export default { project_id_is_required: "Projekt-ID ist erforderlich", project_id_allowed_char: "Es sind nur alphanumerische und nicht-lateinische Zeichen erlaubt.", project_id_min_char: "Projekt-ID muss mindestens 1 Zeichen lang sein", - project_id_max_char: "Projekt-ID darf maximal 5 Zeichen lang sein", + project_id_max_char: "Projekt-ID darf maximal 10 Zeichen lang sein", project_description_placeholder: "Geben Sie eine Projektbeschreibung ein", select_network: "Netzwerk auswählen", lead: "Leitung", diff --git a/packages/i18n/src/locales/en/translations.ts b/packages/i18n/src/locales/en/translations.ts index a6a991f72f9..b94edee9227 100644 --- a/packages/i18n/src/locales/en/translations.ts +++ b/packages/i18n/src/locales/en/translations.ts @@ -178,7 +178,7 @@ export default { project_id_is_required: "Project ID is required", project_id_allowed_char: "Only Alphanumeric & Non-latin characters are allowed.", project_id_min_char: "Project ID must at least be of 1 character", - project_id_max_char: "Project ID must at most be of 5 characters", + project_id_max_char: "Project ID must at most be of 10 characters", project_description_placeholder: "Enter project description", select_network: "Select network", lead: "Lead", diff --git a/packages/i18n/src/locales/es/translations.ts b/packages/i18n/src/locales/es/translations.ts index 7b9380b6956..f1f8dcd1a6f 100644 --- a/packages/i18n/src/locales/es/translations.ts +++ b/packages/i18n/src/locales/es/translations.ts @@ -351,7 +351,7 @@ export default { project_id_is_required: "El ID del proyecto es requerido", project_id_allowed_char: "Solo se permiten caracteres alfanuméricos y no latinos.", project_id_min_char: "El ID del proyecto debe tener al menos 1 carácter", - project_id_max_char: "El ID del proyecto debe tener como máximo 5 caracteres", + project_id_max_char: "El ID del proyecto debe tener como máximo 10 caracteres", project_description_placeholder: "Ingresa la descripción del proyecto", select_network: "Seleccionar red", lead: "Líder", diff --git a/packages/i18n/src/locales/fr/translations.ts b/packages/i18n/src/locales/fr/translations.ts index c42d0de095a..f2a9f86ce4a 100644 --- a/packages/i18n/src/locales/fr/translations.ts +++ b/packages/i18n/src/locales/fr/translations.ts @@ -347,7 +347,7 @@ export default { project_id_is_required: "L’ID du projet est requis", project_id_allowed_char: "Seuls les caractères alphanumériques et non latins sont autorisés.", project_id_min_char: "L’ID du projet doit comporter au moins 1 caractère", - project_id_max_char: "L’ID du projet doit comporter au plus 5 caractères", + project_id_max_char: "L'ID du projet doit comporter au plus 10 caractères", project_description_placeholder: "Entrez la description du projet", select_network: "Sélectionner le réseau", lead: "Responsable", diff --git a/packages/i18n/src/locales/id/translations.ts b/packages/i18n/src/locales/id/translations.ts index 92ebde123ee..db7f2d01bf8 100644 --- a/packages/i18n/src/locales/id/translations.ts +++ b/packages/i18n/src/locales/id/translations.ts @@ -346,7 +346,7 @@ export default { project_id_is_required: "ID proyek diperlukan", project_id_allowed_char: "Hanya karakter alfanumerik & Non-latin yang diizinkan.", project_id_min_char: "ID proyek harus minimal 1 karakter", - project_id_max_char: "ID proyek maksimal 5 karakter", + project_id_max_char: "ID proyek maksimal 10 karakter", project_description_placeholder: "Masukkan deskripsi proyek", select_network: "Pilih jaringan", lead: "Pemimpin", diff --git a/packages/i18n/src/locales/it/translations.ts b/packages/i18n/src/locales/it/translations.ts index 25567aa4c2c..69e84ab89a5 100644 --- a/packages/i18n/src/locales/it/translations.ts +++ b/packages/i18n/src/locales/it/translations.ts @@ -346,7 +346,7 @@ export default { project_id_is_required: "L'ID del progetto è obbligatorio", project_id_allowed_char: "Sono ammessi solo caratteri alfanumerici e non latini.", project_id_min_char: "L'ID del progetto deve contenere almeno 1 carattere", - project_id_max_char: "L'ID del progetto deve contenere al massimo 5 caratteri", + project_id_max_char: "L'ID del progetto deve contenere al massimo 10 caratteri", project_description_placeholder: "Inserisci la descrizione del progetto", select_network: "Seleziona rete", lead: "Responsabile", diff --git a/packages/i18n/src/locales/ja/translations.ts b/packages/i18n/src/locales/ja/translations.ts index 95b12ef8217..e43a45d15c4 100644 --- a/packages/i18n/src/locales/ja/translations.ts +++ b/packages/i18n/src/locales/ja/translations.ts @@ -341,7 +341,7 @@ export default { project_id_is_required: "プロジェクトIDは必須です", project_id_allowed_char: "英数字と非ラテン文字のみ使用できます。", project_id_min_char: "プロジェクトIDは最低1文字必要です", - project_id_max_char: "プロジェクトIDは最大5文字までです", + project_id_max_char: "プロジェクトIDは最大10文字までです", project_description_placeholder: "プロジェクトの説明を入力", select_network: "ネットワークを選択", lead: "リード", diff --git a/packages/i18n/src/locales/ko/translations.ts b/packages/i18n/src/locales/ko/translations.ts index c2cf1ca58ca..fcb9aacdaa6 100644 --- a/packages/i18n/src/locales/ko/translations.ts +++ b/packages/i18n/src/locales/ko/translations.ts @@ -338,7 +338,7 @@ export default { project_id_is_required: "프로젝트 ID가 필요합니다", project_id_allowed_char: "영숫자 및 비라틴 문자만 허용됩니다.", project_id_min_char: "프로젝트 ID는 최소 1자 이상이어야 합니다", - project_id_max_char: "프로젝트 ID는 최대 5자 이하여야 합니다", + project_id_max_char: "프로젝트 ID는 최대 10자 이하여야 합니다", project_description_placeholder: "프로젝트 설명 입력", select_network: "네트워크 선택", lead: "리드", diff --git a/packages/i18n/src/locales/pl/translations.ts b/packages/i18n/src/locales/pl/translations.ts index 87559a36110..e60800d213e 100644 --- a/packages/i18n/src/locales/pl/translations.ts +++ b/packages/i18n/src/locales/pl/translations.ts @@ -341,7 +341,7 @@ export default { project_id_is_required: "ID projektu jest wymagane", project_id_allowed_char: "Dozwolone są tylko znaki alfanumeryczne i nielatynowskie.", project_id_min_char: "ID projektu musi mieć co najmniej 1 znak", - project_id_max_char: "ID projektu może mieć maksymalnie 5 znaków", + project_id_max_char: "ID projektu może mieć maksymalnie 10 znaków", project_description_placeholder: "Wpisz opis projektu", select_network: "Wybierz sieć", lead: "Lead", diff --git a/packages/i18n/src/locales/pt-BR/translations.ts b/packages/i18n/src/locales/pt-BR/translations.ts index c901a2b982c..f9c79cb5a15 100644 --- a/packages/i18n/src/locales/pt-BR/translations.ts +++ b/packages/i18n/src/locales/pt-BR/translations.ts @@ -346,7 +346,7 @@ export default { project_id_is_required: "O ID do projeto é obrigatório", project_id_allowed_char: "Apenas caracteres alfanuméricos e não latinos são permitidos.", project_id_min_char: "O ID do projeto deve ter pelo menos 1 caractere", - project_id_max_char: "O ID do projeto deve ter no máximo 5 caracteres", + project_id_max_char: "O ID do projeto deve ter no máximo 10 caracteres", project_description_placeholder: "Insira a descrição do projeto", select_network: "Selecione a rede", lead: "Líder", diff --git a/packages/i18n/src/locales/ro/translations.ts b/packages/i18n/src/locales/ro/translations.ts index 55758abf93c..8c224a8878a 100644 --- a/packages/i18n/src/locales/ro/translations.ts +++ b/packages/i18n/src/locales/ro/translations.ts @@ -344,7 +344,7 @@ export default { project_id_is_required: "ID-ul proiectului este obligatoriu", project_id_allowed_char: "Sunt permise doar caractere alfanumerice și non-latine.", project_id_min_char: "ID-ul proiectului trebuie să aibă cel puțin 1 caracter", - project_id_max_char: "ID-ul proiectului trebuie să aibă cel mult 5 caractere", + project_id_max_char: "ID-ul proiectului trebuie să aibă cel mult 10 caractere", project_description_placeholder: "Introdu descrierea proiectului", select_network: "Selectează rețeaua", lead: "Lider", diff --git a/packages/i18n/src/locales/ru/translations.ts b/packages/i18n/src/locales/ru/translations.ts index ba42e0a0c5d..2a64c276d29 100644 --- a/packages/i18n/src/locales/ru/translations.ts +++ b/packages/i18n/src/locales/ru/translations.ts @@ -341,7 +341,7 @@ export default { project_id_is_required: "Требуется ID проекта", project_id_allowed_char: "Допускаются только буквенно-цифровые и нелатинские символы.", project_id_min_char: "ID проекта должен содержать минимум 1 символ", - project_id_max_char: "ID проекта должен содержать максимум 5 символов", + project_id_max_char: "ID проекта должен содержать максимум 10 символов", project_description_placeholder: "Введите описание проекта", select_network: "Выбрать сеть", lead: "Руководитель", diff --git a/packages/i18n/src/locales/sk/translations.ts b/packages/i18n/src/locales/sk/translations.ts index 1e6aad7a4fc..2254638a7da 100644 --- a/packages/i18n/src/locales/sk/translations.ts +++ b/packages/i18n/src/locales/sk/translations.ts @@ -343,7 +343,7 @@ export default { project_id_is_required: "ID projektu je povinné", project_id_allowed_char: "Sú povolené iba alfanumerické a nelatinské znaky.", project_id_min_char: "ID projektu musí mať aspoň 1 znak", - project_id_max_char: "ID projektu môže mať maximálne 5 znakov", + project_id_max_char: "ID projektu môže mať maximálne 10 znakov", project_description_placeholder: "Zadajte popis projektu", select_network: "Vybrať sieť", lead: "Vedúci", diff --git a/packages/i18n/src/locales/tr-TR/translations.ts b/packages/i18n/src/locales/tr-TR/translations.ts index b0a6d9bd5a3..ed9bb586a62 100644 --- a/packages/i18n/src/locales/tr-TR/translations.ts +++ b/packages/i18n/src/locales/tr-TR/translations.ts @@ -343,7 +343,7 @@ export default { project_id_is_required: "Proje ID gereklidir", project_id_allowed_char: "Yalnızca alfasayısal ve Latin olmayan karakterlere izin verilir.", project_id_min_char: "Proje ID en az 1 karakter olmalı", - project_id_max_char: "Proje ID en fazla 5 karakter olmalı", + project_id_max_char: "Proje ID en fazla 10 karakter olmalı", project_description_placeholder: "Proje açıklamasını girin", select_network: "Ağ seç", lead: "Lider", diff --git a/packages/i18n/src/locales/ua/translations.ts b/packages/i18n/src/locales/ua/translations.ts index 41f04088fac..a885bdb136c 100644 --- a/packages/i18n/src/locales/ua/translations.ts +++ b/packages/i18n/src/locales/ua/translations.ts @@ -343,7 +343,7 @@ export default { project_id_is_required: "ID проєкту є обов’язковим", project_id_allowed_char: "Дозволені лише алфанумеричні та нелатинські символи.", project_id_min_char: "ID проєкту має містити принаймні 1 символ", - project_id_max_char: "ID проєкту може містити максимум 5 символів", + project_id_max_char: "ID проєкту може містити максимум 10 символів", project_description_placeholder: "Введіть опис проєкту", select_network: "Вибрати мережу", lead: "Керівник", diff --git a/packages/i18n/src/locales/vi-VN/translations.ts b/packages/i18n/src/locales/vi-VN/translations.ts index 6755065a136..70979a17f92 100644 --- a/packages/i18n/src/locales/vi-VN/translations.ts +++ b/packages/i18n/src/locales/vi-VN/translations.ts @@ -344,7 +344,7 @@ export default { project_id_is_required: "ID dự án là bắt buộc", project_id_allowed_char: "Chỉ cho phép các ký tự chữ số và không phải Latin.", project_id_min_char: "ID dự án phải có ít nhất 1 ký tự", - project_id_max_char: "ID dự án chỉ được tối đa 5 ký tự", + project_id_max_char: "ID dự án chỉ được tối đa 10 ký tự", project_description_placeholder: "Nhập mô tả dự án", select_network: "Chọn mạng", lead: "Người phụ trách", diff --git a/packages/i18n/src/locales/zh-CN/translations.ts b/packages/i18n/src/locales/zh-CN/translations.ts index 8e6317d656c..d651c5316e8 100644 --- a/packages/i18n/src/locales/zh-CN/translations.ts +++ b/packages/i18n/src/locales/zh-CN/translations.ts @@ -334,7 +334,7 @@ export default { project_id_is_required: "项目ID为必填项", project_id_allowed_char: "仅允许字母数字和非拉丁字符。", project_id_min_char: "项目ID至少需要1个字符", - project_id_max_char: "项目ID最多只能有5个字符", + project_id_max_char: "项目ID最多只能有10个字符", project_description_placeholder: "输入项目描述", select_network: "选择网络", lead: "负责人", diff --git a/packages/i18n/src/locales/zh-TW/translations.ts b/packages/i18n/src/locales/zh-TW/translations.ts index 84508c2c058..cb288827252 100644 --- a/packages/i18n/src/locales/zh-TW/translations.ts +++ b/packages/i18n/src/locales/zh-TW/translations.ts @@ -333,7 +333,7 @@ export default { project_id_is_required: "專案 ID 為必填", project_id_allowed_char: "僅允許英數字元和非拉丁字元。", project_id_min_char: "專案 ID 至少必須有 1 個字元", - project_id_max_char: "專案 ID 最多只能有 5 個字元", + project_id_max_char: "專案 ID 最多只能有 10 個字元", project_description_placeholder: "輸入專案描述", select_network: "選擇網路", lead: "負責人", From 8c18ef7046c8dcdbb00974a3e35a992797fa579d Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 8 Dec 2025 16:37:06 +0530 Subject: [PATCH 3/7] chore: code refactor --- apps/web/core/components/project/create/common-attributes.tsx | 2 +- apps/web/core/components/project/form.tsx | 2 +- packages/i18n/src/locales/cs/translations.ts | 2 +- packages/i18n/src/locales/de/translations.ts | 2 +- packages/i18n/src/locales/en/translations.ts | 2 +- packages/i18n/src/locales/es/translations.ts | 2 +- packages/i18n/src/locales/fr/translations.ts | 2 +- packages/i18n/src/locales/id/translations.ts | 2 +- packages/i18n/src/locales/it/translations.ts | 2 +- packages/i18n/src/locales/ja/translations.ts | 2 +- packages/i18n/src/locales/ko/translations.ts | 2 +- packages/i18n/src/locales/pl/translations.ts | 2 +- packages/i18n/src/locales/pt-BR/translations.ts | 2 +- packages/i18n/src/locales/ro/translations.ts | 2 +- packages/i18n/src/locales/ru/translations.ts | 2 +- packages/i18n/src/locales/sk/translations.ts | 2 +- packages/i18n/src/locales/tr-TR/translations.ts | 2 +- packages/i18n/src/locales/ua/translations.ts | 2 +- packages/i18n/src/locales/vi-VN/translations.ts | 2 +- packages/i18n/src/locales/zh-CN/translations.ts | 2 +- packages/i18n/src/locales/zh-TW/translations.ts | 2 +- 21 files changed, 21 insertions(+), 21 deletions(-) diff --git a/apps/web/core/components/project/create/common-attributes.tsx b/apps/web/core/components/project/create/common-attributes.tsx index 7e2e8ed5e22..531b4e4c7c1 100644 --- a/apps/web/core/components/project/create/common-attributes.tsx +++ b/apps/web/core/components/project/create/common-attributes.tsx @@ -39,7 +39,7 @@ function ProjectCommonAttributes(props: Props) { return; } if (e.target.value === "") setValue("identifier", ""); - else setValue("identifier", projectIdentifierSanitizer(e.target.value).substring(0, 5)); + else setValue("identifier", projectIdentifierSanitizer(e.target.value).substring(0, 10)); onChange(e); handleFormOnChange?.(); }; diff --git a/apps/web/core/components/project/form.tsx b/apps/web/core/components/project/form.tsx index 898c79fa836..824c8af6ee2 100644 --- a/apps/web/core/components/project/form.tsx +++ b/apps/web/core/components/project/form.tsx @@ -359,7 +359,7 @@ export function ProjectDetailsForm(props: IProjectDetailsForm) { /> diff --git a/packages/i18n/src/locales/cs/translations.ts b/packages/i18n/src/locales/cs/translations.ts index edcae9e3dd7..f9cf54ae127 100644 --- a/packages/i18n/src/locales/cs/translations.ts +++ b/packages/i18n/src/locales/cs/translations.ts @@ -337,7 +337,7 @@ export default { project_id_must_be_at_least_1_character: "ID projektu musí mít alespoň 1 znak", project_id_must_be_at_most_5_characters: "ID projektu může mít maximálně 5 znaků", project_id: "ID projektu", - project_id_tooltip_content: "Pomáhá jednoznačně identifikovat pracovní položky v projektu. Max. 5 znaků.", + project_id_tooltip_content: "Pomáhá jednoznačně identifikovat pracovní položky v projektu. Max. 10 znaků.", description_placeholder: "Popis", only_alphanumeric_non_latin_characters_allowed: "Jsou povoleny pouze alfanumerické a nelatinské znaky.", project_id_is_required: "ID projektu je povinné", diff --git a/packages/i18n/src/locales/de/translations.ts b/packages/i18n/src/locales/de/translations.ts index 04be0458567..74312d6637b 100644 --- a/packages/i18n/src/locales/de/translations.ts +++ b/packages/i18n/src/locales/de/translations.ts @@ -344,7 +344,7 @@ export default { project_id_must_be_at_least_1_character: "Projekt-ID muss mindestens 1 Zeichen lang sein", project_id_must_be_at_most_5_characters: "Projekt-ID darf maximal 5 Zeichen lang sein", project_id: "Projekt-ID", - project_id_tooltip_content: "Hilft, Arbeitselemente im Projekt eindeutig zu identifizieren. Max. 5 Zeichen.", + project_id_tooltip_content: "Hilft, Arbeitselemente im Projekt eindeutig zu identifizieren. Max. 10 Zeichen.", description_placeholder: "Beschreibung", only_alphanumeric_non_latin_characters_allowed: "Es sind nur alphanumerische und nicht-lateinische Zeichen erlaubt.", project_id_is_required: "Projekt-ID ist erforderlich", diff --git a/packages/i18n/src/locales/en/translations.ts b/packages/i18n/src/locales/en/translations.ts index b94edee9227..016de507197 100644 --- a/packages/i18n/src/locales/en/translations.ts +++ b/packages/i18n/src/locales/en/translations.ts @@ -172,7 +172,7 @@ export default { project_id_must_be_at_least_1_character: "Project ID must at least be of 1 character", project_id_must_be_at_most_5_characters: "Project ID must at most be of 5 characters", project_id: "Project ID", - project_id_tooltip_content: "Helps you identify work items in the project uniquely. Max 5 characters.", + project_id_tooltip_content: "Helps you identify work items in the project uniquely. Max 10 characters.", description_placeholder: "Description", only_alphanumeric_non_latin_characters_allowed: "Only Alphanumeric & Non-latin characters are allowed.", project_id_is_required: "Project ID is required", diff --git a/packages/i18n/src/locales/es/translations.ts b/packages/i18n/src/locales/es/translations.ts index f1f8dcd1a6f..647d613ed34 100644 --- a/packages/i18n/src/locales/es/translations.ts +++ b/packages/i18n/src/locales/es/translations.ts @@ -345,7 +345,7 @@ export default { project_id_must_be_at_most_5_characters: "El ID del proyecto debe tener como máximo 5 caracteres", project_id: "ID del proyecto", project_id_tooltip_content: - "Te ayuda a identificar elementos de trabajo en el proyecto de manera única. Máximo 5 caracteres.", + "Te ayuda a identificar elementos de trabajo en el proyecto de manera única. Máximo 10 caracteres.", description_placeholder: "Descripción", only_alphanumeric_non_latin_characters_allowed: "Solo se permiten caracteres alfanuméricos y no latinos.", project_id_is_required: "El ID del proyecto es requerido", diff --git a/packages/i18n/src/locales/fr/translations.ts b/packages/i18n/src/locales/fr/translations.ts index f2a9f86ce4a..4df21715db9 100644 --- a/packages/i18n/src/locales/fr/translations.ts +++ b/packages/i18n/src/locales/fr/translations.ts @@ -341,7 +341,7 @@ export default { project_id_must_be_at_most_5_characters: "L’ID du projet doit comporter au plus 5 caractères", project_id: "ID du projet", project_id_tooltip_content: - "Vous aide à identifier de manière unique les éléments de travail dans le projet. Maximum 5 caractères.", + "Vous aide à identifier de manière unique les éléments de travail dans le projet. Maximum 10 caractères.", description_placeholder: "Description", only_alphanumeric_non_latin_characters_allowed: "Seuls les caractères alphanumériques et non latins sont autorisés.", project_id_is_required: "L’ID du projet est requis", diff --git a/packages/i18n/src/locales/id/translations.ts b/packages/i18n/src/locales/id/translations.ts index db7f2d01bf8..16296fa03bb 100644 --- a/packages/i18n/src/locales/id/translations.ts +++ b/packages/i18n/src/locales/id/translations.ts @@ -340,7 +340,7 @@ export default { project_id_must_be_at_most_5_characters: "ID proyek maksimal 5 karakter", project_id: "ID proyek", project_id_tooltip_content: - "Membantu Anda mengidentifikasi item kerja dalam proyek secara unik. Maksimal 5 karakter.", + "Membantu Anda mengidentifikasi item kerja dalam proyek secara unik. Maksimal 10 karakter.", description_placeholder: "Deskripsi", only_alphanumeric_non_latin_characters_allowed: "Hanya karakter alfanumerik & Non-latin yang diizinkan.", project_id_is_required: "ID proyek diperlukan", diff --git a/packages/i18n/src/locales/it/translations.ts b/packages/i18n/src/locales/it/translations.ts index 69e84ab89a5..8f7a25423c5 100644 --- a/packages/i18n/src/locales/it/translations.ts +++ b/packages/i18n/src/locales/it/translations.ts @@ -340,7 +340,7 @@ export default { project_id_must_be_at_most_5_characters: "L'ID del progetto deve contenere al massimo 5 caratteri", project_id: "ID del progetto", project_id_tooltip_content: - "Ti aiuta a identificare in modo univoco gli elementi di lavoro nel progetto. Massimo 5 caratteri.", + "Ti aiuta a identificare in modo univoco gli elementi di lavoro nel progetto. Massimo 10 caratteri.", description_placeholder: "Descrizione", only_alphanumeric_non_latin_characters_allowed: "Sono ammessi solo caratteri alfanumerici e non latini.", project_id_is_required: "L'ID del progetto è obbligatorio", diff --git a/packages/i18n/src/locales/ja/translations.ts b/packages/i18n/src/locales/ja/translations.ts index e43a45d15c4..237d1a4123b 100644 --- a/packages/i18n/src/locales/ja/translations.ts +++ b/packages/i18n/src/locales/ja/translations.ts @@ -335,7 +335,7 @@ export default { project_id_must_be_at_least_1_character: "プロジェクトIDは最低1文字必要です", project_id_must_be_at_most_5_characters: "プロジェクトIDは最大5文字までです", project_id: "プロジェクトID", - project_id_tooltip_content: "プロジェクト内の作業項目を一意に識別するのに役立ちます。最大5文字。", + project_id_tooltip_content: "プロジェクト内の作業項目を一意に識別するのに役立ちます。最大10文字。", description_placeholder: "説明", only_alphanumeric_non_latin_characters_allowed: "英数字と非ラテン文字のみ使用できます。", project_id_is_required: "プロジェクトIDは必須です", diff --git a/packages/i18n/src/locales/ko/translations.ts b/packages/i18n/src/locales/ko/translations.ts index fcb9aacdaa6..74a88d9187c 100644 --- a/packages/i18n/src/locales/ko/translations.ts +++ b/packages/i18n/src/locales/ko/translations.ts @@ -332,7 +332,7 @@ export default { project_id_must_be_at_least_1_character: "프로젝트 ID는 최소 1자 이상이어야 합니다", project_id_must_be_at_most_5_characters: "프로젝트 ID는 최대 5자 이하여야 합니다", project_id: "프로젝트 ID", - project_id_tooltip_content: "작업 항목을 고유하게 식별하는 데 도움이 됩니다. 최대 5자.", + project_id_tooltip_content: "작업 항목을 고유하게 식별하는 데 도움이 됩니다. 최대 10자.", description_placeholder: "설명", only_alphanumeric_non_latin_characters_allowed: "영숫자 및 비라틴 문자만 허용됩니다.", project_id_is_required: "프로젝트 ID가 필요합니다", diff --git a/packages/i18n/src/locales/pl/translations.ts b/packages/i18n/src/locales/pl/translations.ts index e60800d213e..5f261501371 100644 --- a/packages/i18n/src/locales/pl/translations.ts +++ b/packages/i18n/src/locales/pl/translations.ts @@ -335,7 +335,7 @@ export default { project_id_must_be_at_least_1_character: "ID projektu musi mieć co najmniej 1 znak", project_id_must_be_at_most_5_characters: "ID projektu może mieć maksymalnie 5 znaków", project_id: "ID projektu", - project_id_tooltip_content: "Pomaga jednoznacznie identyfikować elementy pracy w projekcie. Max. 5 znaków.", + project_id_tooltip_content: "Pomaga jednoznacznie identyfikować elementy pracy w projekcie. Max. 10 znaków.", description_placeholder: "Opis", only_alphanumeric_non_latin_characters_allowed: "Dozwolone są tylko znaki alfanumeryczne i nielatynowskie.", project_id_is_required: "ID projektu jest wymagane", diff --git a/packages/i18n/src/locales/pt-BR/translations.ts b/packages/i18n/src/locales/pt-BR/translations.ts index f9c79cb5a15..8c410276dad 100644 --- a/packages/i18n/src/locales/pt-BR/translations.ts +++ b/packages/i18n/src/locales/pt-BR/translations.ts @@ -340,7 +340,7 @@ export default { project_id_must_be_at_most_5_characters: "O ID do projeto deve ter no máximo 5 caracteres", project_id: "ID do projeto", project_id_tooltip_content: - "Ajuda você a identificar itens de trabalho no projeto de forma exclusiva. Máximo de 5 caracteres.", + "Ajuda você a identificar itens de trabalho no projeto de forma exclusiva. Máximo de 10 caracteres.", description_placeholder: "Descrição", only_alphanumeric_non_latin_characters_allowed: "Apenas caracteres alfanuméricos e não latinos são permitidos.", project_id_is_required: "O ID do projeto é obrigatório", diff --git a/packages/i18n/src/locales/ro/translations.ts b/packages/i18n/src/locales/ro/translations.ts index 8c224a8878a..4d7e21c15c5 100644 --- a/packages/i18n/src/locales/ro/translations.ts +++ b/packages/i18n/src/locales/ro/translations.ts @@ -338,7 +338,7 @@ export default { project_id_must_be_at_least_1_character: "ID-ul proiectului trebuie să conțină cel puțin 1 caracter", project_id_must_be_at_most_5_characters: "ID-ul proiectului trebuie să conțină cel mult 5 caractere", project_id: "ID-ul Proiectului", - project_id_tooltip_content: "Te ajută să identifici unic activitățile din proiect. Maxim 5 caractere.", + project_id_tooltip_content: "Te ajută să identifici unic activitățile din proiect. Maxim 10 caractere.", description_placeholder: "Descriere", only_alphanumeric_non_latin_characters_allowed: "Sunt permise doar caractere alfanumerice și non-latine.", project_id_is_required: "ID-ul proiectului este obligatoriu", diff --git a/packages/i18n/src/locales/ru/translations.ts b/packages/i18n/src/locales/ru/translations.ts index 2a64c276d29..a9b7f61821b 100644 --- a/packages/i18n/src/locales/ru/translations.ts +++ b/packages/i18n/src/locales/ru/translations.ts @@ -335,7 +335,7 @@ export default { project_id_must_be_at_least_1_character: "ID проекта должен содержать минимум 1 символ", project_id_must_be_at_most_5_characters: "ID проекта должен содержать максимум 5 символов", project_id: "ID проекта", - project_id_tooltip_content: "Помогает идентифицировать рабочие элементы в проекте. Макс. 5 символов.", + project_id_tooltip_content: "Помогает идентифицировать рабочие элементы в проекте. Макс. 10 символов.", description_placeholder: "Описание", only_alphanumeric_non_latin_characters_allowed: "Допускаются только буквенно-цифровые и нелатинские символы.", project_id_is_required: "Требуется ID проекта", diff --git a/packages/i18n/src/locales/sk/translations.ts b/packages/i18n/src/locales/sk/translations.ts index 2254638a7da..10f6e148427 100644 --- a/packages/i18n/src/locales/sk/translations.ts +++ b/packages/i18n/src/locales/sk/translations.ts @@ -337,7 +337,7 @@ export default { project_id_must_be_at_least_1_character: "ID projektu musí mať aspoň 1 znak", project_id_must_be_at_most_5_characters: "ID projektu môže mať maximálne 5 znakov", project_id: "ID projektu", - project_id_tooltip_content: "Pomáha jednoznačne identifikovať pracovné položky v projekte. Max. 5 znakov.", + project_id_tooltip_content: "Pomáha jednoznačne identifikovať pracovné položky v projekte. Max. 10 znakov.", description_placeholder: "Popis", only_alphanumeric_non_latin_characters_allowed: "Sú povolené iba alfanumerické a nelatinské znaky.", project_id_is_required: "ID projektu je povinné", diff --git a/packages/i18n/src/locales/tr-TR/translations.ts b/packages/i18n/src/locales/tr-TR/translations.ts index ed9bb586a62..21840b4ee65 100644 --- a/packages/i18n/src/locales/tr-TR/translations.ts +++ b/packages/i18n/src/locales/tr-TR/translations.ts @@ -337,7 +337,7 @@ export default { project_id_must_be_at_least_1_character: "Proje ID en az 1 karakter olmalı", project_id_must_be_at_most_5_characters: "Proje ID en fazla 5 karakter olmalı", project_id: "Proje ID", - project_id_tooltip_content: "Projedeki iş öğelerini benzersiz şekilde tanımlamanıza yardımcı olur. Maks. 5 karakter.", + project_id_tooltip_content: "Projedeki iş öğelerini benzersiz şekilde tanımlamanıza yardımcı olur. Maks. 10 karakter.", description_placeholder: "Açıklama", only_alphanumeric_non_latin_characters_allowed: "Yalnızca alfasayısal ve Latin olmayan karakterlere izin verilir.", project_id_is_required: "Proje ID gereklidir", diff --git a/packages/i18n/src/locales/ua/translations.ts b/packages/i18n/src/locales/ua/translations.ts index a885bdb136c..743fd7ab634 100644 --- a/packages/i18n/src/locales/ua/translations.ts +++ b/packages/i18n/src/locales/ua/translations.ts @@ -337,7 +337,7 @@ export default { project_id_must_be_at_least_1_character: "Ідентифікатор проєкту має містити принаймні 1 символ", project_id_must_be_at_most_5_characters: "Ідентифікатор проєкту може містити максимум 5 символів", project_id: "ID проєкту", - project_id_tooltip_content: "Допомагає унікально ідентифікувати робочі одиниці в проєкті. Макс. 5 символів.", + project_id_tooltip_content: "Допомагає унікально ідентифікувати робочі одиниці в проєкті. Макс. 10 символів.", description_placeholder: "Опис", only_alphanumeric_non_latin_characters_allowed: "Дозволені лише алфанумеричні та нелатинські символи.", project_id_is_required: "ID проєкту є обов’язковим", diff --git a/packages/i18n/src/locales/vi-VN/translations.ts b/packages/i18n/src/locales/vi-VN/translations.ts index 70979a17f92..4e801829939 100644 --- a/packages/i18n/src/locales/vi-VN/translations.ts +++ b/packages/i18n/src/locales/vi-VN/translations.ts @@ -338,7 +338,7 @@ export default { project_id_must_be_at_least_1_character: "ID dự án phải có ít nhất 1 ký tự", project_id_must_be_at_most_5_characters: "ID dự án chỉ được tối đa 5 ký tự", project_id: "ID dự án", - project_id_tooltip_content: "Giúp xác định duy nhất mục công việc trong dự án của bạn. Tối đa 5 ký tự.", + project_id_tooltip_content: "Giúp xác định duy nhất mục công việc trong dự án của bạn. Tối đa 10 ký tự.", description_placeholder: "Mô tả", only_alphanumeric_non_latin_characters_allowed: "Chỉ cho phép các ký tự chữ số và không phải Latin.", project_id_is_required: "ID dự án là bắt buộc", diff --git a/packages/i18n/src/locales/zh-CN/translations.ts b/packages/i18n/src/locales/zh-CN/translations.ts index d651c5316e8..a8fd6147978 100644 --- a/packages/i18n/src/locales/zh-CN/translations.ts +++ b/packages/i18n/src/locales/zh-CN/translations.ts @@ -328,7 +328,7 @@ export default { project_id_must_be_at_least_1_character: "项目ID至少需要1个字符", project_id_must_be_at_most_5_characters: "项目ID最多只能有5个字符", project_id: "项目ID", - project_id_tooltip_content: "帮助您唯一标识项目中的工作项。最多5个字符。", + project_id_tooltip_content: "帮助您唯一标识项目中的工作项。最多10个字符。", description_placeholder: "描述", only_alphanumeric_non_latin_characters_allowed: "仅允许字母数字和非拉丁字符。", project_id_is_required: "项目ID为必填项", diff --git a/packages/i18n/src/locales/zh-TW/translations.ts b/packages/i18n/src/locales/zh-TW/translations.ts index cb288827252..c000d72f6e3 100644 --- a/packages/i18n/src/locales/zh-TW/translations.ts +++ b/packages/i18n/src/locales/zh-TW/translations.ts @@ -327,7 +327,7 @@ export default { project_id_must_be_at_least_1_character: "專案 ID 至少必須有 1 個字元", project_id_must_be_at_most_5_characters: "專案 ID 最多只能有 5 個字元", project_id: "專案 ID", - project_id_tooltip_content: "協助您唯一識別專案中的工作事項。最多 5 個字元。", + project_id_tooltip_content: "協助您唯一識別專案中的工作事項。最多 10 個字元。", description_placeholder: "描述", only_alphanumeric_non_latin_characters_allowed: "僅允許英數字元和非拉丁字元。", project_id_is_required: "專案 ID 為必填", From 76f725ed04beb5fb679a88845c0007a07575372b Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 8 Dec 2025 17:53:12 +0530 Subject: [PATCH 4/7] chore: table layout enhancements --- .../issue-layouts/spreadsheet/issue-row.tsx | 94 ++++++++++--------- .../spreadsheet/spreadsheet-header.tsx | 52 ++++++---- 2 files changed, 84 insertions(+), 62 deletions(-) diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx index a44252b8fd0..1e517df845a 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx @@ -239,11 +239,6 @@ const IssueRowDetails = observer(function IssueRowDetails(props: IssueRowDetails const canSelectIssues = !disableUserActions && !selectionHelpers.isSelectionDisabled; - //TODO: add better logic. This is to have a min width for ID/Key based on the length of project identifier - const keyMinWidth = displayProperties?.key - ? (getProjectIdentifierById(issueDetail.project_id)?.length ?? 0 + 5) * 7 - : 0; - const workItemLink = generateWorkItemLink({ workspaceSlug: workspaceSlug?.toString(), projectId: issueDetail?.project_id, @@ -255,11 +250,12 @@ const IssueRowDetails = observer(function IssueRowDetails(props: IssueRowDetails return ( <> + {/* Single sticky column containing both identifier and workitem */} -
+ {/* Identifier section - conditionally rendered */} + {displayProperties?.key && ( +
+
+ {issueDetail.project_id && ( + + )} +
+
+ )} + + {/* Workitem section */} +
{/* select checkbox */} {projectId && canSelectIssues && ( } - {(displayProperties?.key || displayProperties?.issue_type) && ( -
-

- {issueDetail.project_id && ( - - )} -

-
- )} - {/* sub-issues chevron */}
{subIssuesCount > 0 && !isEpic && ( @@ -343,31 +347,31 @@ const IssueRowDetails = observer(function IssueRowDetails(props: IssueRowDetails )}
-
-
-
-
- -
- {issueDetail.name} -
-
+
+
+
+ +
+ {issueDetail.name} +
+
+
+
+
e.stopPropagation()} + > + {quickActions({ + issue: issueDetail, + parentRef: cellRef, + customActionButton, + portalElement: portalElement.current, + })}
-
-
e.stopPropagation()} - > - {quickActions({ - issue: issueDetail, - parentRef: cellRef, - customActionButton, - portalElement: portalElement.current, - })}
diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx index 342d94d1f7c..b086e97b7c3 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx @@ -5,7 +5,6 @@ import { SPREADSHEET_SELECT_GROUP } from "@plane/constants"; // ui import type { IIssueDisplayFilterOptions, IIssueDisplayProperties } from "@plane/types"; // components -import { Row } from "@plane/ui"; import { cn } from "@plane/utils"; import { MultipleSelectGroupAction } from "@/components/core/multiple-select"; // hooks @@ -44,27 +43,46 @@ export const SpreadsheetHeader = observer(function SpreadsheetHeader(props: Prop return ( + {/* Single header column containing both identifier and workitem */} - - {canSelectIssues && ( -
- +
+ {/* Identifier header section - conditionally rendered */} + {displayProperties?.key && ( +
+ ID
)} - {`${isEpic ? "Epics" : "Work items"}`} - + + {/* Workitem header section */} +
+ {canSelectIssues && ( +
+ +
+ )} + {`${isEpic ? "Epics" : "Work items"}`} +
+
{spreadsheetColumnsList.map((property) => ( From 00a5b3363397f7404896e75df0dbef86ee7d9786 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia Date: Mon, 8 Dec 2025 17:59:44 +0530 Subject: [PATCH 5/7] chore: code refactor --- .../issues/issue-layouts/spreadsheet/spreadsheet-header.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx index b086e97b7c3..b7da9f426e7 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx @@ -48,7 +48,7 @@ export const SpreadsheetHeader = observer(function SpreadsheetHeader(props: Prop className="group/list-header md:sticky min-w-60 left-0 z-[15] h-11 bg-custom-background-90 text-sm font-medium border-r-[0.5px] border-custom-border-100" tabIndex={-1} > -
+
{/* Identifier header section - conditionally rendered */} {displayProperties?.key && (
Date: Mon, 8 Dec 2025 19:38:48 +0530 Subject: [PATCH 6/7] chore: table layout enhancements --- .../issue-layouts/spreadsheet/issue-row.tsx | 17 ++++++++--------- .../spreadsheet/spreadsheet-header.tsx | 17 +---------------- 2 files changed, 9 insertions(+), 25 deletions(-) diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx index 1e517df845a..4c7801dbc4e 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/issue-row.tsx @@ -276,10 +276,7 @@ const IssueRowDetails = observer(function IssueRowDetails(props: IssueRowDetails > {/* Identifier section - conditionally rendered */} {displayProperties?.key && ( -
+
{issueDetail.project_id && ( +
{/* select checkbox */} {projectId && canSelectIssues && (
e.stopPropagation()} > {quickActions({ diff --git a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx index b7da9f426e7..c5eb1fb1f1b 100644 --- a/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx +++ b/apps/web/core/components/issues/issue-layouts/spreadsheet/spreadsheet-header.tsx @@ -49,23 +49,8 @@ export const SpreadsheetHeader = observer(function SpreadsheetHeader(props: Prop tabIndex={-1} >
- {/* Identifier header section - conditionally rendered */} - {displayProperties?.key && ( -
- ID -
- )} - {/* Workitem header section */} -
+
{canSelectIssues && (
Date: Mon, 8 Dec 2025 19:50:50 +0530 Subject: [PATCH 7/7] chore: code refactor --- packages/i18n/src/locales/tr-TR/translations.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/i18n/src/locales/tr-TR/translations.ts b/packages/i18n/src/locales/tr-TR/translations.ts index 21840b4ee65..6fed3bcdc24 100644 --- a/packages/i18n/src/locales/tr-TR/translations.ts +++ b/packages/i18n/src/locales/tr-TR/translations.ts @@ -337,7 +337,8 @@ export default { project_id_must_be_at_least_1_character: "Proje ID en az 1 karakter olmalı", project_id_must_be_at_most_5_characters: "Proje ID en fazla 5 karakter olmalı", project_id: "Proje ID", - project_id_tooltip_content: "Projedeki iş öğelerini benzersiz şekilde tanımlamanıza yardımcı olur. Maks. 10 karakter.", + project_id_tooltip_content: + "Projedeki iş öğelerini benzersiz şekilde tanımlamanıza yardımcı olur. Maks. 10 karakter.", description_placeholder: "Açıklama", only_alphanumeric_non_latin_characters_allowed: "Yalnızca alfasayısal ve Latin olmayan karakterlere izin verilir.", project_id_is_required: "Proje ID gereklidir",