import React from "react"; import { Packet, PortNum, PortNumByName } from "../../lib/types"; import { Package } from "lucide-react"; interface GenericPacketProps { packet: Packet; } export const GenericPacket: React.FC = ({ packet }) => { const { data } = packet; // Helper to get port name from enum const getPortName = (portNum: PortNum | string): string => { if (typeof portNum === 'string') { return portNum; } return PortNum[portNum] || "Unknown"; }; // Helper to get simple payload description const getPayloadDescription = () => { if (data.decodeError) { return `Error: ${data.decodeError}`; } // Determine what type of payload is present if (data.binaryData) return "Binary data"; if (data.waypoint) return "Waypoint"; if (data.compressedText) return "Compressed text"; if (data.mapReport) return "Map report"; if (data.remoteHardware) return "Remote hardware"; if (data.routing) return "Routing"; if (data.admin) return "Admin"; if (data.audioData) return "Audio"; if (data.alert) return `Alert: ${data.alert}`; if (data.reply) return `Reply: ${data.reply}`; return "Unknown data"; }; return (
From: {data.from || "Unknown"}
ID: {data.id || "No ID"}
Port
{getPortName(data.portNum)}
Payload
{getPayloadDescription()}
To
{data.to || "Broadcast"}
Hop Limit
{data.hopLimit}
Channel: {packet.info.channel} {getPortName(data.portNum)}
); };