From 8ed68d9c1992b2b6d815f65dc23eef7617763f63 Mon Sep 17 00:00:00 2001 From: Roushan Singh Date: Fri, 3 Oct 2025 16:06:53 +0530 Subject: [PATCH 1/7] chore(ui): refine className for dropdown menu with animation states --- web-app/src/components/ui/dropdown-menu.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web-app/src/components/ui/dropdown-menu.tsx b/web-app/src/components/ui/dropdown-menu.tsx index 7a527aaca..e4782cf12 100644 --- a/web-app/src/components/ui/dropdown-menu.tsx +++ b/web-app/src/components/ui/dropdown-menu.tsx @@ -229,7 +229,7 @@ function DropdownMenuSubContent({ Date: Fri, 3 Oct 2025 16:14:27 +0530 Subject: [PATCH 2/7] chore: Reposition 'Remove project' option for better usability --- web-app/src/containers/ThreadList.tsx | 45 +++++++++++++-------------- 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/web-app/src/containers/ThreadList.tsx b/web-app/src/containers/ThreadList.tsx index a8dadbb62..734aec710 100644 --- a/web-app/src/containers/ThreadList.tsx +++ b/web-app/src/containers/ThreadList.tsx @@ -262,32 +262,29 @@ const SortableItem = memo( )) )} - {thread.metadata?.project && ( - <> - - { - e.stopPropagation() - // Remove project from metadata - const projectName = thread.metadata?.project?.name - updateThread(thread.id, { - metadata: { - ...thread.metadata, - project: undefined, - }, - }) - toast.success( - `Thread removed from "${projectName}" successfully` - ) - }} - > - - Remove from project - - - )} + {thread.metadata?.project && ( + { + e.stopPropagation() + // Remove project from metadata + const projectName = thread.metadata?.project?.name + updateThread(thread.id, { + metadata: { + ...thread.metadata, + project: undefined, + }, + }) + toast.success( + `Thread removed from "${projectName}" successfully` + ) + }} + > + + Remove + + )} Date: Fri, 3 Oct 2025 16:20:51 +0530 Subject: [PATCH 3/7] feat: add project search and scrollable thread lists - Add search bar to filter projects by name in real-time - Implement scrollable thread container with max 4 visible threads - Add empty state for no search results - Add clear button (X) to reset search query --- web-app/src/locales/en/common.json | 5 ++- web-app/src/routes/project/index.tsx | 56 +++++++++++++++++++++++++++- 2 files changed, 58 insertions(+), 3 deletions(-) diff --git a/web-app/src/locales/en/common.json b/web-app/src/locales/en/common.json index 2eca7a699..690381188 100644 --- a/web-app/src/locales/en/common.json +++ b/web-app/src/locales/en/common.json @@ -284,7 +284,10 @@ "updated": "Updated:", "collapseThreads": "Collapse threads", "expandThreads": "Expand threads", - "update": "Update" + "update": "Update", + "searchProjects": "Search projects...", + "noProjectsFound": "No projects found", + "tryDifferentSearch": "Try a different search term" }, "toast": { "allThreadsUnfavorited": { diff --git a/web-app/src/routes/project/index.tsx b/web-app/src/routes/project/index.tsx index deb4cb2a6..5d3a30315 100644 --- a/web-app/src/routes/project/index.tsx +++ b/web-app/src/routes/project/index.tsx @@ -14,6 +14,8 @@ import { IconFolder, IconChevronDown, IconChevronRight, + IconSearch, + IconX, } from '@tabler/icons-react' import AddProjectDialog from '@/containers/dialogs/AddProjectDialog' import { DeleteProjectDialog } from '@/containers/dialogs/DeleteProjectDialog' @@ -42,6 +44,7 @@ function ProjectContent() { const [expandedProjects, setExpandedProjects] = useState>( new Set() ) + const [searchQuery, setSearchQuery] = useState('') const handleDelete = (id: string) => { setDeletingId(id) @@ -93,6 +96,16 @@ function ProjectContent() { }) } + // Filter projects based on search query + const filteredProjects = useMemo(() => { + if (!searchQuery.trim()) { + return folders + } + return folders.filter((folder) => + folder.name.toLowerCase().includes(searchQuery.toLowerCase()) + ) + }, [folders, searchQuery]) + return (
@@ -113,6 +126,33 @@ function ProjectContent() {
+ {/* Search Bar */} + {folders.length > 0 && ( +
+
+ + setSearchQuery(e.target.value)} + className="w-full pl-10 pr-4 py-2.5 bg-main-view-fg/5 border border-main-view-fg/10 rounded-lg text-main-view-fg placeholder:text-main-view-fg/50 focus:outline-none focus:ring-2 focus:ring-main-view-fg/20 focus:border-main-view-fg/20 transition-all" + /> + {searchQuery && ( + + )} +
+
+ )} + {folders.length === 0 ? (
@@ -123,9 +163,19 @@ function ProjectContent() { {t('projects.noProjectsYetDesc')}

+ ) : filteredProjects.length === 0 ? ( +
+ +

+ {t('projects.noProjectsFound')} +

+

+ {t('projects.tryDifferentSearch')} +

+
) : (
- {folders + {filteredProjects .slice() .sort((a, b) => b.updated_at - a.updated_at) .map((folder) => { @@ -218,7 +268,9 @@ function ProjectContent() { {/* Thread List */} {isExpanded && projectThreads.length > 0 && ( -
+
Date: Fri, 3 Oct 2025 16:42:10 +0530 Subject: [PATCH 4/7] (chore): rename translation keys to collapseProject/expandProject --- web-app/src/locales/de-DE/common.json | 8 ++++---- web-app/src/locales/en/common.json | 4 ++-- web-app/src/locales/id/common.json | 4 ++-- web-app/src/locales/pl/common.json | 4 ++-- web-app/src/locales/vn/common.json | 26 ++++++++++++++++++++++++++ web-app/src/locales/zh-CN/common.json | 26 ++++++++++++++++++++++++++ web-app/src/locales/zh-TW/common.json | 26 ++++++++++++++++++++++++++ web-app/src/routes/project/index.tsx | 4 ++-- 8 files changed, 90 insertions(+), 12 deletions(-) diff --git a/web-app/src/locales/de-DE/common.json b/web-app/src/locales/de-DE/common.json index 4ce743b46..65b7af707 100644 --- a/web-app/src/locales/de-DE/common.json +++ b/web-app/src/locales/de-DE/common.json @@ -272,8 +272,8 @@ "thread": "Thread", "threads": "Threads", "updated": "Aktualisiert:", - "collapseThreads": "Threads einklappen", - "expandThreads": "Threads ausklappen", + "collapseProject": "Projekt einklappen", + "expandProject": "Projekt ausklappen", "update": "Aktualisieren" }, "toast": { @@ -428,8 +428,8 @@ "thread": "Thread", "threads": "Threads", "updated": "Aktualisiert:", - "collapseThreads": "Threads einklappen", - "expandThreads": "Threads ausklappen", + "collapseProject": "Projekt einklappen", + "expandProject": "Projekt ausklappen", "update": "Aktualisieren" } } diff --git a/web-app/src/locales/en/common.json b/web-app/src/locales/en/common.json index 690381188..e39465545 100644 --- a/web-app/src/locales/en/common.json +++ b/web-app/src/locales/en/common.json @@ -282,8 +282,8 @@ "thread": "thread", "threads": "threads", "updated": "Updated:", - "collapseThreads": "Collapse threads", - "expandThreads": "Expand threads", + "collapseProject": "Collapse project", + "expandProject": "Expand project", "update": "Update", "searchProjects": "Search projects...", "noProjectsFound": "No projects found", diff --git a/web-app/src/locales/id/common.json b/web-app/src/locales/id/common.json index aa0c83fd9..3dbdfd90e 100644 --- a/web-app/src/locales/id/common.json +++ b/web-app/src/locales/id/common.json @@ -354,8 +354,8 @@ "thread": "utas", "threads": "utas", "updated": "Diperbarui:", - "collapseThreads": "Tutup utas", - "expandThreads": "Buka utas", + "collapseProject": "Tutup proyek", + "expandProject": "Buka proyek", "update": "Perbarui" } } diff --git a/web-app/src/locales/pl/common.json b/web-app/src/locales/pl/common.json index ca6f6b6b7..87e31117e 100644 --- a/web-app/src/locales/pl/common.json +++ b/web-app/src/locales/pl/common.json @@ -272,8 +272,8 @@ "thread": "wątek", "threads": "wątki", "updated": "Zaktualizowano:", - "collapseThreads": "Zwiń wątki", - "expandThreads": "Rozwiń wątki", + "collapseProject": "Zwiń projekt", + "expandProject": "Rozwiń projekt", "update": "Aktualizuj" }, "toast": { diff --git a/web-app/src/locales/vn/common.json b/web-app/src/locales/vn/common.json index 4c2d95101..92d4908a2 100644 --- a/web-app/src/locales/vn/common.json +++ b/web-app/src/locales/vn/common.json @@ -199,6 +199,32 @@ "title": "Cài đặt mô hình - {{modelId}}", "description": "Định cấu hình cài đặt mô hình để tối ưu hóa hiệu suất và hành vi." }, + "projects": { + "title": "Dự án", + "addProject": "Thêm dự án", + "editProject": "Chỉnh sửa dự án", + "deleteProject": "Xóa dự án", + "projectName": "Tên dự án", + "enterProjectName": "Nhập tên dự án", + "noProjectsYet": "Chưa có dự án nào", + "noProjectsYetDesc": "Tạo dự án đầu tiên của bạn để tổ chức các cuộc trò chuyện.", + "projectNotFound": "Không tìm thấy dự án", + "projectNotFoundDesc": "Dự án mà bạn đang tìm kiếm không tồn tại.", + "deleteProjectConfirm": "Bạn có chắc chắn muốn xóa dự án này không? Hành động này không thể hoàn tác.", + "noConversationsIn": "Chưa có cuộc trò chuyện nào trong {{projectName}}", + "startNewConversation": "Bắt đầu một cuộc trò chuyện mới với {{projectName}} bên dưới", + "conversationsIn": "Cuộc trò chuyện trong {{projectName}}", + "conversationsDescription": "Nhấp vào bất kỳ cuộc trò chuyện nào để tiếp tục trò chuyện hoặc bắt đầu một cuộc trò chuyện mới bên dưới.", + "thread": "chủ đề", + "threads": "chủ đề", + "updated": "Đã cập nhật:", + "collapseProject": "Thu gọn dự án", + "expandProject": "Mở rộng dự án", + "update": "Cập nhật", + "searchProjects": "Tìm kiếm dự án...", + "noProjectsFound": "Không tìm thấy dự án nào", + "tryDifferentSearch": "Thử từ khóa tìm kiếm khác" + }, "dialogs": { "changeDataFolder": { "title": "Thay đổi vị trí thư mục dữ liệu", diff --git a/web-app/src/locales/zh-CN/common.json b/web-app/src/locales/zh-CN/common.json index 6da4a83fa..05f7884a9 100644 --- a/web-app/src/locales/zh-CN/common.json +++ b/web-app/src/locales/zh-CN/common.json @@ -199,6 +199,32 @@ "title": "模型设置 - {{modelId}}", "description": "配置模型设置以优化性能和行为。" }, + "projects": { + "title": "项目", + "addProject": "添加项目", + "editProject": "编辑项目", + "deleteProject": "删除项目", + "projectName": "项目名称", + "enterProjectName": "输入项目名称", + "noProjectsYet": "还没有项目", + "noProjectsYetDesc": "创建您的第一个项目来组织对话。", + "projectNotFound": "未找到项目", + "projectNotFoundDesc": "您正在查找的项目不存在。", + "deleteProjectConfirm": "您确定要删除此项目吗?此操作无法撤销。", + "noConversationsIn": "{{projectName}} 中还没有对话", + "startNewConversation": "在下方开始与 {{projectName}} 的新对话", + "conversationsIn": "{{projectName}} 中的对话", + "conversationsDescription": "点击任何对话以继续聊天,或在下方开始新的对话。", + "thread": "线程", + "threads": "线程", + "updated": "已更新:", + "collapseProject": "收起项目", + "expandProject": "展开项目", + "update": "更新", + "searchProjects": "搜索项目...", + "noProjectsFound": "未找到项目", + "tryDifferentSearch": "尝试不同的搜索词" + }, "dialogs": { "changeDataFolder": { "title": "更改数据文件夹位置", diff --git a/web-app/src/locales/zh-TW/common.json b/web-app/src/locales/zh-TW/common.json index 4b9d1e7f6..d34858aa2 100644 --- a/web-app/src/locales/zh-TW/common.json +++ b/web-app/src/locales/zh-TW/common.json @@ -199,6 +199,32 @@ "title": "模型設定 - {{modelId}}", "description": "設定模型設定以最佳化效能和行為。" }, + "projects": { + "title": "專案", + "addProject": "新增專案", + "editProject": "編輯專案", + "deleteProject": "刪除專案", + "projectName": "專案名稱", + "enterProjectName": "輸入專案名稱", + "noProjectsYet": "尚無專案", + "noProjectsYetDesc": "建立您的第一個專案來組織對話。", + "projectNotFound": "找不到專案", + "projectNotFoundDesc": "您正在尋找的專案不存在。", + "deleteProjectConfirm": "您確定要刪除此專案嗎?此操作無法復原。", + "noConversationsIn": "{{projectName}} 中尚無對話", + "startNewConversation": "在下方開始與 {{projectName}} 的新對話", + "conversationsIn": "{{projectName}} 中的對話", + "conversationsDescription": "點擊任何對話以繼續聊天,或在下方開始新的對話。", + "thread": "執行緒", + "threads": "執行緒", + "updated": "已更新:", + "collapseProject": "收合專案", + "expandProject": "展開專案", + "update": "更新", + "searchProjects": "搜尋專案...", + "noProjectsFound": "找不到專案", + "tryDifferentSearch": "嘗試不同的搜尋詞" + }, "dialogs": { "changeDataFolder": { "title": "變更資料夾位置", diff --git a/web-app/src/routes/project/index.tsx b/web-app/src/routes/project/index.tsx index 5d3a30315..be3e20cf6 100644 --- a/web-app/src/routes/project/index.tsx +++ b/web-app/src/routes/project/index.tsx @@ -222,8 +222,8 @@ function ProjectContent() { className="size-8 cursor-pointer flex items-center justify-center rounded-md hover:bg-main-view-fg/10 transition-all duration-200 ease-in-out mr-1" title={ isExpanded - ? t('projects.collapseThreads') - : t('projects.expandThreads') + ? t('projects.collapseProject') + : t('projects.expandProject') } onClick={() => toggleProjectExpansion(folder.id)} > From cc5130c1afd13789a555d236d3941da2850017da Mon Sep 17 00:00:00 2001 From: Roushan Singh Date: Fri, 3 Oct 2025 16:54:22 +0530 Subject: [PATCH 5/7] Fix Translation changes across locales --- web-app/src/containers/ThreadList.tsx | 6 ++-- web-app/src/locales/de-DE/common.json | 46 --------------------------- web-app/src/locales/vn/common.json | 3 ++ web-app/src/locales/zh-CN/common.json | 3 ++ web-app/src/locales/zh-TW/common.json | 3 ++ 5 files changed, 12 insertions(+), 49 deletions(-) diff --git a/web-app/src/containers/ThreadList.tsx b/web-app/src/containers/ThreadList.tsx index 734aec710..69bcc4d82 100644 --- a/web-app/src/containers/ThreadList.tsx +++ b/web-app/src/containers/ThreadList.tsx @@ -237,13 +237,13 @@ const SortableItem = memo( - Add to project + {t('common:projects.addToProject')} {availableProjects.length === 0 ? ( - No projects available + {t('common:projects.noProjectsAvailable')} ) : ( @@ -282,7 +282,7 @@ const SortableItem = memo( }} > - Remove + {t('common:projects.removeFromProject')} )} diff --git a/web-app/src/locales/de-DE/common.json b/web-app/src/locales/de-DE/common.json index 65b7af707..ad71eb789 100644 --- a/web-app/src/locales/de-DE/common.json +++ b/web-app/src/locales/de-DE/common.json @@ -385,51 +385,5 @@ "title": "Thread entfernt", "description": "Thread erfolgreich von \"{{projectName}}\" entfernt" } - }, - "projects": { - "title": "Projekte", - "addProject": "Projekt hinzufügen", - "addToProject": "Zu Projekt hinzufügen", - "removeFromProject": "Von Projekt entfernen", - "createNewProject": "Neues Projekt erstellen", - "editProject": "Projekt bearbeiten", - "deleteProject": "Projekt löschen", - "projectName": "Projektname", - "enterProjectName": "Projektname eingeben...", - "noProjectsAvailable": "Keine Projekte verfügbar", - "noProjectsYet": "Noch keine Projekte", - "noProjectsYetDesc": "Starten Sie ein neues Projekt, indem Sie auf die Schaltfläche Projekt hinzufügen klicken.", - "projectNotFound": "Projekt nicht gefunden", - "projectNotFoundDesc": "Das gesuchte Projekt existiert nicht oder wurde gelöscht.", - "deleteProjectDialog": { - "title": "Projekt löschen", - "description": "Sind Sie sicher, dass Sie dieses Projekt löschen möchten? Diese Aktion kann nicht rückgängig gemacht werden.", - "deleteButton": "Löschen", - "successWithName": "Projekt \"{{projectName}}\" erfolgreich gelöscht", - "successWithoutName": "Projekt erfolgreich gelöscht", - "error": "Projekt konnte nicht gelöscht werden. Bitte versuchen Sie es erneut.", - "ariaLabel": "{{projectName}} löschen" - }, - "addProjectDialog": { - "createTitle": "Neues Projekt erstellen", - "editTitle": "Projekt bearbeiten", - "nameLabel": "Projektname", - "namePlaceholder": "Projektname eingeben...", - "createButton": "Erstellen", - "updateButton": "Aktualisieren", - "alreadyExists": "Projekt \"{{projectName}}\" existiert bereits", - "createSuccess": "Projekt \"{{projectName}}\" erfolgreich erstellt", - "renameSuccess": "Projekt von \"{{oldName}}\" zu \"{{newName}}\" umbenannt" - }, - "noConversationsIn": "Keine Gespräche in {{projectName}}", - "startNewConversation": "Starten Sie ein neues Gespräch mit {{projectName}} unten", - "conversationsIn": "Gespräche in {{projectName}}", - "conversationsDescription": "Klicken Sie auf ein Gespräch, um weiterzuchatten, oder starten Sie unten ein neues.", - "thread": "Thread", - "threads": "Threads", - "updated": "Aktualisiert:", - "collapseProject": "Projekt einklappen", - "expandProject": "Projekt ausklappen", - "update": "Aktualisieren" } } diff --git a/web-app/src/locales/vn/common.json b/web-app/src/locales/vn/common.json index 92d4908a2..28ddd29a7 100644 --- a/web-app/src/locales/vn/common.json +++ b/web-app/src/locales/vn/common.json @@ -211,6 +211,8 @@ "projectNotFound": "Không tìm thấy dự án", "projectNotFoundDesc": "Dự án mà bạn đang tìm kiếm không tồn tại.", "deleteProjectConfirm": "Bạn có chắc chắn muốn xóa dự án này không? Hành động này không thể hoàn tác.", + "addToProject": "Thêm vào dự án", + "removeFromProject": "Xóa khỏi dự án", "noConversationsIn": "Chưa có cuộc trò chuyện nào trong {{projectName}}", "startNewConversation": "Bắt đầu một cuộc trò chuyện mới với {{projectName}} bên dưới", "conversationsIn": "Cuộc trò chuyện trong {{projectName}}", @@ -221,6 +223,7 @@ "collapseProject": "Thu gọn dự án", "expandProject": "Mở rộng dự án", "update": "Cập nhật", + "noProjectsAvailable": "Không có dự án nào", "searchProjects": "Tìm kiếm dự án...", "noProjectsFound": "Không tìm thấy dự án nào", "tryDifferentSearch": "Thử từ khóa tìm kiếm khác" diff --git a/web-app/src/locales/zh-CN/common.json b/web-app/src/locales/zh-CN/common.json index 05f7884a9..69b15ac90 100644 --- a/web-app/src/locales/zh-CN/common.json +++ b/web-app/src/locales/zh-CN/common.json @@ -211,6 +211,8 @@ "projectNotFound": "未找到项目", "projectNotFoundDesc": "您正在查找的项目不存在。", "deleteProjectConfirm": "您确定要删除此项目吗?此操作无法撤销。", + "addToProject": "添加到项目", + "removeFromProject": "从项目中删除", "noConversationsIn": "{{projectName}} 中还没有对话", "startNewConversation": "在下方开始与 {{projectName}} 的新对话", "conversationsIn": "{{projectName}} 中的对话", @@ -221,6 +223,7 @@ "collapseProject": "收起项目", "expandProject": "展开项目", "update": "更新", + "noProjectsAvailable": "没有可用的项目", "searchProjects": "搜索项目...", "noProjectsFound": "未找到项目", "tryDifferentSearch": "尝试不同的搜索词" diff --git a/web-app/src/locales/zh-TW/common.json b/web-app/src/locales/zh-TW/common.json index d34858aa2..809ac0cd4 100644 --- a/web-app/src/locales/zh-TW/common.json +++ b/web-app/src/locales/zh-TW/common.json @@ -211,6 +211,8 @@ "projectNotFound": "找不到專案", "projectNotFoundDesc": "您正在尋找的專案不存在。", "deleteProjectConfirm": "您確定要刪除此專案嗎?此操作無法復原。", + "addToProject": "加入專案", + "removeFromProject": "從專案中移除", "noConversationsIn": "{{projectName}} 中尚無對話", "startNewConversation": "在下方開始與 {{projectName}} 的新對話", "conversationsIn": "{{projectName}} 中的對話", @@ -221,6 +223,7 @@ "collapseProject": "收合專案", "expandProject": "展開專案", "update": "更新", + "noProjectsAvailable": "沒有可用的專案", "searchProjects": "搜尋專案...", "noProjectsFound": "找不到專案", "tryDifferentSearch": "嘗試不同的搜尋詞" From 154bc177787f50ac31221f12267281b0c6694aa6 Mon Sep 17 00:00:00 2001 From: Roushan Singh Date: Fri, 3 Oct 2025 17:08:12 +0530 Subject: [PATCH 6/7] (chore): remove duplicate keys from de-DE/common.json --- web-app/src/locales/de-DE/common.json | 28 --------------------------- 1 file changed, 28 deletions(-) diff --git a/web-app/src/locales/de-DE/common.json b/web-app/src/locales/de-DE/common.json index ad71eb789..c2cf34164 100644 --- a/web-app/src/locales/de-DE/common.json +++ b/web-app/src/locales/de-DE/common.json @@ -356,34 +356,6 @@ "downloadAndVerificationComplete": { "title": "Download abgeschlossen", "description": "Modell \"{{item}}\" erfolgreich heruntergeladen und verifiziert" - }, - "projectCreated": { - "title": "Projekt erstellt", - "description": "Projekt \"{{projectName}}\" erfolgreich erstellt" - }, - "projectRenamed": { - "title": "Projekt umbenannt", - "description": "Projekt von \"{{oldName}}\" zu \"{{newName}}\" umbenannt" - }, - "projectDeleted": { - "title": "Projekt gelöscht", - "description": "Projekt \"{{projectName}}\" erfolgreich gelöscht" - }, - "projectAlreadyExists": { - "title": "Projekt existiert bereits", - "description": "Projekt \"{{projectName}}\" existiert bereits" - }, - "projectDeleteFailed": { - "title": "Löschen fehlgeschlagen", - "description": "Projekt konnte nicht gelöscht werden. Bitte versuchen Sie es erneut." - }, - "threadAssignedToProject": { - "title": "Thread zugewiesen", - "description": "Thread erfolgreich zu \"{{projectName}}\" hinzugefügt" - }, - "threadRemovedFromProject": { - "title": "Thread entfernt", - "description": "Thread erfolgreich von \"{{projectName}}\" entfernt" } } } From 291482cc166ee279dd8a5b6ff689a427473b089a Mon Sep 17 00:00:00 2001 From: Roushan Singh Date: Fri, 3 Oct 2025 17:17:10 +0530 Subject: [PATCH 7/7] Add SearchProjects to missing locales --- web-app/src/locales/de-DE/common.json | 5 ++++- web-app/src/locales/id/common.json | 5 ++++- web-app/src/locales/pl/common.json | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/web-app/src/locales/de-DE/common.json b/web-app/src/locales/de-DE/common.json index c2cf34164..699c15a08 100644 --- a/web-app/src/locales/de-DE/common.json +++ b/web-app/src/locales/de-DE/common.json @@ -274,7 +274,10 @@ "updated": "Aktualisiert:", "collapseProject": "Projekt einklappen", "expandProject": "Projekt ausklappen", - "update": "Aktualisieren" + "update": "Aktualisieren", + "searchProjects": "Projekte durchsuchen...", + "noProjectsFound": "Keine Projekte gefunden", + "tryDifferentSearch": "Versuchen Sie einen anderen Suchbegriff" }, "toast": { "allThreadsUnfavorited": { diff --git a/web-app/src/locales/id/common.json b/web-app/src/locales/id/common.json index 3dbdfd90e..77af93d31 100644 --- a/web-app/src/locales/id/common.json +++ b/web-app/src/locales/id/common.json @@ -356,6 +356,9 @@ "updated": "Diperbarui:", "collapseProject": "Tutup proyek", "expandProject": "Buka proyek", - "update": "Perbarui" + "update": "Perbarui", + "searchProjects": "Cari proyek...", + "noProjectsFound": "Tidak ada proyek ditemukan", + "tryDifferentSearch": "Coba kata kunci pencarian lain" } } diff --git a/web-app/src/locales/pl/common.json b/web-app/src/locales/pl/common.json index 87e31117e..ee25f6068 100644 --- a/web-app/src/locales/pl/common.json +++ b/web-app/src/locales/pl/common.json @@ -274,7 +274,10 @@ "updated": "Zaktualizowano:", "collapseProject": "Zwiń projekt", "expandProject": "Rozwiń projekt", - "update": "Aktualizuj" + "update": "Aktualizuj", + "searchProjects": "Szukaj projektów...", + "noProjectsFound": "Nie znaleziono projektów", + "tryDifferentSearch": "Spróbuj innego wyszukiwania" }, "toast": { "allThreadsUnfavorited": {