diff --git a/src/pages/ExportPage.scss b/src/pages/ExportPage.scss index 0a0a37f..7ab3b21 100644 --- a/src/pages/ExportPage.scss +++ b/src/pages/ExportPage.scss @@ -143,7 +143,9 @@ position: absolute; top: calc(100% + 6px); left: 0; - right: 0; + right: auto; + width: clamp(300px, 36vw, 420px); + max-width: calc(100vw - 40px); background: var(--bg-primary); border: 1px solid var(--border-color); border-radius: 12px; @@ -1453,6 +1455,13 @@ gap: 6px; } +.format-note { + margin: 0 0 8px; + font-size: 12px; + line-height: 1.45; + color: var(--text-secondary); +} + .format-card { width: 100%; min-height: 0; diff --git a/src/pages/ExportPage.tsx b/src/pages/ExportPage.tsx index 164e7b3..b145293 100644 --- a/src/pages/ExportPage.tsx +++ b/src/pages/ExportPage.tsx @@ -1487,6 +1487,11 @@ function ExportPage() { if (payload.scope === 'content' && payload.contentType) { if (payload.contentType === 'text') { next.exportMedia = false + next.exportImages = false + next.exportVoices = false + next.exportVideos = false + next.exportEmojis = false + next.exportAvatars = true } else { next.exportMedia = true next.exportImages = payload.contentType === 'image' @@ -1536,6 +1541,7 @@ function ExportPage() { if (contentType === 'text') { return { ...base, + exportAvatars: true, exportMedia: false, exportImages: false, exportVoices: false, @@ -2365,6 +2371,10 @@ function ExportPage() { const formatCandidateOptions = exportDialog.scope === 'sns' ? formatOptions.filter(option => option.value === 'html' || option.value === 'json') : formatOptions + const isContentScopeDialog = exportDialog.scope === 'content' + const isContentTextDialog = isContentScopeDialog && exportDialog.contentType === 'text' + const shouldShowFormatSection = !isContentScopeDialog || isContentTextDialog + const shouldShowMediaSection = !isContentScopeDialog const isTabCountComputing = isSharedTabCountsLoading && !isSharedTabCountsReady const isSessionCardStatsLoading = isBaseConfigLoading || (isSharedTabCountsLoading && !isSharedTabCountsReady) const isSnsCardStatsLoading = !hasSeededSnsStats @@ -2948,21 +2958,26 @@ function ExportPage() { -
-

对话文本导出格式选择

-
- {formatCandidateOptions.map(option => ( - - ))} + {shouldShowFormatSection && ( +
+

对话文本导出格式选择

+ {isContentTextDialog && ( +
说明:此模式默认导出头像,不导出图片、语音、视频、表情包等媒体内容。
+ )} +
+ {formatCandidateOptions.map(option => ( + + ))} +
-
+ )}

时间范围

@@ -3018,17 +3033,19 @@ function ExportPage() { )}
-
-

媒体与头像

-
- - - - - - + {shouldShowMediaSection && ( +
+

媒体与头像

+
+ + + + + + +
-
+ )}

发送者名称显示