From afef7806110a067b97443386c127f1c3a0e4a6ab Mon Sep 17 00:00:00 2001 From: Hunter Thornsberry Date: Tue, 17 Sep 2024 00:04:03 -0400 Subject: [PATCH] ability to set, oddly the octet direction is reversed --- .../PageComponents/Config/Network.tsx | 18 ++++++++++++++++-- src/validation/config/network.ts | 10 ++++------ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/components/PageComponents/Config/Network.tsx b/src/components/PageComponents/Config/Network.tsx index 1b31db59..d8f93490 100644 --- a/src/components/PageComponents/Config/Network.tsx +++ b/src/components/PageComponents/Config/Network.tsx @@ -14,7 +14,12 @@ export const Network = (): JSX.Element => { value: { ...data, ipv4Config: new Protobuf.Config.Config_NetworkConfig_IpV4Config( - data.ipv4Config, + { + ip: data.ipv4Config.ip.split('.').reverse().reduce((ipnum, octet) => { return (ipnum<<8) + parseInt(octet)}, 0) >>> 0, + subnet: data.ipv4Config.subnet.split('.').reverse().reduce((ipnum, octet) => { return (ipnum<<8) + parseInt(octet)}, 0) >>> 0, + gateway: data.ipv4Config.gateway.split('.').reverse().reduce((ipnum, octet) => { return (ipnum<<8) + parseInt(octet)}, 0) >>> 0, + dns: data.ipv4Config.dns.split('.').reverse().reduce((ipnum, octet) => { return (ipnum<<8) + parseInt(octet)}, 0) >>> 0, + } ), }, }, @@ -25,7 +30,16 @@ export const Network = (): JSX.Element => { return ( onSubmit={onSubmit} - defaultValues={config.network} + defaultValues={{ + ...config.network, + ipv4Config: { + ip: + config.network?.ipv4Config?.ip.toString() ?? "0", + subnet: config.network?.ipv4Config?.subnet.toString() ?? "0", + gateway: config.network?.ipv4Config?.gateway.toString() ?? "0", + dns: config.network?.ipv4Config?.dns.toString() ?? "0", + } + }} fieldGroups={[ { label: "WiFi Config", diff --git a/src/validation/config/network.ts b/src/validation/config/network.ts index 8f851d69..6469a022 100644 --- a/src/validation/config/network.ts +++ b/src/validation/config/network.ts @@ -40,22 +40,20 @@ export class NetworkValidation } export class NetworkValidationIpV4Config - implements - Omit { @IsIP() @IsOptional() - ip: number; + ip: string; @IsIP() @IsOptional() - gateway: number; + gateway: string; @IsIP() @IsOptional() - subnet: number; + subnet: string; @IsIP() @IsOptional() - dns: number; + dns: string; }