diff --git a/frontend/src/pages/NetworkDiagrams/AssetStyleShowcase.tsx b/frontend/src/pages/NetworkDiagrams/AssetStyleShowcase.tsx
deleted file mode 100644
index 9b654563..00000000
--- a/frontend/src/pages/NetworkDiagrams/AssetStyleShowcase.tsx
+++ /dev/null
@@ -1,220 +0,0 @@
-import type { ComponentType, CSSProperties } from 'react'
-import {
- ArrowLeft,
- Cloud,
- Database,
- Monitor,
- Network,
- Server,
- Shield,
- Wifi,
-} from 'lucide-react'
-import { useNavigate } from 'react-router-dom'
-import { cn } from '@/lib/utils'
-
-type NodeSpec = {
- id: string
- label: string
- meta: string
- x: number
- y: number
- accent: string
- Icon: ComponentType<{ size?: number; className?: string; style?: CSSProperties }>
- chip: string
-}
-
-const nodes: NodeSpec[] = [
- { id: 'wan', label: 'ISP Edge', meta: 'wan uplink', x: 240, y: 28, accent: '#67e8f9', Icon: Cloud, chip: 'WAN' },
- { id: 'fw', label: 'Perimeter FW', meta: 'ha pair', x: 240, y: 150, accent: '#f87171', Icon: Shield, chip: 'FW' },
- { id: 'core', label: 'Core Switch', meta: 'stacked', x: 240, y: 278, accent: '#60a5fa', Icon: Network, chip: 'SW' },
- { id: 'ap', label: 'Access Point', meta: 'wifi 6', x: 72, y: 406, accent: '#60a5fa', Icon: Wifi, chip: 'AP' },
- { id: 'srv', label: 'File Server', meta: 'vm host', x: 240, y: 406, accent: '#34d399', Icon: Server, chip: 'SRV' },
- { id: 'nas', label: 'Backup NAS', meta: 'snapshots', x: 408, y: 406, accent: '#a78bfa', Icon: Database, chip: 'NAS' },
- { id: 'desk', label: 'User Workstation', meta: 'accounting', x: 240, y: 534, accent: '#fbbf24', Icon: Monitor, chip: 'WS' },
-]
-
-const links = [
- ['wan', 'fw'],
- ['fw', 'core'],
- ['core', 'ap'],
- ['core', 'srv'],
- ['core', 'nas'],
- ['core', 'desk'],
-] as const
-
-function ApplianceNode({ node }: { node: NodeSpec }) {
- const { Icon } = node
- return (
-
-
-
- {node.chip}
-
- Asset
-
-
-
-
-
-
{node.label}
-
{node.meta}
-
-
-
-
-
-
-
- )
-}
-
-function SaaSNode({ node }: { node: NodeSpec }) {
- const { Icon } = node
- return (
-
-
-
-
-
-
{node.label}
-
{node.meta}
-
-
- )
-}
-
-function DiagramWires({ variant }: { variant: 'appliance' | 'saas' }) {
- return (
-
- {links.map(([from, to]) => {
- const source = nodes.find(node => node.id === from)
- const target = nodes.find(node => node.id === to)
- if (!source || !target) return null
-
- const x1 = source.x + 68
- const y1 = source.y + (variant === 'appliance' ? 108 : 100)
- const x2 = target.x + 68
- const y2 = target.y
- const midY = (y1 + y2) / 2
-
- return (
-
- )
- })}
-
- )
-}
-
-function DiagramPanel({
- title,
- subtitle,
- description,
- variant,
-}: {
- title: string
- subtitle: string
- description: string
- variant: 'appliance' | 'saas'
-}) {
- return (
-
-
-
- {subtitle}
-
-
{title}
-
{description}
-
-
-
-
-
-
-
- {nodes.map(node =>
- variant === 'appliance' ? (
-
- ) : (
-
- ),
- )}
-
-
-
-
- )
-}
-
-export default function AssetStyleShowcasePage() {
- const navigate = useNavigate()
-
- return (
-
-
-
-
navigate('/network-diagrams')}
- className="mb-4 inline-flex items-center gap-2 text-sm text-muted-foreground hover:text-primary"
- >
-
- Back to Network Maps
-
-
- Asset Style Lab
-
-
Two directions for network-map assets
-
- Same topology, two visual languages. The left mock-up leans closer to infrastructure documentation.
- The right mock-up leans toward a cleaner product experience inside the app.
-
-
-
-
-
-
-
-
-
-
- The fastest next step is to pick the lane that feels more “ResolutionFlow,” then I can translate that look into the actual editor nodes rather than keeping it as a mock-up.
-
-
- )
-}
diff --git a/frontend/src/pages/NetworkDiagrams/index.tsx b/frontend/src/pages/NetworkDiagrams/index.tsx
index c60cf732..4ef87e27 100644
--- a/frontend/src/pages/NetworkDiagrams/index.tsx
+++ b/frontend/src/pages/NetworkDiagrams/index.tsx
@@ -1,6 +1,6 @@
import { useState, useEffect, useCallback, useMemo, useRef } from 'react'
import { useNavigate } from 'react-router-dom'
-import { Plus, Search, Network, MoreHorizontal, Upload, ChevronDown, Sparkles } from 'lucide-react'
+import { Plus, Search, Network, MoreHorizontal, Upload, ChevronDown } from 'lucide-react'
import { cn } from '@/lib/utils'
import { networkDiagramsApi } from '@/api'
import { toast } from '@/lib/toast'
@@ -171,13 +171,6 @@ export default function NetworkDiagramsPage() {
Visual network topology documentation for your clients
- navigate('/network-diagrams/style-lab')}
- className="flex items-center gap-1.5 rounded border border-default px-3 py-2 text-sm text-primary hover:border-hover"
- >
-
- Style Lab
-
import('@/pages/GuideDetailPage'))
const AccountSettingsPage = lazyWithRetry(() => import('@/pages/AccountSettingsPage'))
const NetworkDiagramsPage = lazyWithRetry(() => import('@/pages/NetworkDiagrams'))
const DiagramEditorPage = lazyWithRetry(() => import('@/pages/NetworkDiagrams/DiagramEditor'))
-const AssetStyleShowcasePage = lazyWithRetry(() => import('@/pages/NetworkDiagrams/AssetStyleShowcase'))
// Admin pages
const AdminLayout = lazyWithRetry(() => import('@/components/admin/AdminLayout'))
const AdminDashboardPage = lazyWithRetry(() => import('@/pages/admin/DashboardPage'))
@@ -200,7 +199,6 @@ export const router = sentryCreateBrowserRouter([
{ path: 'scripts/manage', element: page(ScriptManagePage) },
{ path: 'script-builder', element: page(ScriptBuilderPage) },
{ path: 'network-diagrams', element: page(NetworkDiagramsPage) },
- { path: 'network-diagrams/style-lab', element: page(AssetStyleShowcasePage) },
{ path: 'network-diagrams/new', element: page(DiagramEditorPage) },
{ path: 'network-diagrams/:id', element: page(DiagramEditorPage) },
{ path: 'kb-accelerator', element: page(KBAcceleratorPage) },