From 5df16f376d6bfa2316991743d8ffc3d481536bee Mon Sep 17 00:00:00 2001 From: stopflock Date: Tue, 3 Feb 2026 17:00:02 -0600 Subject: [PATCH] Move upload queue pause toggle from offline to queue page in settings --- README.md | 1 - assets/changelog.json | 3 ++- .../sections/offline_mode_section.dart | 22 +--------------- lib/screens/upload_queue_screen.dart | 25 +++++++++++++++++++ 4 files changed, 28 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 3555b16..77af7d7 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,6 @@ cp lib/keys.dart.example lib/keys.dart ### Needed Bugfixes - Imperial units - Pass through tags on existing nodes which are not included in selected profile to the refine tags page, much like we do for all tags when "existing tags" profile is selected -- Move "pause queue" toggle - Make submission guide scarier - Tile cache trimming? Does fluttermap handle? - Filter NSI suggestions based on what has already been typed in diff --git a/assets/changelog.json b/assets/changelog.json index 0556bde..c3a6524 100644 --- a/assets/changelog.json +++ b/assets/changelog.json @@ -4,7 +4,8 @@ "• Improved first launch experience - location permission is now requested immediately after welcome dialog", "• Notification permission is now requested only when user enables proximity alerts (better UX)", "• Prevent edit submissions where nothing (location, tags, direction) has been changed", - "• Allow customizing changeset comment on refine tags page" + "• Allow customizing changeset comment on refine tags page", + "• Moved upload queue pause toggle to upload queue screen for better discoverability" ] }, "2.6.2": { diff --git a/lib/screens/settings/sections/offline_mode_section.dart b/lib/screens/settings/sections/offline_mode_section.dart index 051726d..cd60367 100644 --- a/lib/screens/settings/sections/offline_mode_section.dart +++ b/lib/screens/settings/sections/offline_mode_section.dart @@ -77,27 +77,7 @@ class OfflineModeSection extends StatelessWidget { onChanged: (value) => _handleOfflineModeChange(context, appState, value), ), ), - const SizedBox(height: 8), - ListTile( - leading: Icon( - Icons.pause_circle_outline, - color: appState.offlineMode - ? Theme.of(context).disabledColor - : Theme.of(context).iconTheme.color, - ), - title: Text( - locService.t('settings.pauseQueueProcessingSubtitle'), - style: appState.offlineMode - ? TextStyle(color: Theme.of(context).disabledColor) - : null, - ), - trailing: Switch( - value: appState.pauseQueueProcessing, - onChanged: appState.offlineMode - ? null // Disable when offline mode is on - : (value) => appState.setPauseQueueProcessing(value), - ), - ), + ], ); }, diff --git a/lib/screens/upload_queue_screen.dart b/lib/screens/upload_queue_screen.dart index 2433d46..3221030 100644 --- a/lib/screens/upload_queue_screen.dart +++ b/lib/screens/upload_queue_screen.dart @@ -148,6 +148,31 @@ class UploadQueueScreen extends StatelessWidget { ], ), ), + // Pause Upload Queue Toggle + ListTile( + leading: Icon( + Icons.pause_circle_outline, + color: appState.offlineMode + ? Theme.of(context).disabledColor + : Theme.of(context).iconTheme.color, + ), + title: Text(locService.t('settings.pauseQueueProcessing')), + subtitle: Text( + locService.t('settings.pauseQueueProcessingSubtitle'), + style: appState.offlineMode + ? TextStyle(color: Theme.of(context).disabledColor) + : null, + ), + trailing: Switch( + value: appState.pauseQueueProcessing, + onChanged: appState.offlineMode + ? null // Disable when offline mode is on + : (value) => appState.setPauseQueueProcessing(value), + ), + ), + + const SizedBox(height: 16), + // Clear Upload Queue button - always visible SizedBox( width: double.infinity,