> {
+ const value = await mutate()
+ onSaved(value)
+ try {
+ await refresh(value)
+ return { value }
+ } catch (refreshError) {
+ return { value, refreshError }
+ }
+}
diff --git a/apps/web_v1/src/pages/projects/project-cron.tsx b/apps/web_v1/src/pages/projects/project-cron.tsx
index 2717d50..d3a5d8a 100644
--- a/apps/web_v1/src/pages/projects/project-cron.tsx
+++ b/apps/web_v1/src/pages/projects/project-cron.tsx
@@ -23,8 +23,8 @@ export function ProjectCron({ activeWorkspace, onSelectItem, onCreateCronPlan }:
任务列表
- {enabledCount} 运行中
- {pausedCount} 暂停
+ {enabledCount} 已启用
+ {pausedCount} 已停用
{cronJobs.map((job) => (
diff --git a/apps/web_v1/src/pages/projects/project-overview.tsx b/apps/web_v1/src/pages/projects/project-overview.tsx
index 4e970ed..4c08f1d 100644
--- a/apps/web_v1/src/pages/projects/project-overview.tsx
+++ b/apps/web_v1/src/pages/projects/project-overview.tsx
@@ -105,7 +105,7 @@ function TaskCardSection({
{task.summary || '暂无任务内容'}
{task.tag || (task.completed ? '已完成' : '进行中')}
- 进度 {task.progress}
+ {task.progress && 进度 {task.progress}}
创建 {task.createdAt}
diff --git a/apps/web_v1/src/pages/projects/project-topbar.tsx b/apps/web_v1/src/pages/projects/project-topbar.tsx
index e70e7ff..ea3355e 100644
--- a/apps/web_v1/src/pages/projects/project-topbar.tsx
+++ b/apps/web_v1/src/pages/projects/project-topbar.tsx
@@ -43,7 +43,6 @@ export function ProjectTopbar({
const submitSearch = () => {
setPopupVisible(false)
- setMobileSearchOpen(false)
onSearch()
}
@@ -110,7 +109,10 @@ export function ProjectTopbar({
className="mobile-search-button"
aria-label={mobileSearchOpen ? '关闭全局搜索' : '打开全局搜索'}
icon={mobileSearchOpen ? : }
- onClick={() => setMobileSearchOpen((open) => !open)}
+ onClick={() => setMobileSearchOpen((open) => {
+ if (open) setPopupVisible(false)
+ return !open
+ })}
/>
} onClick={onOpenProjects} />
{showChannels && (