导出入口与面板统一改用裁剪后的项目路径

- App.tsx 新增 exportProjectPath,对 localProject/projectPath 做一次 trim,空白即视作无项目

- onRequestExport 开关与 ArtifactsPanel 的 projectPath 都改用该值,避免纯空白路径照开门
This commit is contained in:
2026-10-06 18:48:36 +08:00
parent 677c477f36
commit 411771af2f
+8 -4
View File
@@ -1754,6 +1754,12 @@ export function App({
if (directProjectMode) {
// 普通项目固定走 DirectProject 自己的聊天容器:订阅、历史、发送、队列和附件都由
// 容器持有,工作台壳只提供项目身份、入口首轮需求和两条权限门。
//
// 导出入口与面板共用**同一个已裁剪**的路径:`localProject?.projectPath || projectPath`
// 只判真值,纯空白的路径会照开门;面板下游又都用 `Boolean(projectPath)` 当有效判据。
// 这里统一裁一次,空白即视作「没有项目」。
const exportProjectPath =
(localProject?.projectPath || projectPath || '').trim() || null;
return (
<>
<DirectProjectChatView
@@ -1761,9 +1767,7 @@ export function App({
ensureConversationWriteAllowed={ensureDirectTurnWriteAllowed}
initialTurn={initialDirectTurn}
onRequestExport={
localProject?.projectPath || projectPath
? () => setExportPanelOpen(true)
: undefined
exportProjectPath ? () => setExportPanelOpen(true) : undefined
}
onCancelConfirmation={cancelUiCommandConfirmation}
onConfirmConfirmation={confirmUiCommand}
@@ -1773,7 +1777,7 @@ export function App({
/>
{exportPanelOpen ? (
<ArtifactsPanel
projectPath={localProject?.projectPath ?? projectPath ?? null}
projectPath={exportProjectPath}
ensureConversationReadAllowed={ensureDirectHistoryReadAllowed}
ensureConversationWriteAllowed={ensureDirectTurnWriteAllowed}
onClose={() => setExportPanelOpen(false)}