secure atlas access
This commit is contained in:
@@ -46,6 +46,13 @@ export default function AdminPortalPage() {
|
||||
href: '/admin/openpayd',
|
||||
features: ['Sandbox probes', 'Production gates', 'Evidence export'],
|
||||
},
|
||||
{
|
||||
title: 'Ecosystem Atlas',
|
||||
description: 'Review the internal Project Atlas route map, hidden inventory, and revision notes.',
|
||||
icon: Shield,
|
||||
href: '/atlas',
|
||||
features: ['Admin-only route map', 'Inventory awareness', 'Revision history'],
|
||||
},
|
||||
];
|
||||
|
||||
return (
|
||||
|
||||
@@ -2,6 +2,7 @@ import type { Metadata } from 'next';
|
||||
|
||||
import AtlasDashboard from '@/components/atlas/AtlasDashboard';
|
||||
import { loadAtlasSnapshot } from '@/lib/atlas';
|
||||
import { requirePortalRoles } from '@/lib/server-role-guard';
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
export const revalidate = 0;
|
||||
@@ -16,6 +17,7 @@ export const metadata: Metadata = {
|
||||
};
|
||||
|
||||
export default async function AtlasPage() {
|
||||
await requirePortalRoles(['admin', 'tenant-admin', 'ADMIN', 'TENANT_ADMIN'], '/atlas');
|
||||
const snapshot = await loadAtlasSnapshot();
|
||||
|
||||
return (
|
||||
|
||||
@@ -26,15 +26,14 @@ const footerColumns = [
|
||||
{ label: 'Marketplace', href: 'https://portal.sankofa.nexus' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Company',
|
||||
links: [
|
||||
{ label: 'About Sankofa', href: '#resources' },
|
||||
{ label: 'Ecosystem Atlas', href: '/atlas' },
|
||||
{ label: 'Institutional registry', href: 'https://d-bis.org/cb/dbis' },
|
||||
{ label: 'Partner program', href: '/partner' },
|
||||
{ label: 'Contact', href: 'https://portal.sankofa.nexus' },
|
||||
],
|
||||
{
|
||||
title: 'Company',
|
||||
links: [
|
||||
{ label: 'About Sankofa', href: '#resources' },
|
||||
{ label: 'Institutional registry', href: 'https://d-bis.org/cb/dbis' },
|
||||
{ label: 'Partner program', href: '/partner' },
|
||||
{ label: 'Contact', href: 'https://portal.sankofa.nexus' },
|
||||
],
|
||||
},
|
||||
{
|
||||
title: 'Access',
|
||||
|
||||
@@ -68,7 +68,6 @@ export const corporateNav: CorporateNavItem[] = [
|
||||
{ label: 'Institutional grade', href: '#institutional-grade' },
|
||||
{ label: 'Compliance', href: '#institutional-compliance' },
|
||||
{ label: 'Resources', href: '#resources' },
|
||||
{ label: 'Atlas', href: '/atlas' },
|
||||
];
|
||||
|
||||
export const productDivisions: ProductDivision[] = [
|
||||
|
||||
Reference in New Issue
Block a user