diff --git a/frontend/src/components/panels/DetailPanel.tsx b/frontend/src/components/panels/DetailPanel.tsx index 86ad5be..47b0f1d 100644 --- a/frontend/src/components/panels/DetailPanel.tsx +++ b/frontend/src/components/panels/DetailPanel.tsx @@ -506,11 +506,33 @@ function ServiceForm({ form, onChange, onConfirm, onCancel, confirmLabel, autoFo confirmLabel: string autoFocus?: boolean }) { + const setPort = (value: string) => { + const digitsOnly = value.replace(/\D/g, '').slice(0, 5) + onChange({ ...form, port: digitsOnly }) + } + + const clampPort = (value: string) => { + if (!value) return '' + const parsed = Number.parseInt(value, 10) + if (!Number.isFinite(parsed)) return '' + return String(Math.max(1, Math.min(65535, parsed))) + } + return (