Fix setup wizard: align field names with API (domain_type→domain_mode, services→services_enabled)
Unit Tests / test (push) Successful in 8m52s

The wizard was sending domain_type and services but the API expected
domain_mode and services_enabled, causing a validation error on submit.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-11 05:36:18 -04:00
parent 1989dfa0a3
commit 1e2cf5580f
+7 -7
View File
@@ -538,10 +538,10 @@ function ReviewRow({ label, value }) {
}
function Step7Review({ fields, onBack, onSubmit, submitting, submitError }) {
const domainLabel = DOMAIN_OPTIONS.find(o => o.value === fields.domain_type)?.label || fields.domain_type;
const domainLabel = DOMAIN_OPTIONS.find(o => o.value === fields.domain_mode)?.label || fields.domain_mode;
const ddnsLabel = DDNS_OPTIONS.find(o => o.value === fields.ddns_provider)?.label || fields.ddns_provider;
const serviceLabels = fields.services.length
? fields.services.map(k => OPTIONAL_SERVICES.find(s => s.key === k)?.label || k).join(', ')
const serviceLabels = (fields.services_enabled || []).length
? fields.services_enabled.map(k => OPTIONAL_SERVICES.find(s => s.key === k)?.label || k).join(', ')
: 'None selected';
return (
@@ -555,7 +555,7 @@ function Step7Review({ fields, onBack, onSubmit, submitting, submitError }) {
<ReviewRow label="Cell name" value={fields.cell_name} />
<ReviewRow label="Admin password" value="••••••••••••" />
<ReviewRow label="Domain type" value={domainLabel} />
{fields.domain_type !== 'lan_only' && (
{fields.domain_mode !== 'lan_only' && (
<ReviewRow label="DDNS provider" value={ddnsLabel} />
)}
<ReviewRow label="Optional services" value={serviceLabels} />
@@ -623,9 +623,9 @@ export default function Setup() {
const payload = {
cell_name: cellName,
password,
domain_type: domainType,
domain_mode: domainType,
...(skipDdns ? {} : { ddns_provider: ddnsProvider }),
services,
services_enabled: services,
timezone,
};
try {
@@ -642,7 +642,7 @@ export default function Setup() {
}
};
const allFields = { cell_name: cellName, domain_type: domainType, ddns_provider: ddnsProvider, services, timezone };
const allFields = { cell_name: cellName, domain_mode: domainType, ddns_provider: ddnsProvider, services_enabled: services, timezone };
if (done) {
return (