From 26053137d61ea7e307e4f7f4c2ffaa01fa42a4c0 Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Sun, 31 May 2026 17:06:17 +0800 Subject: [PATCH] improve export confirm page --- src/renderer/src/components/ExportConfirm.tsx | 59 ++++++++++++------- 1 file changed, 38 insertions(+), 21 deletions(-) diff --git a/src/renderer/src/components/ExportConfirm.tsx b/src/renderer/src/components/ExportConfirm.tsx index f348b4ae..9b169a64 100644 --- a/src/renderer/src/components/ExportConfirm.tsx +++ b/src/renderer/src/components/ExportConfirm.tsx @@ -66,7 +66,7 @@ function renderNoticeIcon(notice: { warning?: boolean | undefined } | undefined, return notice.warning ? ( ) : ( - + ); } @@ -81,17 +81,39 @@ interface GenericNotice { url?: string, } -function renderNotice(notice: Notice | GenericNotice | undefined, { style }: { style?: CSSProperties }) { - if (notice == null) return null; - const { warning, text } = notice; - const url = 'url' in notice ? notice.url : undefined; +function Notice({ notice }: { notice: Notice | GenericNotice }) { + const { text, warning } = notice; return ( -
- {renderNoticeIcon({ warning }, { fontSize: '1em', flexShrink: 0 })} {text}{url != null && shell.openExternal(url)} />} +
+ {renderNoticeIcon({ warning }, { fontSize: '1em', flexShrink: 0 })} + {' '} + {text}
); } +function renderNotice(notice: Notice | undefined) { + if (notice == null) return null; + const { text } = notice; + return ( + + ); +} + +function renderGenericNotice(notice: GenericNotice) { + const { url } = notice; + return ( + + + + + + {url != null && shell.openExternal(url)} />} + + + ); +} + function ExportConfirm({ areWeCutting, segmentsToExport, @@ -345,12 +367,7 @@ function ExportConfirm({ > - - - + {notices.generic.map((notice) => renderGenericNotice(notice))} {segmentsOrInverse.selected.length !== segmentsOrInverse.all.length && ( @@ -364,7 +381,7 @@ function ExportConfirm({
- {notices.generic.map((notice) => renderNotice(notice, {}))} - -
{segmentsOrInverse.selected.length > 1 ? t('Export mode for {{segments}} segments', { segments: segmentsOrInverse.selected.length }) : t('Export mode')} - {renderNotice(notices.specific['exportMode'], {})} + {renderNotice(notices.specific['exportMode'])} @@ -389,7 +406,7 @@ function ExportConfirm({
Input has {{ numStreamsTotal }} tracks - {renderNotice(notices.specific['problematicStreams'], {})} + {renderNotice(notices.specific['problematicStreams'])} Keeping {{ numStreamsToCopy }} tracks @@ -436,7 +453,7 @@ function ExportConfirm({
{t('Overwrite existing files')} - {renderNotice(notices.specific['overwriteOutput'], {})} + {renderNotice(notices.specific['overwriteOutput'])} @@ -504,7 +521,7 @@ function ExportConfirm({ - {renderNotice(notices.specific['movFastStart'], {})} + {renderNotice(notices.specific['movFastStart'])} {renderNoticeIcon(notices.specific['movFastStart'], rightIconStyle) ?? } @@ -514,7 +531,7 @@ function ExportConfirm({ {t('Preserve all MP4/MOV metadata?')} - {renderNotice(notices.specific['preserveMovData'], {})} + {renderNotice(notices.specific['preserveMovData'])} @@ -587,7 +604,7 @@ function ExportConfirm({ {t('Smart cut (experimental):')} - {renderNotice(notices.specific['smartCut'], {})} + {renderNotice(notices.specific['smartCut'])} setEnableSmartCut((v) => !v)} /> @@ -601,7 +618,7 @@ function ExportConfirm({ {t('Keyframe cut mode')} - {renderNotice(notices.specific['cutMode'], {})} + {renderNotice(notices.specific['cutMode'])} toggleKeyframeCut()} /> @@ -652,7 +669,7 @@ function ExportConfirm({ "ffmpeg" avoid_negative_ts - {renderNotice(notices.specific['avoidNegativeTs'], {})} + {renderNotice(notices.specific['avoidNegativeTs'])}