refactor: 情景选择从卡片网格改为横向滚动芯片条
- 将 scenario-picker 网格布局改为 scenario-strip 横向滚动芯片条 - 新增「新建情景」快捷入口芯片(+按钮) - 新增 scenario.createChip 三语言翻译键
This commit is contained in:
@@ -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>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user