diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-18 12:03:32 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-18 12:03:32 +0800 |
| commit | 61f5c545953bb4ee20b123bf9671ac35d7f1f3c1 (patch) | |
| tree | 9ede3483db5f7e0d81189f2d29514892b8f77867 /frontend/src/components/DatasetCard.svelte | |
| parent | 1f16a357213611a6d7f84e506064fc0d9c6317c6 (diff) | |
| download | strategy-lab-61f5c545953bb4ee20b123bf9671ac35d7f1f3c1.tar.gz | |
[变更性质] feat(frontend)
[新增功能] round3 页面组件全量迁移 shadcn-svelte(12 页面 + Modal/DatasetWizard/DatasetCard/Status)
[实现方案] .btn→Button、.banner→Alert、table.data→Table.Root、.badge→Badge、.tabs→Tabs.Root、.metric-card/form.card→Card.Root;ProjectStrategyTab div 配对修复
[影响范围] src/pages/*.svelte、src/components/*.svelte
Diffstat (limited to 'frontend/src/components/DatasetCard.svelte')
| -rw-r--r-- | frontend/src/components/DatasetCard.svelte | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/frontend/src/components/DatasetCard.svelte b/frontend/src/components/DatasetCard.svelte index 2d49e65..69083fb 100644 --- a/frontend/src/components/DatasetCard.svelte +++ b/frontend/src/components/DatasetCard.svelte @@ -153,7 +153,7 @@ </Table.Root> </div> {#if ds.status === 'failed'} - <div class="banner error" role="alert"><span aria-hidden="true">✕</span><span>{ds.error ?? '数据获取失败'}</span></div> + <Alert variant="destructive" class="bg-[var(--danger-soft)] border-[#f2c7c7]"><span aria-hidden="true">✕</span><span>{ds.error ?? '数据获取失败'}</span></Alert> <div class="retry-row"> <Button variant="outline" size="sm" disabled={recreateBusy || recreatedId !== null} @@ -181,28 +181,28 @@ {#if preview} {@const cov = summarizeCoverage(preview.coverage ?? [])} {#if cov.warnings.length > 0} - <div class="banner warn"><span aria-hidden="true">⚠</span><div> + <Alert variant="default" class="bg-[var(--warn-soft)] border-[#f0ddb4]"><span aria-hidden="true">⚠</span><div> <div class="cov-caption">覆盖差异(共有区间 {cov.common.start ?? '—'} ~ {cov.common.end ?? '—'}):</div> <ul class="cov-list"> {#each cov.warnings as w, i (i)}<li>{w}</li>{/each} </ul> - </div></div> + </div></Alert> {/if} {#if (preview.coverage ?? []).some((c) => (c.warnings ?? []).length > 0)} - <div class="banner warn" role="alert"><span aria-hidden="true">⚠</span><div> + <Alert variant="default" class="bg-[var(--warn-soft)] border-[#f0ddb4]" role="alert"><span aria-hidden="true">⚠</span><div> <div class="cov-caption">来源与口径说明:</div> <ul class="cov-list"> {#each preview.coverage.filter((c) => (c.warnings ?? []).length > 0) as c (c.instrument)} <li>{c.instrument}:{(c.warnings ?? []).join(';')}</li> {/each} </ul> - </div></div> + </div></Alert> {/if} {#if cov.common.start && cov.warnings.length === 0} - <div class="banner info"> + <Alert variant="default" class="bg-[var(--brand-soft)] border-[#bfe9db]"> <span aria-hidden="true">✓</span> <span>覆盖平稳:共有可用区间 {cov.common.start} ~ {cov.common.end}。可以直接用于回测。</span> - </div> + </Alert> {/if} <div class="scrollx"> <Table.Root> |
