diff --git a/dashboard/app/analytics/page.js b/dashboard/app/analytics/page.js index 36ffeba..7cac13c 100644 --- a/dashboard/app/analytics/page.js +++ b/dashboard/app/analytics/page.js @@ -15,7 +15,9 @@ import { YAxis, } from 'recharts'; import { motion } from 'framer-motion'; -import { BarChart3 } from 'lucide-react'; +import { BarChart3, ChevronUp, ChevronDown } from 'lucide-react'; +import { Skeleton } from '../components/ui/Skeleton'; +import { EmptyState } from '../components/ui/EmptyState'; import NavBar from '../components/NavBar.jsx'; import { useTheme } from '../providers/ThemeProvider.jsx'; import { PAGE_ENTER, STAGGER_CHILDREN, CARD_ITEM } from '../lib/motion.js'; @@ -28,15 +30,15 @@ function KpiCard({ label, value, sub, trend, accentColor = 'var(--accent-cyan)' variants={CARD_ITEM} className="glass-panel glass-edge relative overflow-hidden p-6 group" > -
{label}
+{label}
{value}
{sub}
+{sub}
{trend !== undefined && ( -+
{title}
{subtitle && ( -{subtitle}
+{subtitle}
)}Operations Intelligence
+Operations Intelligence
- Historical performance metrics are calculated every 24 hours. Check back once your first disruption protocol has been executed. -
+{t?.kind || 'Entity'}
diff --git a/dashboard/app/components/ui/EmptyState.jsx b/dashboard/app/components/ui/EmptyState.jsx new file mode 100644 index 0000000..903ba61 --- /dev/null +++ b/dashboard/app/components/ui/EmptyState.jsx @@ -0,0 +1,27 @@ +export function EmptyState({ + icon, + title, + description, + action +}) { + return ( ++ {description} +
+{path}
- {description}
- {open ? 'β²' : 'βΌ'}
+ {method}
+ {path}
+ {description}
+
+ {open ? {description}
+{description}
{example && (curl example
+curl example
response shape
+response shape
OpenTrade Protocol
+OpenTrade Protocol
Global supply chain intelligence and multi-agent AI disruption resolution. @@ -126,26 +126,26 @@ export default function LoginPage() {
{error}
} + {error &&{error}
}+
SECURE ENCRYPTED CHANNEL 409-A
diff --git a/dashboard/app/onboarding/page.js b/dashboard/app/onboarding/page.js index bb5a608..e2a82d6 100644 --- a/dashboard/app/onboarding/page.js +++ b/dashboard/app/onboarding/page.js @@ -75,30 +75,30 @@ export default function OnboardingPage() {Organization Setup
+Organization Setup
Each organization gets its own isolated data vault. This only needs to be set once. @@ -106,7 +106,7 @@ export default function OnboardingPage() {