diff --git a/meshexplorer/src/app/layout.tsx b/meshexplorer/src/app/layout.tsx
index 90da1d5..1bb4ce2 100644
--- a/meshexplorer/src/app/layout.tsx
+++ b/meshexplorer/src/app/layout.tsx
@@ -16,7 +16,7 @@ const geistMono = Geist_Mono({
export const metadata: Metadata = {
title: "MeshExplorer",
- description: "A real-time map, chat client, and packet analysis tool for mesh networks using MeshCore and Meshtastic.",
+ description: "A real-time map, chat client, and packet analysis tool for MeshCore mesh networks.",
icons: {
icon: { url: "/favicon.svg", type: "image/svg+xml" },
apple: { url: "/favicon.svg", type: "image/svg+xml" }
diff --git a/meshexplorer/src/components/InfoModal.tsx b/meshexplorer/src/components/InfoModal.tsx
index 88f119c..1381423 100644
--- a/meshexplorer/src/components/InfoModal.tsx
+++ b/meshexplorer/src/components/InfoModal.tsx
@@ -15,7 +15,7 @@ export default function InfoModal({ isOpen, onClose }: InfoModalProps) {
{getAppName()} is a web-based visualization tool for exploring and monitoring mesh networks.
- It provides real-time mapping of network nodes, message tracking, and statistical analysis for MeshCore and Meshtastic networks.
+ It provides real-time mapping of network nodes, message tracking, and statistical analysis for MeshCore networks.
diff --git a/meshexplorer/src/components/MapIcons.tsx b/meshexplorer/src/components/MapIcons.tsx
index c3ce91f..60a7644 100644
--- a/meshexplorer/src/components/MapIcons.tsx
+++ b/meshexplorer/src/components/MapIcons.tsx
@@ -23,19 +23,13 @@ interface PopupContentProps {
// Individual node marker component
export function NodeMarker({ node, showNodeNames = true, isSelected = false, isLoadingNeighbors = false }: NodeMarkerProps) {
const getMarkerClass = () => {
- let baseClass = "custom-node-marker";
-
- if (node.type === "meshtastic") {
- baseClass += " custom-node-marker--green";
- } else if (node.type === "meshcore") {
- baseClass += " custom-node-marker--blue custom-node-marker--top";
- }
-
+ let baseClass = "custom-node-marker custom-node-marker--blue custom-node-marker--top";
+
// Only add loading class when actually loading neighbors
if (isLoadingNeighbors) {
baseClass += " custom-node-marker--loading";
}
-
+
return baseClass;
};
@@ -43,7 +37,7 @@ export function NodeMarker({ node, showNodeNames = true, isSelected = false, isL
{showNodeNames && node.short_name && (
- {node.type === "meshcore" ? getNameIconLabel(node.name || node.short_name) : node.short_name}
+ {getNameIconLabel(node.name || node.short_name)}
)}
@@ -51,29 +45,11 @@ export function NodeMarker({ node, showNodeNames = true, isSelected = false, isL
);
}
-// Cluster marker component with pie chart
+// Cluster marker component
export function ClusterMarker({ children }: ClusterMarkerProps) {
- let meshtasticCount = 0;
- let meshcoreCount = 0;
-
// Convert children to array if it's not already
const childrenArray = Array.isArray(children) ? children : [children];
-
- childrenArray.forEach((marker: any) => {
- const node = marker.options && marker.options.nodeData;
- if (node?.type === 'meshtastic') meshtasticCount++;
- else if (node?.type === 'meshcore') meshcoreCount++;
- });
-
- const total = meshtasticCount + meshcoreCount;
- const percentMeshcore = total ? meshcoreCount / total : 0;
- const percentMeshtastic = total ? meshtasticCount / total : 0;
-
- // Pie chart SVG calculations
- const r = 13.5;
- const c = 2 * Math.PI * r;
- const meshcoreArc = percentMeshcore * c;
- const meshtasticArc = percentMeshtastic * c;
+ const total = childrenArray.length;
return (
-
-
- ID: {node.type === "meshcore" ? formatPublicKey(node.node_id) : node.node_id}
+ ID: {formatPublicKey(node.node_id)}
Full Name: {node.name ?? "-"}
- Short Name: {node.type === "meshcore" && node.short_name ? getNameIconLabel(node.name || node.short_name) : (node.short_name ?? "-")}
+ Short Name: {node.short_name ? getNameIconLabel(node.name || node.short_name) : "-"}
Type: {node.type ?? "-"}
Lat: {node.latitude}
Lng: {node.longitude}
@@ -172,30 +124,26 @@ export function PopupContent({ node, target = '_self' }: PopupContentProps) {
) : (
First seen: -
)}
- {node.type === "meshcore" && (
-
- )}
+
);
}
-
-
\ No newline at end of file
diff --git a/meshexplorer/src/components/MapLayerSettings.tsx b/meshexplorer/src/components/MapLayerSettings.tsx
index 927f878..d004b4e 100644
--- a/meshexplorer/src/components/MapLayerSettings.tsx
+++ b/meshexplorer/src/components/MapLayerSettings.tsx
@@ -78,11 +78,11 @@ export default function MapLayerSettingsComponent({ onSettingsChange }: MapLayer
{
const currentTypes = settings.nodeTypes;
if (e.target.checked) {
- updateSetting('nodeTypes', [...currentTypes, nodeType.key as "meshcore" | "meshtastic"]);
+ updateSetting('nodeTypes', [...currentTypes, nodeType.key as "meshcore"]);
} else {
updateSetting('nodeTypes', currentTypes.filter(t => t !== nodeType.key));
}
diff --git a/meshexplorer/src/hooks/useMapLayerSettings.ts b/meshexplorer/src/hooks/useMapLayerSettings.ts
index 6ecc52c..4260c20 100644
--- a/meshexplorer/src/hooks/useMapLayerSettings.ts
+++ b/meshexplorer/src/hooks/useMapLayerSettings.ts
@@ -1,7 +1,7 @@
"use client";
import { useLocalStorage } from './useLocalStorage';
-type NodeType = "meshcore" | "meshtastic";
+type NodeType = "meshcore";
export interface MapLayerSettings {
showNodes: boolean;
@@ -41,5 +41,4 @@ export const TILE_LAYERS = [
export const NODE_TYPE_OPTIONS = [
{ key: "meshcore", label: "Meshcore" },
- { key: "meshtastic", label: "Meshtastic" },
];