Show Add Project search loading state (#1762)

* fix(app): show add project search loading state

The Add Project picker now treats a typed value that is ahead of the debounced directory search as an active search, so empty results show a loading message instead of the initial prompt or a blank list.

* fix(app): avoid overlapping project picker states
This commit is contained in:
Mohamed Boudra
2026-06-27 12:44:59 +08:00
committed by GitHub
parent 26a8a04651
commit 696a9f0119
11 changed files with 106 additions and 26 deletions
+1
View File
@@ -388,6 +388,7 @@ describe("translation resources", () => {
it("includes picker, file pane, and tool detail keys for the Batch 4L migration", () => {
expect(en.projectPicker.placeholder).toBe("Type a directory path...");
expect(en.projectPicker.opening).toBe("Opening project...");
expect(en.projectPicker.searching).toBe("Searching...");
expect(en.projectPicker.empty).toBe("Start typing a path");
expect(en.branchSwitcher.currentBranch).toBe(
"Current branch: {{branchName}}. Press to switch branch.",
+1
View File
@@ -1054,6 +1054,7 @@ export const ar: TranslationResources = {
projectPicker: {
placeholder: "اكتب مسار الدليل...",
opening: "افتتاح المشروع...",
searching: "جارٍ البحث...",
empty: "ابدأ بكتابة المسار",
errors: {
directory_not_found: "لم يتم العثور على الدليل.",
+1
View File
@@ -1060,6 +1060,7 @@ export const en = {
projectPicker: {
placeholder: "Type a directory path...",
opening: "Opening project...",
searching: "Searching...",
empty: "Start typing a path",
errors: {
directory_not_found: "Directory not found.",
+1
View File
@@ -1087,6 +1087,7 @@ export const es: TranslationResources = {
projectPicker: {
placeholder: "Escriba una ruta de directorio...",
opening: "Proyecto de apertura...",
searching: "Buscando...",
empty: "Comience a escribir una ruta",
errors: {
directory_not_found: "No se encontró el directorio.",
+1
View File
@@ -1089,6 +1089,7 @@ export const fr: TranslationResources = {
projectPicker: {
placeholder: "Tapez un chemin de répertoire...",
opening: "Projet d'ouverture...",
searching: "Recherche en cours...",
empty: "Commencez à taper un chemin",
errors: {
directory_not_found: "Répertoire introuvable.",
+1
View File
@@ -1067,6 +1067,7 @@ export const ja: TranslationResources = {
projectPicker: {
placeholder: "ディレクトリパスを入力...",
opening: "プロジェクトを開いています...",
searching: "検索中...",
empty: "パスを入力してください",
errors: {
directory_not_found: "ディレクトリが見つかりません。",
+1
View File
@@ -1073,6 +1073,7 @@ export const ptBR: TranslationResources = {
projectPicker: {
placeholder: "Digite um caminho de diretório...",
opening: "Abrindo projeto...",
searching: "Buscando...",
empty: "Comece digitando um caminho",
errors: {
directory_not_found: "Diretório não encontrado.",
+1
View File
@@ -1077,6 +1077,7 @@ export const ru: TranslationResources = {
projectPicker: {
placeholder: "Введите путь к каталогу...",
opening: "Открытие проекта...",
searching: "Идет поиск...",
empty: "Начните вводить путь",
errors: {
directory_not_found: "Каталог не найден.",
+1
View File
@@ -1039,6 +1039,7 @@ export const zhCN: TranslationResources = {
projectPicker: {
placeholder: "输入目录路径...",
opening: "正在打开 project...",
searching: "正在搜索...",
empty: "开始输入路径",
errors: {
directory_not_found: "找不到目录。",