diff --git a/frontend/src/components/canvas/nodes/BaseNode.tsx b/frontend/src/components/canvas/nodes/BaseNode.tsx
index dbd9f77..2a3babd 100644
--- a/frontend/src/components/canvas/nodes/BaseNode.tsx
+++ b/frontend/src/components/canvas/nodes/BaseNode.tsx
@@ -156,11 +156,37 @@ export function BaseNode({ id, data, selected, icon: typeIcon, width, height }:
color: theme.colors.nodeSubtextColor,
}}
>
- {svc.service_name}
-
- {svc.port}
-
-
+
+
+ {/* LEFT: service name */}
+
+ {svc.service_name}
+
+
+ {/* RIGHT: path + port */}
+
+ {svc.path && (
+
+ {svc.path}
+
+ )}
+
+
+ {svc.port}
+
+
+
+
)
diff --git a/frontend/src/components/panels/DetailPanel.tsx b/frontend/src/components/panels/DetailPanel.tsx
index 1152112..46dab30 100644
--- a/frontend/src/components/panels/DetailPanel.tsx
+++ b/frontend/src/components/panels/DetailPanel.tsx
@@ -2,7 +2,7 @@ import { createElement, useState } from 'react'
import { X, Edit, Trash2, ExternalLink, Plus, Pencil, Layers, Ungroup, Eye, EyeOff } from 'lucide-react'
import { Button } from '@/components/ui/button'
import { Input } from '@/components/ui/input'
-import { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from '@/components/ui/tooltip'
+
import { useCanvasStore } from '@/stores/canvasStore'
import { NODE_TYPE_LABELS, STATUS_COLORS, type ServiceInfo, type NodeData, type NodeProperty } from '@/types'
import { getServiceUrl } from '@/utils/serviceUrl'
@@ -662,9 +662,6 @@ const CATEGORY_COLORS: Record = {
function ServiceBadge({ svc, host, onEdit, onRemove }: { svc: ServiceInfo; host?: string; onEdit: () => void; onRemove: () => void }) {
const url = getServiceUrl(svc, host)
const color = CATEGORY_COLORS[svc.category ?? ''] ?? '#8b949e'
-
- const hasPort = svc.port != null
- const portLabel = hasPort ? String(svc.port) : 'host'
const pathLabel = svc.path?.trim() ? svc.path.trim() : ''
return (
@@ -680,7 +677,7 @@ function ServiceBadge({ svc, host, onEdit, onRemove }: { svc: ServiceInfo; host?
href={url}
target="_blank"
rel="noopener noreferrer"
- className="font-medium truncate"
+ className="font-medium truncate min-w-0 flex-1"
style={{ color }}
title={svc.service_name}
onClick={e => e.stopPropagation()}
@@ -689,7 +686,7 @@ function ServiceBadge({ svc, host, onEdit, onRemove }: { svc: ServiceInfo; host?
) : (
@@ -698,27 +695,21 @@ function ServiceBadge({ svc, host, onEdit, onRemove }: { svc: ServiceInfo; host?
)}
{pathLabel && (
-
-
-
-
- {pathLabel}
-
-
- {pathLabel}
-
-
+
+ {pathLabel}
+
)}
-
- {portLabel}/{svc.protocol}
-
+ {svc.port != null && (
+
+ {svc.port}/{svc.protocol}
+
+ )}
{url ? (