0.5 缩减重构

This commit is contained in:
lix-2026
2026-04-13 19:21:42 +08:00
parent af92c4b149
commit 71fb1aee7e
2023 changed files with 21113 additions and 394493 deletions
+10 -10
View File
@@ -20,15 +20,15 @@ export function useBackendHealth() {
} catch {
if (!destroyed) {
setStatus("error");
}
}
};
check();
return () => {
destroyed = true;
controller.abort();
};
}, []);
}
}
};
check();
return () => {
destroyed = true;
controller.abort();
};
}, []);
return status;
}
@@ -4,14 +4,14 @@ import type { SidebarInitialData } from "@/components/sidebar/types";
import type { MediaAsset } from "@/types/media";
import { api } from "@/lib/convex/api";
import { toBrowserAccessibleUrl } from "@/lib/url/browser-file-url";
/**
* Convex 模式下的侧边栏数据 hook
* 使用 Convex 的 useQuery 实现实时订阅,无需手动 refetch
*
* 注意:此 hook 仅应在 Convex 模式下使用
* 后端从 ctx.auth.getUserIdentity() 获取用户身份,前端无需传入 userId
*/
/**
* Convex 模式下的侧边栏数据 hook
* 使用 Convex 的 useQuery 实现实时订阅,无需手动 refetch
*
* 注意:此 hook 仅应在 Convex 模式下使用
* 后端从 ctx.auth.getUserIdentity() 获取用户身份,前端无需传入 userId
*/
export function useConvexSidebarData(workspaceId: string): {
data: SidebarInitialData | null;
isLoading: boolean;
@@ -89,57 +89,57 @@ export function useConvexSidebarData(workspaceId: string): {
const activeMindmaps = (mindmaps ?? []).filter((r) => !r.deleted_at);
const trashedMindmaps = (mindmaps ?? []).filter((r) => !!r.deleted_at);
const mindmapDocs = Array.from(new Set(activeMindmaps.map((r) => r.document_id)));
const mindmapAssets: MediaAsset[] = activeMindmaps.map((r) => {
const isLegacy = r.mindmap_id.startsWith("legacy-");
return {
id: r.mindmap_id,
workspace_id: r.workspace_id ?? workspaceId,
document_id: r.document_id,
asset_type: "mindmap",
file_url: null,
thumbnail_url: null,
bucket: null,
storage_path: null,
file_name: isLegacy ? "mindmap.json" : `mindmap-${r.mindmap_id}.json`,
file_size: null,
mime_type: "application/json",
ocr_payload: undefined,
ocr_strategy: null,
ocr_text: null,
ocr_status: null,
signed_url: null,
created_at: r.created_at ?? "",
updated_at: r.updated_at ?? "",
};
});
const mindmapDocs = Array.from(new Set(activeMindmaps.map((r) => r.document_id)));
const mindmapAssets: MediaAsset[] = activeMindmaps.map((r) => {
const isLegacy = r.mindmap_id.startsWith("legacy-");
return {
id: r.mindmap_id,
workspace_id: r.workspace_id ?? workspaceId,
document_id: r.document_id,
asset_type: "mindmap",
file_url: null,
thumbnail_url: null,
bucket: null,
storage_path: null,
file_name: isLegacy ? "mindmap.json" : `mindmap-${r.mindmap_id}.json`,
file_size: null,
mime_type: "application/json",
ocr_payload: undefined,
ocr_strategy: null,
ocr_text: null,
ocr_status: null,
signed_url: null,
created_at: r.created_at ?? "",
updated_at: r.updated_at ?? "",
};
});
const trashedMindmapAssets: MediaAsset[] = trashedMindmaps.map((r) => {
const isLegacy = r.mindmap_id.startsWith("legacy-");
return {
id: r.mindmap_id,
workspace_id: r.workspace_id ?? workspaceId,
document_id: r.document_id,
asset_type: "mindmap",
file_url: null,
thumbnail_url: null,
bucket: null,
storage_path: null,
file_name: isLegacy ? "mindmap.json" : `mindmap-${r.mindmap_id}.json`,
file_size: null,
mime_type: "application/json",
ocr_payload: undefined,
ocr_strategy: null,
ocr_text: null,
ocr_status: null,
deleted_at: r.deleted_at ?? null,
deleted_by: r.deleted_by ?? null,
purged_at: null,
signed_url: null,
created_at: r.created_at ?? "",
updated_at: r.updated_at ?? "",
id: r.mindmap_id,
workspace_id: r.workspace_id ?? workspaceId,
document_id: r.document_id,
asset_type: "mindmap",
file_url: null,
thumbnail_url: null,
bucket: null,
storage_path: null,
file_name: isLegacy ? "mindmap.json" : `mindmap-${r.mindmap_id}.json`,
file_size: null,
mime_type: "application/json",
ocr_payload: undefined,
ocr_strategy: null,
ocr_text: null,
ocr_status: null,
deleted_at: r.deleted_at ?? null,
deleted_by: r.deleted_by ?? null,
purged_at: null,
signed_url: null,
created_at: r.created_at ?? "",
updated_at: r.updated_at ?? "",
};
});
@@ -239,13 +239,13 @@ export function useConvexSidebarData(workspaceId: string): {
workspacesResult === undefined
);
const error = null;
// Convex 模式下数据自动实时同步,refetch 是空操作
// Convex 的 useQuery 会自动实时同步,无需手动 refetch
// 这个方法只是为了保持与 useSidebarData 的接口兼容
const refetch = async () => {
// 空操作 - Convex 会自动同步数据
};
return { data, isLoading, error, refetch };
}
// Convex 模式下数据自动实时同步,refetch 是空操作
// Convex 的 useQuery 会自动实时同步,无需手动 refetch
// 这个方法只是为了保持与 useSidebarData 的接口兼容
const refetch = async () => {
// 空操作 - Convex 会自动同步数据
};
return { data, isLoading, error, refetch };
}