Link HO nostro dashboard in nav, footer, and home quick paths.
Surfaces /ho-liquidity from the Operations dropdown, site footer, and institutional quick paths; use formatTimestamp on the HO liquidity page for consistent audit timestamps. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -498,6 +498,7 @@ export default function Navbar() {
|
||||
pathname.startsWith('/bridge') ||
|
||||
pathname.startsWith('/routes') ||
|
||||
pathname.startsWith('/liquidity') ||
|
||||
pathname.startsWith('/ho-liquidity') ||
|
||||
pathname.startsWith('/operations') ||
|
||||
pathname.startsWith('/system') ||
|
||||
pathname.startsWith('/operator') ||
|
||||
@@ -605,6 +606,7 @@ export default function Navbar() {
|
||||
const operationsItems: MenuItem[] = useMemo(
|
||||
() => [
|
||||
{ href: '/operations', label: 'Operations hub', description: 'Open the consolidated operator surface for live support workflows.' },
|
||||
{ href: '/ho-liquidity', label: 'HO nostro & reserve', description: 'Fineract GL 13010 nostro cash, HO reserve coverage, and PMM cash liquidity.' },
|
||||
{ href: '/bridge', label: 'Bridge', description: 'Inspect relay lanes, queue posture, and bridge trace tooling.' },
|
||||
{ href: '/routes', label: 'Routes', description: 'Review live route coverage, same-chain lanes, and bridge paths.' },
|
||||
{ href: '/liquidity', label: 'Liquidity', description: 'Check planner-backed route access and live liquidity posture.' },
|
||||
|
||||
@@ -6,6 +6,7 @@ import {
|
||||
formatHoReserveCoverageLabel,
|
||||
formatSupplyNostroMatchLabel,
|
||||
} from '@/utils/tokenMarket'
|
||||
import { formatTimestamp } from '@/utils/format'
|
||||
import OperationsPageShell from './OperationsPageShell'
|
||||
|
||||
export type HoLiquiditySnapshot = {
|
||||
@@ -73,7 +74,7 @@ export default function HoLiquidityPage({ snapshot, loadError }: HoLiquidityPage
|
||||
{snapshot ? (
|
||||
<div className="space-y-6">
|
||||
<div className="flex flex-wrap items-center gap-3 text-sm text-gray-500 dark:text-gray-400">
|
||||
<span>Fineract audit {new Date(snapshot.generatedAt).toLocaleString()}</span>
|
||||
<span>Fineract audit {formatTimestamp(snapshot.generatedAt)}</span>
|
||||
<EntityBadge
|
||||
label={snapshot.fineractConfigured ? 'Fineract configured' : 'Fineract pending'}
|
||||
tone={snapshot.fineractConfigured ? 'success' : 'warning'}
|
||||
@@ -150,7 +151,7 @@ export default function HoLiquidityPage({ snapshot, loadError }: HoLiquidityPage
|
||||
<h3 className="text-sm font-semibold text-gray-900 dark:text-white">Triple-state reconcile</h3>
|
||||
<p className="mt-2 text-sm text-gray-600 dark:text-gray-300">
|
||||
{snapshot.tripleState.aligned ? 'Aligned' : `${snapshot.tripleState.breaksCount ?? 0} break(s)`}
|
||||
{snapshot.tripleState.generatedAt ? ` · ${new Date(snapshot.tripleState.generatedAt).toLocaleString()}` : ''}
|
||||
{snapshot.tripleState.generatedAt ? ` · ${formatTimestamp(snapshot.tripleState.generatedAt)}` : ''}
|
||||
</p>
|
||||
</section>
|
||||
) : null}
|
||||
|
||||
@@ -1061,6 +1061,9 @@ export default function Home({
|
||||
<Link href="/liquidity" className="rounded-lg border border-gray-200 px-3 py-1.5 text-primary-600 hover:border-primary-300 dark:border-gray-800">
|
||||
Liquidity
|
||||
</Link>
|
||||
<Link href="/ho-liquidity" className="rounded-lg border border-gray-200 px-3 py-1.5 text-primary-600 hover:border-primary-300 dark:border-gray-800">
|
||||
HO nostro
|
||||
</Link>
|
||||
<Link href="/token-aggregation/api/v1/report/official-protocols" className="rounded-lg border border-gray-200 px-3 py-1.5 text-primary-600 hover:border-primary-300 dark:border-gray-800">
|
||||
Public APIs
|
||||
</Link>
|
||||
|
||||
@@ -39,6 +39,7 @@ export const footerNavGroups: FooterNavGroup[] = [
|
||||
title: 'Operations',
|
||||
links: [
|
||||
{ href: '/operations', label: 'Operations hub' },
|
||||
{ href: '/ho-liquidity', label: 'HO nostro & reserve' },
|
||||
{ href: '/bridge', label: 'Bridge' },
|
||||
{ href: '/routes', label: 'Routes' },
|
||||
{ href: '/liquidity', label: 'Liquidity' },
|
||||
|
||||
Reference in New Issue
Block a user