fix(webui): clarify automation search placeholder

This commit is contained in:
chengyongru
2026-06-16 09:48:53 +08:00
parent f56a73b2d3
commit 23e12b84ff
11 changed files with 25 additions and 22 deletions
@@ -3506,7 +3506,10 @@ function AutomationsSettings({
<Input
value={query}
onChange={(event) => onQueryChange(event.target.value)}
placeholder={tx("settings.automations.search", "name:quiz chat:WeChat cron:09-23")}
placeholder={tx(
"settings.automations.search",
"Search task, message, linked chat, or schedule",
)}
className="h-9 w-full rounded-[13px] border-border/45 bg-background/85 pl-9 text-[13px] shadow-sm"
/>
</div>
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "Updated",
"name": "Name"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "Search task, message, linked chat, or schedule",
"queue": "Queue",
"loading": "Loading automations...",
"noMatches": "No automations match this view.",
"empty": "No automations yet.",
"emptyHint": "Create one from the chat or channel where it should run so nanobot keeps the right context.",
"emptyHint": "Create one from where it should run so nanobot keeps the right context.",
"oneShot": "One-time",
"systemTask": "System-managed automation",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "Actualizada",
"name": "Nombre"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "Buscar tarea, mensaje, chat vinculado u horario",
"queue": "Cola",
"loading": "Cargando automatizaciones...",
"noMatches": "No hay automatizaciones que coincidan con esta vista.",
"empty": "Aún no hay automatizaciones.",
"emptyHint": "Crea una desde el chat o canal donde debe ejecutarse para que nanobot conserve el contexto correcto.",
"emptyHint": "Créala desde donde debe ejecutarse para que nanobot conserve el contexto correcto.",
"oneShot": "Una vez",
"systemTask": "Automatización administrada por el sistema",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "Mise à jour",
"name": "Nom"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "Rechercher tâche, message, discussion liée ou planning",
"queue": "File",
"loading": "Chargement des automatisations...",
"noMatches": "Aucune automatisation ne correspond à cette vue.",
"empty": "Aucune automatisation pour le moment.",
"emptyHint": "Créez-en une depuis la discussion ou le canal où elle doit sexécuter afin que nanobot conserve le bon contexte.",
"emptyHint": "Créez-la depuis son point d'exécution pour que nanobot conserve le bon contexte.",
"oneShot": "Ponctuelle",
"systemTask": "Automatisation gérée par le système",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "Diperbarui",
"name": "Nama"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "Cari tugas, pesan, chat terkait, atau jadwal",
"queue": "Antrean",
"loading": "Memuat otomasi...",
"noMatches": "Tidak ada otomasi yang cocok dengan tampilan ini.",
"empty": "Belum ada otomasi.",
"emptyHint": "Buat dari chat atau channel tempat otomasi akan berjalan agar nanobot menyimpan konteks yang benar.",
"emptyHint": "Buat dari tempat tugas ini berjalan agar nanobot menyimpan konteks yang tepat.",
"oneShot": "Satu kali",
"systemTask": "Automasi yang dikelola sistem",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "更新日時",
"name": "名前"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "タスク、メッセージ、関連チャット、予定を検索",
"queue": "キュー",
"loading": "自動タスクを読み込み中...",
"noMatches": "この表示に一致する自動タスクはありません。",
"empty": "自動タスクはまだありません。",
"emptyHint": "実行先のチャットまたは外部 channel から作成すると、nanobot が正しいコンテキストを保持できます。",
"emptyHint": "実行から作成すると、nanobot が正しいコンテキストを保持できます。",
"oneShot": "一回限り",
"systemTask": "システム管理の自動タスク",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "업데이트",
"name": "이름"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "작업, 메시지, 연결된 채팅 또는 일정 검색",
"queue": "대기열",
"loading": "자동화를 불러오는 중...",
"noMatches": "이 보기와 일치하는 자동화가 없습니다.",
"empty": "아직 자동화가 없습니다.",
"emptyHint": "실행되어야 하는 채팅 또는 외부 channel에서 만들면 nanobot이 올바른 컨텍스트를 유지합니다.",
"emptyHint": "실행될 위치에서 만들면 nanobot이 올바른 컨텍스트를 유지합니다.",
"oneShot": "일회성",
"systemTask": "시스템 관리 자동화",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "Đã cập nhật",
"name": "Tên"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "Tìm tác vụ, tin nhắn, cuộc trò chuyện liên kết hoặc lịch",
"queue": "Hàng đợi",
"loading": "Đang tải tự động hóa...",
"noMatches": "Không có tự động hóa phù hợp với chế độ xem này.",
"empty": "Chưa có tự động hóa.",
"emptyHint": "Tạo từ cuộc trò chuyện hoặc channel nơi tự động hóa sẽ chạy để nanobot giữ đúng ngữ cảnh.",
"emptyHint": "Tạo từ nơi tác vụ sẽ chạy để nanobot giữ đúng ngữ cảnh.",
"oneShot": "Một lần",
"systemTask": "Tự động hóa do hệ thống quản lý",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "更新时间",
"name": "名称"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "搜索任务、消息、关联会话或计划",
"queue": "任务队列",
"loading": "正在加载自动任务...",
"noMatches": "当前视图没有匹配的自动任务。",
"empty": "暂无自动任务。",
"emptyHint": "请从它应该运行的聊天或外部 channel 中创建,这样 nanobot 才能保留正确上下文。",
"emptyHint": "请从它应该运行的来源处创建,这样 nanobot 才能保留正确上下文。",
"oneShot": "一次性",
"systemTask": "系统管理的自动任务",
"labels": {
+2 -2
View File
@@ -493,12 +493,12 @@
"updated": "更新時間",
"name": "名稱"
},
"search": "name:quiz chat:WeChat cron:09-23",
"search": "搜尋任務、訊息、關聯對話或排程",
"queue": "任務佇列",
"loading": "正在載入自動任務...",
"noMatches": "目前檢視沒有符合的自動任務。",
"empty": "尚無自動任務。",
"emptyHint": "請從它應該執行的聊天或外部 channel 中建立,這樣 nanobot 才能保留正確上下文。",
"emptyHint": "請從它應該執行的來源處建立,這樣 nanobot 才能保留正確上下文。",
"oneShot": "一次性",
"systemTask": "系統管理的自動任務",
"labels": {
+3 -3
View File
@@ -454,13 +454,13 @@ describe("App layout", () => {
expect(document.title).toBe("Automations · nanobot");
const searchInput = within(automationsMain as HTMLElement).getByPlaceholderText(
"name:quiz chat:WeChat cron:09-23",
"Search task, message, linked chat, or schedule",
);
fireEvent.change(searchInput, { target: { value: "chat:WeChat" } });
fireEvent.change(searchInput, { target: { value: "WeChat" } });
await waitFor(() => expect(screen.queryByText("Daily repo check")).not.toBeInTheDocument());
expect(screen.getAllByText("WeChat quiz").length).toBeGreaterThanOrEqual(1);
fireEvent.change(searchInput, { target: { value: "cron:09-23" } });
fireEvent.change(searchInput, { target: { value: "09-23" } });
await waitFor(() => expect(screen.queryByText("Daily repo check")).not.toBeInTheDocument());
expect(screen.getAllByText("WeChat quiz").length).toBeGreaterThanOrEqual(1);
});