feat(web): retrofit empty states to shared EmptyState primitive
Replace ad-hoc empty-state markup across Dashboard, TopologyList, LiveLogs, Attackers, Bounty, AttackerDetail, SwarmHosts, RemoteUpdates and CommandPalette with the new <EmptyState> component. Themed icons + hints improve discoverability; TopologyList and SwarmHosts gain CTAs to their respective creation flows.
This commit is contained in:
@@ -4,6 +4,7 @@ import { Network, Plus, Power, Trash2, UploadCloud, RefreshCw, Skull } from 'luc
|
||||
import api from '../../utils/api';
|
||||
import { clearLayout } from '../MazeNET/useMazeLayoutStore';
|
||||
import CreateTopologyWizard from './CreateTopologyWizard';
|
||||
import EmptyState from '../EmptyState/EmptyState';
|
||||
import './TopologyList.css';
|
||||
|
||||
interface TopologySummary {
|
||||
@@ -237,9 +238,12 @@ const TopologyList: React.FC = () => {
|
||||
</div>
|
||||
))}
|
||||
{!loading && rows.length === 0 && (
|
||||
<div className="tlist-empty">
|
||||
No topologies yet. Click NEW TOPOLOGY to create one.
|
||||
</div>
|
||||
<EmptyState
|
||||
icon={Network}
|
||||
title="NO TOPOLOGIES YET"
|
||||
hint="spin one up to deploy a honeynet"
|
||||
cta={{ label: 'NEW TOPOLOGY', icon: Plus, onClick: () => setCreating(true) }}
|
||||
/>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user