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:
@@ -1,7 +1,8 @@
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { useSearchParams, useNavigate } from 'react-router-dom';
|
||||
import { Search, ChevronLeft, ChevronRight, UserX } from 'lucide-react';
|
||||
import { Search, ChevronLeft, ChevronRight, Users } from 'lucide-react';
|
||||
import api from '../utils/api';
|
||||
import EmptyState from './EmptyState/EmptyState';
|
||||
import './Dashboard.css';
|
||||
import './Attackers.css';
|
||||
|
||||
@@ -163,14 +164,13 @@ const Attackers: React.FC = () => {
|
||||
</div>
|
||||
|
||||
{loading ? (
|
||||
<div className="empty-state">
|
||||
<span className="type-label">SCANNING THREAT PROFILES...</span>
|
||||
</div>
|
||||
<EmptyState icon={Users} title="SCANNING THREAT PROFILES…" />
|
||||
) : attackers.length === 0 ? (
|
||||
<div className="empty-state">
|
||||
<UserX size={28} />
|
||||
<span className="type-label">NO ACTIVE THREATS PROFILED YET</span>
|
||||
</div>
|
||||
<EmptyState
|
||||
icon={Users}
|
||||
title="NO ACTIVE THREATS PROFILED YET"
|
||||
hint="waiting on attacker traffic to correlate"
|
||||
/>
|
||||
) : (
|
||||
<div className="ak-grid">
|
||||
{attackers.map(a => {
|
||||
|
||||
Reference in New Issue
Block a user