feat: add public page view action
This commit is contained in:
@@ -46,6 +46,7 @@ import { MindSpaceSpaceChat } from './MindSpaceSpaceChat';
|
||||
import {
|
||||
assetIcon,
|
||||
assetSourceLabel,
|
||||
buildAbsoluteAssetDownloadUrl,
|
||||
buildAssetImageUrl,
|
||||
buildAssetPreviewFrameConfig,
|
||||
isImageAsset,
|
||||
@@ -1705,6 +1706,17 @@ export function MindSpaceView({
|
||||
);
|
||||
const previewAssetFrame = previewAsset ? buildAssetPreviewFrameConfig(previewAsset) : null;
|
||||
|
||||
const openAssetViewInNewTab = (asset: MindSpaceAsset) => {
|
||||
if (previewMode) {
|
||||
setError('预览模式下暂不支持打开页面');
|
||||
return;
|
||||
}
|
||||
const viewUrl = asset.publicUrl
|
||||
? resolvePublicPageUrl(asset.publicUrl)
|
||||
: buildAbsoluteAssetDownloadUrl(asset);
|
||||
window.open(viewUrl, '_blank', 'noopener,noreferrer');
|
||||
};
|
||||
|
||||
const renderAssetActions = (asset: MindSpaceAsset) => {
|
||||
const shareReady = asset.status === 'ready' && asset.scanStatus !== 'blocked';
|
||||
const menuOpen = openAssetMenuId === asset.id;
|
||||
@@ -1733,13 +1745,24 @@ export function MindSpaceView({
|
||||
)}
|
||||
|
||||
{shareReady ? (
|
||||
<button
|
||||
type="button"
|
||||
className="mindspace-asset-share mindspace-item-action"
|
||||
onClick={() => setSharePayload(buildAssetSharePayload(asset, selectedCategory?.code))}
|
||||
>
|
||||
分享
|
||||
</button>
|
||||
<>
|
||||
<button
|
||||
type="button"
|
||||
className="mindspace-asset-share mindspace-item-action"
|
||||
onClick={() => setSharePayload(buildAssetSharePayload(asset, selectedCategory?.code))}
|
||||
>
|
||||
分享
|
||||
</button>
|
||||
{selectedCategory?.code === 'public' && isWorkAsset(asset) && (
|
||||
<button
|
||||
type="button"
|
||||
className="mindspace-item-action"
|
||||
onClick={() => openAssetViewInNewTab(asset)}
|
||||
>
|
||||
查看
|
||||
</button>
|
||||
)}
|
||||
</>
|
||||
) : (
|
||||
<span className="mindspace-asset-blocked">暂不可分享</span>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user