refactor: Clean checkin override parsing and require node type in frontend configuration modal
Build & Deploy / Build & push images (push) Successful in 4m0s
Build & Deploy / Deploy to VM (push) Failing after 2m12s

This commit is contained in:
Logan Cusano
2026-07-12 23:20:39 -04:00
parent c42bd1902c
commit 2e3fde2448
2 changed files with 13 additions and 9 deletions
+5 -3
View File
@@ -20,7 +20,7 @@ export function NodeConfigModal({ node, systems, onClose }: Props) {
const [systemId, setSystemId] = useState(node.assigned_system_id ?? "");
const [preset, setPreset] = useState(node.hardware_preset ?? "rtl-sdr-v3");
const [ppm, setPpm] = useState(node.ppm_override ? String(node.ppm_override) : "0");
const [nodeType, setNodeType] = useState(node.node_type ?? "fixed");
const [nodeType, setNodeType] = useState(node.node_type ?? "");
const [enforceTimeout, setEnforceTimeout] = useState(node.enforce_override_timeout ?? true);
const [saving, setSaving] = useState(false);
const [error, setError] = useState<string | null>(null);
@@ -107,12 +107,14 @@ export function NodeConfigModal({ node, systems, onClose }: Props) {
</div>
<div>
<label className="block text-xs text-gray-400 mb-1">Node Type</label>
<label className="block text-xs text-gray-400 mb-1">Node Type *</label>
<select
value={nodeType}
onChange={(e) => setNodeType(e.target.value)}
className="w-full bg-gray-800 border border-gray-700 rounded-lg px-3 py-2 text-white text-sm focus:outline-none focus:border-indigo-500"
required
>
<option value="">Select node type...</option>
<option value="fixed">Fixed Node (Standard)</option>
<option value="portable">Portable Node (Handheld)</option>
</select>
@@ -138,7 +140,7 @@ export function NodeConfigModal({ node, systems, onClose }: Props) {
<div className="flex gap-3 pt-1">
<button
type="submit"
disabled={saving || !systemId}
disabled={saving || !systemId || !nodeType}
className="flex-1 bg-indigo-600 hover:bg-indigo-500 disabled:opacity-50 text-white rounded-lg py-2 text-sm font-semibold transition-colors"
>
{saving ? "Saving…" : "Assign & Configure"}