Fix setup wizard: align field names with API (domain_type→domain_mode, services→services_enabled)
Unit Tests / test (push) Successful in 8m52s
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:
@@ -538,10 +538,10 @@ function ReviewRow({ label, value }) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function Step7Review({ fields, onBack, onSubmit, submitting, submitError }) {
|
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 ddnsLabel = DDNS_OPTIONS.find(o => o.value === fields.ddns_provider)?.label || fields.ddns_provider;
|
||||||
const serviceLabels = fields.services.length
|
const serviceLabels = (fields.services_enabled || []).length
|
||||||
? fields.services.map(k => OPTIONAL_SERVICES.find(s => s.key === k)?.label || k).join(', ')
|
? fields.services_enabled.map(k => OPTIONAL_SERVICES.find(s => s.key === k)?.label || k).join(', ')
|
||||||
: 'None selected';
|
: 'None selected';
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -555,7 +555,7 @@ function Step7Review({ fields, onBack, onSubmit, submitting, submitError }) {
|
|||||||
<ReviewRow label="Cell name" value={fields.cell_name} />
|
<ReviewRow label="Cell name" value={fields.cell_name} />
|
||||||
<ReviewRow label="Admin password" value="••••••••••••" />
|
<ReviewRow label="Admin password" value="••••••••••••" />
|
||||||
<ReviewRow label="Domain type" value={domainLabel} />
|
<ReviewRow label="Domain type" value={domainLabel} />
|
||||||
{fields.domain_type !== 'lan_only' && (
|
{fields.domain_mode !== 'lan_only' && (
|
||||||
<ReviewRow label="DDNS provider" value={ddnsLabel} />
|
<ReviewRow label="DDNS provider" value={ddnsLabel} />
|
||||||
)}
|
)}
|
||||||
<ReviewRow label="Optional services" value={serviceLabels} />
|
<ReviewRow label="Optional services" value={serviceLabels} />
|
||||||
@@ -623,9 +623,9 @@ export default function Setup() {
|
|||||||
const payload = {
|
const payload = {
|
||||||
cell_name: cellName,
|
cell_name: cellName,
|
||||||
password,
|
password,
|
||||||
domain_type: domainType,
|
domain_mode: domainType,
|
||||||
...(skipDdns ? {} : { ddns_provider: ddnsProvider }),
|
...(skipDdns ? {} : { ddns_provider: ddnsProvider }),
|
||||||
services,
|
services_enabled: services,
|
||||||
timezone,
|
timezone,
|
||||||
};
|
};
|
||||||
try {
|
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) {
|
if (done) {
|
||||||
return (
|
return (
|
||||||
|
|||||||
Reference in New Issue
Block a user