import React, { useState, useMemo } from 'react';
import {
Ship, Anchor, Zap, Shield, Waves, Target,
Search, Info, Fuel, Package, Activity,
ChevronDown, ChevronUp, LayoutGrid, List, X
} from 'lucide-react';
const NavyFleetDashboard = () => {
const [selectedCategory, setSelectedCategory] = useState('All');
const [searchQuery, setSearchQuery] = useState('');
const [viewMode, setViewMode] = useState('grid');
const [expandedShips, setExpandedShips] = useState({});
const toggleExpand = (id) => {
setExpandedShips(prev => ({
...prev,
[id]: !prev[id]
}));
};
const categories = [
{ name: 'All', icon: },
{ name: 'Power Projection', icon: },
{ name: 'Surface Combatants', icon: },
{ name: 'Submarine Force', icon: },
{ name: 'Amphibious Force', icon: },
{ name: 'Combat Logistics', icon: }
];
const shipData = [
{
id: 1,
category: 'Power Projection',
class: 'Gerald R. Ford-class',
hull: 'CVN-78',
type: 'Nuclear Aircraft Carrier',
count: 2,
status: 'Active / Commissioning',
desc: 'Next-gen supercarrier with EMALS and Advanced Arresting Gear.',
stats: { tonnage: '100,000t', aircraft: '75+', crew: '4,500' },
roster: ['USS Gerald R. Ford (CVN-78)', 'USS John F. Kennedy (CVN-79)']
},
{
id: 2,
category: 'Power Projection',
class: 'Nimitz-class',
hull: 'CVN-68 to 77',
type: 'Nuclear Aircraft Carrier',
count: 9,
status: 'Active / Retiring',
desc: 'The global standard for supercarriers. USS Nimitz is near retirement.',
stats: { tonnage: '100,000t', aircraft: '65+', crew: '5,000' },
roster: [
'USS Nimitz (CVN-68)', 'USS Dwight D. Eisenhower (CVN-69)',
'USS Carl Vinson (CVN-70)', 'USS Theodore Roosevelt (CVN-71)',
'USS Abraham Lincoln (CVN-72)', 'USS George Washington (CVN-73)',
'USS John C. Stennis (CVN-74)', 'USS Harry S. Truman (CVN-75)',
'USS Ronald Reagan (CVN-76)', 'USS George H.W. Bush (CVN-77)'
]
},
{
id: 3,
category: 'Surface Combatants',
class: 'Arleigh Burke-class',
hull: 'DDG-51',
type: 'Guided Missile Destroyer',
count: 74,
status: 'Active / Growth',
desc: 'Multi-mission workhorse. Flight III features the SPY-6 radar.',
stats: { VLS: '90-96 cells', radar: 'Aegis/SPY-6', speed: '30+ kts' },
roster: [
'USS Arleigh Burke (DDG-51)', 'USS John Paul Jones (DDG-53)', 'USS Curtis Wilbur (DDG-54)',
'USS Stout (DDG-55)', 'USS Benfold (DDG-65)', 'USS Winston S. Churchill (DDG-81)',
'USS Pinckney (DDG-91)', 'USS Kidd (DDG-100)', 'USS Spruance (DDG-111)',
'USS Jack H. Lucas (DDG-125)', 'USS Louis H. Wilson Jr. (DDG-126)', '... + 60 more'
]
},
{
id: 4,
category: 'Surface Combatants',
class: 'Zumwalt-class',
hull: 'DDG-1000',
type: 'Stealth Destroyer',
count: 3,
status: 'Active / Hypersonic Refit',
desc: 'Advanced stealth destroyers being refitted with hypersonic missile tubes.',
stats: { tonnage: '15,000t', stealth: 'V. High', weapons: 'Hypersonic' },
roster: ['USS Zumwalt (DDG-1000)', 'USS Michael Monsoor (DDG-1001)', 'USS Lyndon B. Johnson (DDG-1002)']
},
{
id: 5,
category: 'Surface Combatants',
class: 'Ticonderoga-class',
hull: 'CG-47',
type: 'Guided Missile Cruiser',
count: 6,
status: 'Phasing Out',
desc: 'Aging Air Defense commanders. Most retiring by late 2026.',
stats: { VLS: '122 cells', radar: 'SPY-1B', role: 'Fleet AD' },
roster: [
'USS Philippine Sea (CG-58)', 'USS Gettysburg (CG-64)',
'USS Chosin (CG-65)', 'USS Shiloh (CG-67)',
'USS Erie (CG-70)', 'USS Cape St. George (CG-71)'
]
},
{
id: 6,
category: 'Surface Combatants',
class: 'Constellation-class',
hull: 'FFG-62',
type: 'Guided Missile Frigate',
count: 0,
status: 'Building',
desc: 'A new class based on the FREMM design. Focused on ASW and escort.',
stats: { tonnage: '7,300t', VLS: '32 cells', sonar: 'Advanced' },
roster: ['USS Constellation (FFG-62)', 'USS Congress (FFG-63)', 'USS Chesapeake (FFG-64)']
},
{
id: 7,
category: 'Surface Combatants',
class: 'LCS Force',
hull: 'LCS-1 / LCS-2',
type: 'Littoral Combat Ship',
count: 24,
status: 'Active / Mixed',
desc: 'Freedom (monohull) and Independence (trimaran) variants for coastal ops.',
stats: { speed: '40+ kts', draft: 'Shallow', role: 'MCM/SUW' },
roster: [
'USS Fort Worth (LCS-3)', 'USS Wichita (LCS-13)', 'USS Cooperstown (LCS-23)',
'USS Independence (LCS-2)', 'USS Jackson (LCS-6)', 'USS Manchester (LCS-14)',
'USS Gabrielle Giffords (LCS-10)', 'USS Mobile (LCS-26)', '... + 16 more'
]
},
{
id: 8,
category: 'Submarine Force',
class: 'Virginia-class',
hull: 'SSN-774',
type: 'Attack Submarine (Nuclear)',
count: 24,
status: 'Active / Production',
desc: 'The backbone of the sub fleet. Block V units include the VPM.',
stats: { weapons: 'Tomahawk', crew: '135', stealth: 'Elite' },
roster: [
'USS Virginia (SSN-774)', 'USS Hawaii (SSN-776)', 'USS New Hampshire (SSN-778)',
'USS New Mexico (SSN-779)', 'USS California (SSN-781)', 'USS Illinois (SSN-786)',
'USS South Dakota (SSN-791)', 'USS Oregon (SSN-793)', 'USS New Jersey (SSN-796)'
]
},
{
id: 9,
category: 'Submarine Force',
class: 'Ohio-class (SSBN)',
hull: 'SSBN-730+',
type: 'Ballistic Missile Sub',
count: 14,
status: 'Strategic Deterrent',
desc: 'Invisible leg of the nuclear triad. Carry 20 Trident II D5 missiles.',
stats: { missiles: '20 Trident', propulsion: 'Nuclear', endurance: '90 days' },
roster: [
'USS Henry M. Jackson (SSBN-730)', 'USS Alabama (SSBN-731)', 'USS Alaska (SSBN-732)',
'USS Nevada (SSBN-733)', 'USS Tennessee (SSBN-734)', 'USS Pennsylvania (SSBN-735)',
'USS West Virginia (SSBN-736)', 'USS Kentucky (SSBN-737)', '... + 6 more'
]
},
{
id: 10,
category: 'Submarine Force',
class: 'Ohio-class (SSGN)',
hull: 'SSGN-726+',
type: 'Guided Missile Sub',
count: 4,
status: 'Active / Final Years',
desc: 'Four Ohios converted to carry 154 Tomahawk missiles and SEAL teams.',
stats: { missiles: '154 Tomahawks', troops: '66 SEALs', role: 'Strike' },
roster: ['USS Ohio (SSGN-726)', 'USS Michigan (SSGN-727)', 'USS Florida (SSGN-728)', 'USS Georgia (SSGN-729)']
},
{
id: 11,
category: 'Amphibious Force',
class: 'America/Wasp-class',
hull: 'LHA-6 / LHD-1',
type: 'Amphibious Assault Ship',
count: 9,
status: 'Active',
desc: 'Flat-deck aviation-centric ships. Operate F-35B Lightning II jets.',
stats: { tonnage: '45,000t', aircraft: 'F-35B/MV-22', marines: '1,600' },
roster: [
'USS Wasp (LHD-1)', 'USS Essex (LHD-2)', 'USS Kearsarge (LHD-3)',
'USS Bataan (LHD-5)', 'USS Iwo Jima (LHD-7)', 'USS Makin Island (LHD-8)',
'USS America (LHA-6)', 'USS Tripoli (LHA-7)', 'USS Bougainville (LHA-8)'
]
},
{
id: 12,
category: 'Amphibious Force',
class: 'San Antonio-class',
hull: 'LPD-17',
type: 'Amphibious Transport Dock',
count: 13,
status: 'Active',
desc: 'Transports Marines and LCAC hovercraft. Features integrated stealth.',
stats: { tonnage: '25,000t', well_deck: '2 LCACs', sensors: 'Advanced' },
roster: [
'USS San Antonio (LPD-17)', 'USS New Orleans (LPD-18)', 'USS Mesa Verde (LPD-19)',
'USS Green Bay (LPD-20)', 'USS New York (LPD-21)', 'USS San Diego (LPD-22)',
'USS Anchorage (LPD-23)', 'USS Arlington (LPD-24)', '... + 5 more'
]
},
{
id: 13,
category: 'Combat Logistics',
class: 'John Lewis-class',
hull: 'T-AO 205',
type: 'Fleet Oiler',
count: 3,
status: 'New Production',
desc: 'Double-hull tankers to refuel the fleet at high speeds.',
stats: { liquid_cargo: '157k bbls', speed: '20 kts', crew: 'Civilian' },
roster: ['USNS John Lewis (T-AO 205)', 'USNS Harvey Milk (T-AO 206)', 'USNS Earl Warren (T-AO 207)']
},
{
id: 14,
category: 'Combat Logistics',
class: 'Lewis & Clark-class',
hull: 'T-AKE-1',
type: 'Dry Cargo / Ammo',
count: 14,
status: 'Active',
desc: 'Carry ammunition, spare parts, and food to warships at sea.',
stats: { capacity: 'Fast UNREP', length: '689 ft', heli: '2 x MH-60' },
roster: [
'USNS Lewis and Clark (T-AKE-1)', 'USNS Sacagawea (T-AKE-2)', 'USNS Alan Shepard (T-AKE-3)',
'USNS Richard E. Byrd (T-AKE-4)', 'USNS Robert E. Peary (T-AKE-5)', '... + 9 more'
]
}
];
const filteredShips = useMemo(() => {
let result = shipData;
// Category Filter
if (selectedCategory !== 'All') {
result = result.filter(ship => ship.category === selectedCategory);
}
// Search Query Filter (Class name OR Roster members)
if (searchQuery.trim()) {
const query = searchQuery.toLowerCase();
result = result.filter(ship =>
ship.class.toLowerCase().includes(query) ||
ship.type.toLowerCase().includes(query) ||
ship.roster.some(name => name.toLowerCase().includes(query))
);
}
return result;
}, [selectedCategory, searchQuery]);
return (
);
};
export default NavyFleetDashboard;
{/* Header Section */}
{/* Global Controls: Search & Categories */}
)}
U.S. NAVY 2026 ROSTER
Search for any active ship or explore by functional classification.
{/* Search Box */}
setSearchQuery(e.target.value)}
className="w-full bg-slate-800/50 border border-slate-700 text-white pl-12 pr-12 py-4 rounded-2xl focus:outline-none focus:ring-2 focus:ring-blue-500/40 focus:border-blue-500 transition-all placeholder:text-slate-500"
/>
{searchQuery && (
)}
{/* Categories Bar */}
{/* Grid Layout */}
{filteredShips.length > 0 ? (
viewMode === 'grid' ? (
{categories.map((cat) => (
))}
{filteredShips.map((ship) => (
))}
) : (
/* List Layout */
{ship.category}
{ship.hull}
{ship.class}
{ship.type}
{ship.desc}
{Object.entries(ship.stats).map(([key, val]) => (
))}
{/* Expandable Roster */}
{key.replace('_', ' ')}
{val}
{/* Auto-expand roster if searching */}
{(expandedShips[ship.id] || searchQuery) && (
{ship.roster.map((name, idx) => {
const isMatch = searchQuery && name.toLowerCase().includes(searchQuery.toLowerCase());
return (
{name}
);
})}
)}
{ship.count} Units Active
{ship.status}
{filteredShips.map((ship) => (
))}
)
) : (
/* Empty State */
{ship.class}
{ship.hull}{ship.desc}
{ship.roster.map((n, i) => {
const isMatch = searchQuery && n.toLowerCase().includes(searchQuery.toLowerCase());
return (
{n}
);
})}
No ships found
Try searching for a different name or hull number.