From a22483e0568e1a5c6254fb5e2aa15816a3ece349 Mon Sep 17 00:00:00 2001 From: uvok Date: Wed, 6 May 2026 20:18:35 +0200 Subject: Decompose widgets --- lib/widgets/device_details.dart | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) (limited to 'lib/widgets/device_details.dart') diff --git a/lib/widgets/device_details.dart b/lib/widgets/device_details.dart index a865e45..a030144 100644 --- a/lib/widgets/device_details.dart +++ b/lib/widgets/device_details.dart @@ -23,6 +23,10 @@ import 'package:uvok_epaper_badge/model/connection/device_connection.dart'; import 'package:uvok_epaper_badge/model/motive_selection/badge_motive_selection.dart'; import 'package:uvok_epaper_badge/view_model/badge_motive_view_model.dart'; import 'package:uvok_epaper_badge/widgets/badge_motive_list.dart'; +import 'package:uvok_epaper_badge/widgets/connection_status_section.dart'; +import 'package:uvok_epaper_badge/widgets/error_section.dart'; +import 'package:uvok_epaper_badge/widgets/qr_code_entry_section.dart'; +import 'package:uvok_epaper_badge/widgets/refresh_section.dart'; var logger = fileLogger(); @@ -88,35 +92,17 @@ class DeviceDetailsState extends State { body: Center( child: ValueListenableBuilder( valueListenable: widget.deviceConnection.status, - builder: (connCtx, ConnectionStatus value, child) { + builder: (connCtx, ConnectionStatus value, _) { + // final isConnected = value == ConnectionStatus.connected; + return Column( spacing: 20, children: [ SizedBox(height: 20), - Text("Connection state: ${value.toString()}"), - ElevatedButton( - child: Text("Refresh"), - onPressed: () async { - await widget.motiveVM.updateMotives(); - await widget.motiveVM.getCurrentMotive(); - }, - ), - ListenableBuilder( - listenable: widget.motiveVM, - builder: (errorCtx, child) { - if (widget.motiveVM.errorMessage != null) { - var theme = Theme.of(errorCtx); - return Text( - widget.motiveVM.errorMessage!, - style: TextStyle( - color: theme.colorScheme.error, - fontWeight: FontWeight.bold, - ), - ); - } - return Container(); - }, - ), + ConnectionStatusSection(connectionStatus: value), + RefreshSection(motiveVM: widget.motiveVM), + ErrorSection(motiveVM: widget.motiveVM), + QRCodeEntrySection(motiveVM: widget.motiveVM), BadgeMotiveList(motiveVM: widget.motiveVM), ], ); -- cgit v1.2.3