From c4ce6380fbfa55f22e9c20bb2ccffe4456ed9683 Mon Sep 17 00:00:00 2001
From: Matthias Nott <mnott@mnsoft.org>
Date: Sun, 22 Mar 2026 17:37:55 +0100
Subject: [PATCH] feat: MQTT client replaces WebSocket (Phase 2)
---
lib/screens/settings_screen.dart | 22 +++++++++++++++++++++-
1 files changed, 21 insertions(+), 1 deletions(-)
diff --git a/lib/screens/settings_screen.dart b/lib/screens/settings_screen.dart
index 6cb89e7..ed129f8 100644
--- a/lib/screens/settings_screen.dart
+++ b/lib/screens/settings_screen.dart
@@ -3,7 +3,7 @@
import '../models/server_config.dart';
import '../providers/providers.dart';
-import '../services/websocket_service.dart';
+import '../services/websocket_service.dart' show ConnectionStatus;
import '../services/wol_service.dart';
import '../theme/app_theme.dart';
import '../widgets/status_dot.dart';
@@ -21,6 +21,7 @@
late final TextEditingController _remoteHostController;
late final TextEditingController _portController;
late final TextEditingController _macController;
+ late final TextEditingController _mqttTokenController;
bool _isWaking = false;
@override
@@ -35,6 +36,8 @@
TextEditingController(text: '${config?.port ?? 8765}');
_macController =
TextEditingController(text: config?.macAddress ?? '');
+ _mqttTokenController =
+ TextEditingController(text: config?.mqttToken ?? '');
}
@override
@@ -43,6 +46,7 @@
_remoteHostController.dispose();
_portController.dispose();
_macController.dispose();
+ _mqttTokenController.dispose();
super.dispose();
}
@@ -58,6 +62,9 @@
macAddress: _macController.text.trim().isEmpty
? null
: _macController.text.trim(),
+ mqttToken: _mqttTokenController.text.trim().isEmpty
+ ? null
+ : _mqttTokenController.text.trim(),
);
await ref.read(serverConfigProvider.notifier).save(config);
@@ -183,6 +190,19 @@
hintText: 'AA:BB:CC:DD:EE:FF',
),
),
+ const SizedBox(height: 16),
+
+ // MQTT Token
+ Text('MQTT Token',
+ style: Theme.of(context).textTheme.bodyMedium),
+ const SizedBox(height: 4),
+ TextFormField(
+ controller: _mqttTokenController,
+ decoration: const InputDecoration(
+ hintText: 'Shared secret for MQTT auth',
+ ),
+ obscureText: true,
+ ),
const SizedBox(height: 24),
// Save button
--
Gitblit v1.3.1