Skip to content

Commit

Permalink
fix process-name/ipcidr copy
Browse files Browse the repository at this point in the history
  • Loading branch information
xishang0128 committed Nov 23, 2024
1 parent 22c35b6 commit b550d9f
Showing 1 changed file with 18 additions and 20 deletions.
38 changes: 18 additions & 20 deletions src/renderer/src/components/connections/connection-detail-modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ const CopyableSettingItem: React.FC<{
value: string | string[]
displayName?: string
prefix?: string[]
suffix?: string
}> = ({ title, value, displayName, prefix = [], suffix = '' }) => {
}> = ({ title, value, displayName, prefix = [] }) => {
const getSubDomains = (domain: string): string[] =>
domain.split('.').length <= 2
? [domain]
: domain
.split('.')
.map((_, i, parts) => parts.slice(i).join('.'))
.slice(0, -1)
const isIPv6 = (ip: string) => ip.includes(':')

const menuItems = [
{ key: 'raw', text: displayName || (Array.isArray(value) ? value.join(', ') : value) },
Expand All @@ -43,8 +43,8 @@ const CopyableSettingItem: React.FC<{
.map((p, i) =>
value[i]
? {
key: `${p},${p === 'IP-ASN' ? value[i].split(' ')[0] : value[i]}${suffix}`,
text: `${p},${p === 'IP-ASN' ? value[i].split(' ')[0] : value[i]}${suffix}`
key: `${p},${p === 'IP-ASN' ? value[i].split(' ')[0] : value[i]}${(p === 'IP-CIDR' || p === 'SRC-IP-CIDR') ? (isIPv6(value[i]) ? '/128' : '/32') : ''}`,
text: `${p},${p === 'IP-ASN' ? value[i].split(' ')[0] : value[i]}${(p === 'IP-CIDR' || p === 'SRC-IP-CIDR') ? (isIPv6(value[i]) ? '/128' : '/32') : ''}`
}
: null
)
Expand All @@ -55,40 +55,40 @@ const CopyableSettingItem: React.FC<{
.map((v) =>
p === 'DOMAIN-SUFFIX'
? getSubDomains(v).map((subV) => ({
key: `${p},${subV}${suffix}`,
text: `${p},${subV}${suffix}`
key: `${p},${subV}`,
text: `${p},${subV}`
}))
: p === 'IP-ASN' || p === 'SRC-IP-ASN'
? [
{
key: `${p},${v.split(' ')[0]}${suffix}`,
text: `${p},${v.split(' ')[0]}${suffix}`
key: `${p},${v.split(' ')[0]}`,
text: `${p},${v.split(' ')[0]}`
}
]
: [
{
key: `${p},${v}${suffix}`,
text: `${p},${v}${suffix}`
key: `${p},${v}${(p === 'IP-CIDR' || p === 'SRC-IP-CIDR') ? (isIPv6(v) ? '/128' : '/32') : ''}`,
text: `${p},${v}${(p === 'IP-CIDR' || p === 'SRC-IP-CIDR') ? (isIPv6(v) ? '/128' : '/32') : ''}`
}
]
)
.flat()
: p === 'DOMAIN-SUFFIX'
? getSubDomains(value).map((v) => ({
key: `${p},${v}${suffix}`,
text: `${p},${v}${suffix}`
key: `${p},${v}`,
text: `${p},${v}`
}))
: p === 'IP-ASN' || p === 'SRC-IP-ASN'
? [
{
key: `${p},${value.split(' ')[0]}${suffix}`,
text: `${p},${value.split(' ')[0]}${suffix}`
key: `${p},${value.split(' ')[0]}`,
text: `${p},${value.split(' ')[0]}`
}
]
: [
{
key: `${p},${value}${suffix}`,
text: `${p},${value}${suffix}`
key: `${p},${value}${(p === 'IP-CIDR' || p === 'SRC-IP-CIDR') ? (isIPv6(value) ? '/128' : '/32') : ''}`,
text: `${p},${value}${(p === 'IP-CIDR' || p === 'SRC-IP-CIDR') ? (isIPv6(value) ? '/128' : '/32') : ''}`
}
]
))
Expand Down Expand Up @@ -175,10 +175,10 @@ const ConnectionDetailModal: React.FC<Props> = (props) => {
title="进程名"
value={[
connection.metadata.process,
connection.metadata.uid ? connection.metadata.uid.toString() : ''
...(connection.metadata.uid ? [connection.metadata.uid.toString()] : [])
]}
displayName={`${connection.metadata.process}${connection.metadata.uid ? `(${connection.metadata.uid})` : ''}`}
prefix={['PROCESS-NAME', 'UID']}
prefix={['PROCESS-NAME', ...(connection.metadata.uid ? ['UID'] : [])]}
/>
)}
{connection.metadata.processPath && (
Expand All @@ -193,7 +193,6 @@ const ConnectionDetailModal: React.FC<Props> = (props) => {
title="来源IP"
value={connection.metadata.sourceIP}
prefix={['SRC-IP-CIDR']}
suffix="/32"
/>
)}
{connection.metadata.sourceGeoIP && connection.metadata.sourceGeoIP.length > 0 && (
Expand All @@ -215,7 +214,6 @@ const ConnectionDetailModal: React.FC<Props> = (props) => {
title="目标IP"
value={connection.metadata.destinationIP}
prefix={['IP-CIDR']}
suffix="/32"
/>
)}
{connection.metadata.destinationGeoIP &&
Expand Down

0 comments on commit b550d9f

Please sign in to comment.