0.1.11 ai修复与全屏

This commit is contained in:
liaibo
2026-01-10 10:35:21 +08:00
parent e74219c802
commit 0bcdc3e730
55 changed files with 6597 additions and 174 deletions
+36 -3
View File
@@ -3,7 +3,11 @@ import { createSupabaseRouteClient } from "@/lib/supabase/server";
import { ensureDefaultWorkspace, fetchWorkspaceSummaries } from "@/lib/workspaces";
import { fetchSidebarDataset } from "@/lib/sidebar-tree";
import type { SidebarInitialData } from "@/components/sidebar/types";
import { detectLocalMindmapFiles, detectLocalMindmapDocs } from "@/lib/mindmap-files";
import {
detectLocalMindmapFiles,
detectLocalMindmapDocs,
detectLocalTrashedMindmapAssets,
} from "@/lib/mindmap-files";
import type { MediaAsset } from "@/types/media";
export const dynamic = "force-dynamic";
@@ -30,12 +34,13 @@ export async function GET(request: Request) {
}
try {
const dataset = await fetchSidebarDataset(supabase, targetWorkspaceId);
const dataset = await fetchSidebarDataset(supabase, targetWorkspaceId);
const docIds = dataset.documents.map((d) => d.id);
const localMindmapFiles = await detectLocalMindmapFiles(docIds);
const mindmapDocs = Array.from(new Set([...(dataset.mindmapDocs ?? []), ...(await detectLocalMindmapDocs(docIds))]));
const trashedMindmapAssets = await detectLocalTrashedMindmapAssets(targetWorkspaceId, docIds);
const docById = new Map(dataset.documents.map((d) => [d.id, d]));
const mindmapAssets: MediaAsset[] = localMindmapFiles.map((item) => {
const mindmapAssets: MediaAsset[] = localMindmapFiles.map((item) => {
const doc = docById.get(item.documentId);
const workspaceId = doc?.workspace_id ?? targetWorkspaceId;
const fileUrlBase = item.source === "legacy" ? `/mindmaps/${item.documentId}` : `/documents/${item.documentId}`;
@@ -61,13 +66,41 @@ export async function GET(request: Request) {
};
});
const tableAssets: MediaAsset[] = (dataset.tables ?? []).map((row) => {
const base = (row.title ?? "未命名表格").trim() || "未命名表格";
const fileName = base.toLowerCase().endsWith(".luckysheet") ? base : `${base}.luckysheet`;
return {
id: row.id,
workspace_id: row.workspace_id ?? targetWorkspaceId,
document_id: row.document_id,
asset_type: "luckysheet",
file_url: `/tables/${row.id}/view`,
thumbnail_url: null,
bucket: null,
storage_path: null,
file_name: fileName,
file_size: null,
mime_type: "application/json",
ocr_payload: undefined,
ocr_strategy: null,
ocr_text: null,
ocr_status: null,
signed_url: null,
created_at: row.created_at ?? "",
updated_at: row.updated_at ?? "",
};
});
const payload: SidebarInitialData = {
activeWorkspaceId: targetWorkspaceId,
workspaces,
documents: dataset.documents,
trashedDocuments: dataset.trashedDocuments,
trashedMediaAssets: dataset.trashedMediaAssets ?? [],
trashedMindmapAssets,
mindmapDocs,
mindmapAssets,
tableAssets,
mediaAssets: dataset.mediaAssets ?? [],
};