feat: 优化 Excel 导出设置,解决 #529,将「导出完整列」选项合并到「发送者名称显示」中

This commit is contained in:
chrocy
2026-04-07 16:44:59 +08:00
parent 6a4cd00d51
commit f9313392f1

View File

@@ -8128,27 +8128,7 @@ function ExportPage() {
</div> </div>
)} )}
{options.format === 'excel' && (
<div className="dialog-section">
<div className="dialog-switch-row">
<div className="dialog-switch-copy">
<h4></h4>
<div className="format-note">
Excel ID
</div>
</div>
<button
type="button"
className={`dialog-switch ${!options.excelCompactColumns ? 'on' : ''}`}
aria-pressed={!options.excelCompactColumns}
aria-label="切换导出完整列"
onClick={() => setOptions(prev => ({ ...prev, excelCompactColumns: !prev.excelCompactColumns }))}
>
<span className="dialog-switch-thumb" />
</button>
</div>
</div>
)}
<div className="dialog-section"> <div className="dialog-section">
<div className="section-header-action"> <div className="section-header-action">
@@ -8230,27 +8210,51 @@ function ExportPage() {
</div> </div>
)} )}
{shouldShowDisplayNameSection && ( {(shouldShowDisplayNameSection || options.format === 'excel') && (
<div className="dialog-section"> <div className="dialog-section">
<h4></h4> {shouldShowDisplayNameSection && (
<div className="display-name-options" role="radiogroup" aria-label="发送者名称显示"> <>
{displayNameOptions.map(option => { <h4></h4>
const isActive = options.displayNamePreference === option.value <div className="display-name-options" role="radiogroup" aria-label="发送者名称显示">
return ( {displayNameOptions.map(option => {
<button const isActive = options.displayNamePreference === option.value
key={option.value} return (
type="button" <button
role="radio" key={option.value}
aria-checked={isActive} type="button"
className={`display-name-item ${isActive ? 'active' : ''}`} role="radio"
onClick={() => setOptions(prev => ({ ...prev, displayNamePreference: option.value }))} aria-checked={isActive}
> className={`display-name-item ${isActive ? 'active' : ''}`}
<span>{option.label}</span> onClick={() => setOptions(prev => ({ ...prev, displayNamePreference: option.value }))}
<small>{option.desc}</small> >
</button> <span>{option.label}</span>
) <small>{option.desc}</small>
})} </button>
</div> )
})}
</div>
</>
)}
{options.format === 'excel' && (
<div className={`dialog-switch-row ${shouldShowDisplayNameSection ? 'nested-row' : ''}`} style={shouldShowDisplayNameSection ? { marginTop: '12px', paddingTop: '12px', borderTop: '1px solid var(--border-light)' } : {}}>
<div className="dialog-switch-copy">
<h4></h4>
<div className="format-note">
Excel ID
</div>
</div>
<button
type="button"
className={`dialog-switch ${!options.excelCompactColumns ? 'on' : ''}`}
aria-pressed={!options.excelCompactColumns}
aria-label="切换导出完整列"
onClick={() => setOptions(prev => ({ ...prev, excelCompactColumns: !prev.excelCompactColumns }))}
>
<span className="dialog-switch-thumb" />
</button>
</div>
)}
</div> </div>
)} )}
</div> </div>