Skip to content

Commit 8fca358

Browse files
committed
fix(user-modal): simplify WireGuard peer IP parsing logic for improved readability and functionality
1 parent 9cf2ed8 commit 8fca358

File tree

1 file changed

+14
-16
lines changed

1 file changed

+14
-16
lines changed

dashboard/src/components/dialogs/user-modal.tsx

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1206,21 +1206,8 @@ function UserModal({ isDialogOpen, onOpenChange, form, editingUser, editingUserI
12061206
[form, handleFieldChange],
12071207
)
12081208

1209-
/** Preserves blank lines so Enter works in the textarea; empty entries are stripped on save via cleanProxySettings. */
12101209
const parseWireGuardPeerIps = React.useCallback((value: string) => {
1211-
const lines = value.split('\n')
1212-
const result: string[] = []
1213-
for (const line of lines) {
1214-
const parts = line.split(',').map(s => s.trim()).filter(Boolean)
1215-
if (parts.length === 0) {
1216-
if (line.trim() === '') {
1217-
result.push('')
1218-
}
1219-
continue
1220-
}
1221-
result.push(...parts)
1222-
}
1223-
return result
1210+
return value.split('\n')
12241211
}, [])
12251212

12261213
const hasMeaningfulProxyValue = React.useCallback((value: unknown): boolean => {
@@ -1246,7 +1233,18 @@ function UserModal({ isDialogOpen, onOpenChange, form, editingUser, editingUserI
12461233
const cleanedProtocolSettings = Object.entries(settings as Record<string, unknown>).reduce(
12471234
(protocolAcc, [key, value]) => {
12481235
if (Array.isArray(value)) {
1249-
const cleanedList = value.map(item => (typeof item === 'string' ? item.trim() : item)).filter(item => hasMeaningfulProxyValue(item))
1236+
const cleanedList = value
1237+
.flatMap(item => {
1238+
if (typeof item !== 'string') {
1239+
return [item]
1240+
}
1241+
if (protocol === 'wireguard' && key === 'peer_ips') {
1242+
return item.split(',')
1243+
}
1244+
return [item]
1245+
})
1246+
.map(item => (typeof item === 'string' ? item.trim() : item))
1247+
.filter(item => hasMeaningfulProxyValue(item))
12501248

12511249
if (cleanedList.length > 0) {
12521250
protocolAcc[key] = cleanedList
@@ -2807,4 +2805,4 @@ function UserModal({ isDialogOpen, onOpenChange, form, editingUser, editingUserI
28072805
)
28082806
}
28092807

2810-
export default UserModal
2808+
export default UserModal

0 commit comments

Comments
 (0)