diff --git a/src/components/Dialog/QRDialog.tsx b/src/components/Dialog/QRDialog.tsx index 9a94e073..e58455b3 100644 --- a/src/components/Dialog/QRDialog.tsx +++ b/src/components/Dialog/QRDialog.tsx @@ -30,6 +30,7 @@ export const QRDialog = ({ }: QRDialogProps): JSX.Element => { const [selectedChannels, setSelectedChannels] = useState([0]); const [qrCodeUrl, setQrCodeUrl] = useState(""); + const [qrCodeAdd, setQrCodeAdd] = useState(); const allChannels = Array.from(channels.values()); @@ -49,8 +50,8 @@ export const QRDialog = ({ .replace(/\+/g, "-") .replace(/\//g, "_"); - setQrCodeUrl(`https://meshtastic.org/e/#${base64}`); - }, [channels, selectedChannels, loraConfig]); + setQrCodeUrl(`https://meshtastic.org/e/#${base64}${qrCodeAdd ? "?add=true" : ""}`); + }, [channels, selectedChannels, qrCodeAdd, loraConfig]); return ( @@ -94,6 +95,22 @@ export const QRDialog = ({ +
+ + +
diff --git a/src/validation/config/position.ts b/src/validation/config/position.ts index 752a7093..52a7a94d 100644 --- a/src/validation/config/position.ts +++ b/src/validation/config/position.ts @@ -5,6 +5,12 @@ import { IsArray, IsBoolean, IsEnum, IsInt } from "class-validator"; export class PositionValidation implements Omit { + @IsBoolean() + gpsEnabled: boolean; + + @IsInt() + gpsAttemptTime: number; + @IsInt() positionBroadcastSecs: number;