- Add GraphQL dashboard operations, ApolloProvider, CardDescription, label/checkbox/alert - Fix case-sensitive UI imports, Crossplane VM metadata uid, VMList spec parsing - Extend next-auth session user (id, role); fairness filters as unknown; ESLint relax to warnings - Remove unused session destructure across pages; next.config without skip TS/ESLint api: GraphQL/WebSocket hardening, logger import in websocket service Made-with: Cursor
52 lines
1.8 KiB
TypeScript
52 lines
1.8 KiB
TypeScript
'use client';
|
|
|
|
import { useSession } from 'next-auth/react';
|
|
import { signIn } from 'next-auth/react';
|
|
// Network topology view - component to be implemented
|
|
// import { NetworkTopologyView } from '@/components/network/NetworkTopologyView';
|
|
|
|
export default function NetworkPage() {
|
|
const { status } = useSession();
|
|
|
|
if (status === 'loading') {
|
|
return (
|
|
<div className="flex min-h-screen items-center justify-center bg-gray-900">
|
|
<div className="text-center">
|
|
<div className="mb-4 h-8 w-8 animate-spin rounded-full border-4 border-gray-300 border-t-blue-600 mx-auto"></div>
|
|
<p className="text-gray-400">Loading...</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
if (status === 'unauthenticated') {
|
|
return (
|
|
<div className="flex min-h-screen items-center justify-center bg-gray-900">
|
|
<div className="text-center max-w-md mx-auto p-8">
|
|
<h1 className="text-2xl font-bold text-white mb-4">Access Denied</h1>
|
|
<p className="text-gray-400 mb-6">Please sign in to view network topology</p>
|
|
<button
|
|
onClick={() => signIn()}
|
|
className="px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors"
|
|
>
|
|
Sign In
|
|
</button>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
return (
|
|
<div className="container mx-auto p-6">
|
|
<h1 className="text-3xl font-bold mb-6 text-white">Network Topology</h1>
|
|
<div className="border rounded-lg p-4 bg-gray-800">
|
|
<p className="text-gray-400">Network topology visualization coming soon</p>
|
|
<p className="text-sm text-gray-500 mt-2">
|
|
This will display the network graph showing relationships between resources across Proxmox, Kubernetes, and Cloudflare.
|
|
</p>
|
|
</div>
|
|
</div>
|
|
);
|
|
}
|
|
|