refactor: surface BI metric definitions

This commit is contained in:
kkfluous
2026-08-07 15:12:34 +08:00
parent 46dbe725de
commit 08097f7c29
6 changed files with 175 additions and 1 deletions
+2
View File
@@ -4,6 +4,7 @@ import ElectricView, { type ElectricSubTab } from './ElectricView';
import SubTabs from './SubTabs';
import { useHashSubTab } from './useHashSubTab';
import { FadeIn, PageFrame } from '../../components/ui/surface';
import MetricCatalogButton from '../../components/MetricCatalogButton';
const SUB_TABS = [
{ id: 'daily', label: '每日', icon: CalendarDays },
@@ -21,6 +22,7 @@ export default function ElectricModule() {
icon={CalendarDays}
eyebrow="ELECTRIC BI"
meta="时间单位清晰标注 · 支持日/总览切换"
actions={<MetricCatalogButton domain="electric" />}
>
<SubTabs tabs={SUB_TABS} active={sub} onChange={setSub} />
<AnimatePresence mode="wait">
+2
View File
@@ -1,6 +1,7 @@
import { Receipt } from 'lucide-react';
import ETCView from './ETCView';
import { PageFrame } from '../../components/ui/surface';
import MetricCatalogButton from '../../components/MetricCatalogButton';
export default function EtcModule() {
return (
@@ -10,6 +11,7 @@ export default function EtcModule() {
icon={Receipt}
eyebrow="ETC BI"
meta="真实接入状态 · 指标口径已发布"
actions={<MetricCatalogButton domain="etc" />}
>
<ETCView />
</PageFrame>
+2
View File
@@ -4,6 +4,7 @@ import HydrogenView, { type HydrogenSubTab } from './HydrogenView';
import SubTabs from './SubTabs';
import { useHashSubTab } from './useHashSubTab';
import { FadeIn, PageFrame } from '../../components/ui/surface';
import MetricCatalogButton from '../../components/MetricCatalogButton';
const SUB_TABS = [
{ id: 'daily', label: '每日', icon: CalendarDays },
@@ -21,6 +22,7 @@ export default function HydrogenModule() {
icon={CalendarDays}
eyebrow="ENERGY BI"
meta="数据单位清晰标注 · 支持日/总览切换"
actions={<MetricCatalogButton domain="hydrogen" />}
>
<SubTabs tabs={SUB_TABS} active={sub} onChange={setSub} />
<AnimatePresence mode="wait">
+2
View File
@@ -6,6 +6,7 @@ import DailyReportView from './DailyReportView';
import { useHashSubTab } from '../energy/useHashSubTab';
import RotatingFooterHint from '../../components/RotatingFooterHint';
import { FadeIn, PageFrame, SegmentedNav } from '../../components/ui/surface';
import MetricCatalogButton from '../../components/MetricCatalogButton';
type MileageSubTab = 'monitoring' | 'statistics' | 'report';
@@ -27,6 +28,7 @@ export default function MileageModule() {
icon={LayoutDashboard}
eyebrow="MILEAGE BI"
meta="实时监控 · 统计报表 · 每日汇报"
actions={<MetricCatalogButton domain="mileage" />}
compactInfo
>
<div className="sticky top-0 z-30 -mx-3 bg-[var(--app-bg)] px-3 pb-2 pt-1 shadow-[0_8px_12px_-12px_rgba(15,23,42,0.08)] md:-mx-6 md:top-12 md:px-6">