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>
)}
{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="section-header-action">
@@ -8230,27 +8210,51 @@ function ExportPage() {
</div>
)}
{shouldShowDisplayNameSection && (
{(shouldShowDisplayNameSection || options.format === 'excel') && (
<div className="dialog-section">
<h4></h4>
<div className="display-name-options" role="radiogroup" aria-label="发送者名称显示">
{displayNameOptions.map(option => {
const isActive = options.displayNamePreference === option.value
return (
<button
key={option.value}
type="button"
role="radio"
aria-checked={isActive}
className={`display-name-item ${isActive ? 'active' : ''}`}
onClick={() => setOptions(prev => ({ ...prev, displayNamePreference: option.value }))}
>
<span>{option.label}</span>
<small>{option.desc}</small>
</button>
)
})}
</div>
{shouldShowDisplayNameSection && (
<>
<h4></h4>
<div className="display-name-options" role="radiogroup" aria-label="发送者名称显示">
{displayNameOptions.map(option => {
const isActive = options.displayNamePreference === option.value
return (
<button
key={option.value}
type="button"
role="radio"
aria-checked={isActive}
className={`display-name-item ${isActive ? 'active' : ''}`}
onClick={() => setOptions(prev => ({ ...prev, displayNamePreference: option.value }))}
>
<span>{option.label}</span>
<small>{option.desc}</small>
</button>
)
})}
</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>