refactor: 情景选择从卡片网格改为横向滚动芯片条

- 将 scenario-picker 网格布局改为 scenario-strip 横向滚动芯片条
- 新增「新建情景」快捷入口芯片(+按钮)
- 新增 scenario.createChip 三语言翻译键
This commit is contained in:
2026-06-21 23:23:22 +08:00
parent 949a707e0f
commit 6cbabb63bb
5 changed files with 93 additions and 56 deletions

View File

@@ -401,24 +401,30 @@ function AppContent() {
)}
</div>
{/* ---- 情景选择卡片网格(视频下方) ---- */}
<div className="scenario-picker">
<div className="scenario-picker__title">
<span className="scenario-picker__label">{tr("settings.scenario")}</span>
<span className="scenario-picker__active">{activeScenario.icon} {activeScenario.nameKey ? tr(activeScenario.nameKey) : activeScenario.name}</span>
</div>
<div className="scenario-picker__grid">
{/* ---- 情景选择芯片条(视频下方) ---- */}
<div className="scenario-strip">
<span className="scenario-strip__label">{tr("settings.scenario")}</span>
<div className="scenario-strip__scroll">
{allScenarios.map((sc) => (
<button
key={sc.id}
className={`scenario-picker__card ${config.scenario === sc.id ? "scenario-picker__card--active" : ""}`}
className={`scenario-chip ${config.scenario === sc.id ? "scenario-chip--active" : ""}`}
onClick={() => handleSelectScenario(sc.id)}
title={sc.description ? sc.description : sc.descKey ? tr(sc.descKey) : sc.name}
>
<span className="scenario-picker__card-icon">{sc.icon}</span>
<span className="scenario-picker__card-name">{sc.nameKey ? tr(sc.nameKey) : sc.name}</span>
<span className="scenario-chip__icon">{sc.icon}</span>
<span className="scenario-chip__name">{sc.nameKey ? tr(sc.nameKey) : sc.name}</span>
</button>
))}
{/* 新建情景快捷入口 */}
<button
className="scenario-chip scenario-chip--add"
onClick={() => setShowCreateScenario(true)}
title={tr("scenario.create.button")}
>
<span className="scenario-chip__icon">+</span>
<span className="scenario-chip__name">{tr("scenario.createChip")}</span>
</button>
</div>
</div>