From 2b59de91c7c5cbea78fb7acd7fb0acb070f35736 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Fri, 24 Apr 2026 14:19:07 +0200 Subject: [PATCH] chore: dart format --- lib/main.dart | 14 ++++------ lib/models/trackers/anime_ids.dart | 7 ++--- lib/models/trakt/trakt_ids.dart | 6 +--- lib/providers/trackers_provider.dart | 15 ++-------- lib/providers/trakt_account_provider.dart | 5 +--- .../tracker_library_filter_screen.dart | 4 +-- .../settings/tracker_settings_screen.dart | 9 ++---- .../settings/trackers_settings_screen.dart | 6 ++-- .../settings/trakt_settings_screen.dart | 1 - lib/services/download_manager_service.dart | 28 ++++++++----------- lib/services/settings_service.dart | 10 ++++--- .../trackers/anilist/anilist_session.dart | 13 ++------- .../trackers/device_code_auth_service.dart | 14 ++-------- .../trackers/fribb_mapping_store.dart | 5 +--- lib/services/trackers/mal/mal_client.dart | 4 ++- .../trackers/simkl/simkl_auth_service.dart | 5 +--- .../trackers/simkl/simkl_session.dart | 6 +--- .../trackers/tracker_coordinator.dart | 24 +++++++--------- .../trackers/tracker_id_resolver.dart | 9 ++---- lib/services/trakt/trakt_sync_service.dart | 3 +- lib/widgets/device_code_dialog.dart | 11 ++------ lib/widgets/oauth_proxy_dialog.dart | 18 ++---------- 22 files changed, 66 insertions(+), 151 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index 7d30b643..84bc3b33 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -813,11 +813,7 @@ class _TrackerProfileBootstrap extends StatefulWidget { final List Function(String? uuid)> onProfileChanged; final VoidCallback? onFirstMount; - const _TrackerProfileBootstrap({ - required this.child, - required this.onProfileChanged, - this.onFirstMount, - }); + const _TrackerProfileBootstrap({required this.child, required this.onProfileChanged, this.onFirstMount}); @override State<_TrackerProfileBootstrap> createState() => _TrackerProfileBootstrapState(); @@ -851,9 +847,11 @@ class _TrackerProfileBootstrapState extends State<_TrackerProfileBootstrap> { if (uuid == _lastUuid) return; _lastUuid = uuid; for (final fn in widget.onProfileChanged) { - unawaited(fn(uuid).catchError((Object e, StackTrace s) { - appLogger.w('Tracker profile bootstrap failed', error: e, stackTrace: s); - })); + unawaited( + fn(uuid).catchError((Object e, StackTrace s) { + appLogger.w('Tracker profile bootstrap failed', error: e, stackTrace: s); + }), + ); } } diff --git a/lib/models/trackers/anime_ids.dart b/lib/models/trackers/anime_ids.dart index 3174a712..ad686f5e 100644 --- a/lib/models/trackers/anime_ids.dart +++ b/lib/models/trackers/anime_ids.dart @@ -12,9 +12,6 @@ class AnimeIds { const AnimeIds({this.mal, this.anilist, this.simkl}); - factory AnimeIds.fromFribb(FribbMappingRow row) => AnimeIds( - mal: row.malId, - anilist: row.anilistId, - simkl: row.simklId, - ); + factory AnimeIds.fromFribb(FribbMappingRow row) => + AnimeIds(mal: row.malId, anilist: row.anilistId, simkl: row.simklId); } diff --git a/lib/models/trakt/trakt_ids.dart b/lib/models/trakt/trakt_ids.dart index 068d03d6..698fad6e 100644 --- a/lib/models/trakt/trakt_ids.dart +++ b/lib/models/trakt/trakt_ids.dart @@ -32,9 +32,5 @@ class TraktIds { tvdb: (json['tvdb'] as num?)?.toInt(), ); - factory TraktIds.fromExternal(PlexExternalIds ids) => TraktIds( - imdb: ids.imdb, - tmdb: ids.tmdb, - tvdb: ids.tvdb, - ); + factory TraktIds.fromExternal(PlexExternalIds ids) => TraktIds(imdb: ids.imdb, tmdb: ids.tmdb, tvdb: ids.tvdb); } diff --git a/lib/providers/trackers_provider.dart b/lib/providers/trackers_provider.dart index 0c4a4dca..27de6945 100644 --- a/lib/providers/trackers_provider.dart +++ b/lib/providers/trackers_provider.dart @@ -83,10 +83,7 @@ class TrackersProvider extends ChangeNotifier { Future connectMal({required void Function(OAuthProxyStart) onCodeReady}) => _runConnect( service: TrackerService.mal, alreadyConnected: isMalConnected, - authorize: () => _malAuth.authorize( - onCodeReady: onCodeReady, - shouldCancel: () => _cancelRequested, - ), + authorize: () => _malAuth.authorize(onCodeReady: onCodeReady, shouldCancel: () => _cancelRequested), enrich: _enrichMal, store: malAccountStore, assign: (s) { @@ -103,10 +100,7 @@ class TrackersProvider extends ChangeNotifier { Future connectAnilist({required void Function(OAuthProxyStart) onCodeReady}) => _runConnect( service: TrackerService.anilist, alreadyConnected: isAnilistConnected, - authorize: () => _anilistAuth.authorize( - onCodeReady: onCodeReady, - shouldCancel: () => _cancelRequested, - ), + authorize: () => _anilistAuth.authorize(onCodeReady: onCodeReady, shouldCancel: () => _cancelRequested), enrich: _enrichAnilist, store: anilistAccountStore, assign: (s) { @@ -123,10 +117,7 @@ class TrackersProvider extends ChangeNotifier { Future connectSimkl({required void Function(DeviceCode code) onCodeReady}) => _runConnect( service: TrackerService.simkl, alreadyConnected: isSimklConnected, - authorize: () => _simklAuth.authorize( - onCodeReady: onCodeReady, - shouldCancel: () => _cancelRequested, - ), + authorize: () => _simklAuth.authorize(onCodeReady: onCodeReady, shouldCancel: () => _cancelRequested), enrich: _enrichSimkl, store: simklAccountStore, assign: (s) { diff --git a/lib/providers/trakt_account_provider.dart b/lib/providers/trakt_account_provider.dart index 1367df65..64515ff0 100644 --- a/lib/providers/trakt_account_provider.dart +++ b/lib/providers/trakt_account_provider.dart @@ -53,10 +53,7 @@ class TraktAccountProvider extends ChangeNotifier { try { return await runConnectPipeline( logLabel: 'Trakt', - authorize: () => _auth.authorize( - onCodeReady: onCodeReady, - shouldCancel: () => _cancelRequested, - ), + authorize: () => _auth.authorize(onCodeReady: onCodeReady, shouldCancel: () => _cancelRequested), enrich: _enrichUsername, save: (s) => _store.save(_activeUserUuid, s), assign: _setSessionAndRebind, diff --git a/lib/screens/settings/tracker_library_filter_screen.dart b/lib/screens/settings/tracker_library_filter_screen.dart index e43e041b..c7399762 100644 --- a/lib/screens/settings/tracker_library_filter_screen.dart +++ b/lib/screens/settings/tracker_library_filter_screen.dart @@ -154,9 +154,7 @@ class _TrackerLibraryFilterScreenState extends State return FocusedScrollScaffold( title: title, - slivers: [ - SliverList(delegate: SliverChildListDelegate(children)), - ], + slivers: [SliverList(delegate: SliverChildListDelegate(children))], ); }, ); diff --git a/lib/screens/settings/tracker_settings_screen.dart b/lib/screens/settings/tracker_settings_screen.dart index 052b30be..d77f4f20 100644 --- a/lib/screens/settings/tracker_settings_screen.dart +++ b/lib/screens/settings/tracker_settings_screen.dart @@ -198,9 +198,7 @@ class _TrackerSettingsScreenState extends State { ListTile( leading: const AppIcon(Symbols.account_circle_rounded, fill: 1), title: Text( - username != null - ? t.trackers.connectedAs(username: username) - : widget.config.displayName, + username != null ? t.trackers.connectedAs(username: username) : widget.config.displayName, ), ), SettingsSectionHeader(t.settings.behavior), @@ -231,10 +229,7 @@ class _TrackerSettingsScreenState extends State { const Divider(height: 32), ListTile( leading: AppIcon(Symbols.link_off_rounded, fill: 1, color: Theme.of(context).colorScheme.error), - title: Text( - t.common.disconnect, - style: TextStyle(color: Theme.of(context).colorScheme.error), - ), + title: Text(t.common.disconnect, style: TextStyle(color: Theme.of(context).colorScheme.error)), onTap: () => _disconnect(account), ), const SizedBox(height: 24), diff --git a/lib/screens/settings/trackers_settings_screen.dart b/lib/screens/settings/trackers_settings_screen.dart index 65b309b3..ce67e1aa 100644 --- a/lib/screens/settings/trackers_settings_screen.dart +++ b/lib/screens/settings/trackers_settings_screen.dart @@ -27,9 +27,9 @@ class TrackersSettingsScreen extends StatelessWidget { padding: const EdgeInsets.fromLTRB(16, 8, 16, 16), child: Text( t.trackers.hubSubtitle, - style: Theme.of(context).textTheme.bodyMedium?.copyWith( - color: Theme.of(context).colorScheme.onSurfaceVariant, - ), + style: Theme.of( + context, + ).textTheme.bodyMedium?.copyWith(color: Theme.of(context).colorScheme.onSurfaceVariant), ), ), _trakt(), diff --git a/lib/screens/settings/trakt_settings_screen.dart b/lib/screens/settings/trakt_settings_screen.dart index 4d64f9e9..0267c8c6 100644 --- a/lib/screens/settings/trakt_settings_screen.dart +++ b/lib/screens/settings/trakt_settings_screen.dart @@ -162,4 +162,3 @@ class _TraktSettingsScreenState extends State { ); } } - diff --git a/lib/services/download_manager_service.dart b/lib/services/download_manager_service.dart index 3816beb2..d1c49f5c 100644 --- a/lib/services/download_manager_service.dart +++ b/lib/services/download_manager_service.dart @@ -402,11 +402,13 @@ class DownloadManagerService { final saf = SafStorageService.instance; final children = await saf.list(dirUri); if (children != null && children.isNotEmpty) { - await Future.wait(children.map((child) { - return child.isDir - ? _deleteSafDirRecursive(child.uri, description: description) - : saf.delete(child.uri, isDir: false); - })); + await Future.wait( + children.map((child) { + return child.isDir + ? _deleteSafDirRecursive(child.uri, description: description) + : saf.delete(child.uri, isDir: false); + }), + ); } await _tryDeleteSaf(dirUri, isDir: true, description: description); } @@ -1491,24 +1493,16 @@ class DownloadManagerService { final isSaf = _storageService.isUsingSaf; switch (metadata.mediaType) { case PlexMediaType.episode: - isSaf - ? await _deleteEpisodeFilesSaf(metadata, serverId) - : await _deleteEpisodeFiles(metadata, serverId); + isSaf ? await _deleteEpisodeFilesSaf(metadata, serverId) : await _deleteEpisodeFiles(metadata, serverId); break; case PlexMediaType.season: - isSaf - ? await _deleteSeasonFilesSaf(metadata, serverId) - : await _deleteSeasonFiles(metadata, serverId); + isSaf ? await _deleteSeasonFilesSaf(metadata, serverId) : await _deleteSeasonFiles(metadata, serverId); break; case PlexMediaType.show: - isSaf - ? await _deleteShowFilesSaf(metadata, serverId) - : await _deleteShowFiles(metadata, serverId); + isSaf ? await _deleteShowFilesSaf(metadata, serverId) : await _deleteShowFiles(metadata, serverId); break; case PlexMediaType.movie: - isSaf - ? await _deleteMovieFilesSaf(metadata, serverId) - : await _deleteMovieFiles(metadata, serverId); + isSaf ? await _deleteMovieFilesSaf(metadata, serverId) : await _deleteMovieFiles(metadata, serverId); break; default: appLogger.w('Unknown type for deletion: ${metadata.type}'); diff --git a/lib/services/settings_service.dart b/lib/services/settings_service.dart index 2906ccd0..89b602de 100644 --- a/lib/services/settings_service.dart +++ b/lib/services/settings_service.dart @@ -1567,10 +1567,12 @@ class SettingsService extends BaseSharedPreferencesService { prefs.remove(_keyEnableMalScrobble), prefs.remove(_keyEnableAnilistScrobble), prefs.remove(_keyEnableSimklScrobble), - ...TrackerService.values.expand((s) => [ - prefs.remove('$_prefixTrackerLibraryFilterMode${s.name}'), - prefs.remove('$_prefixTrackerLibraryFilterIds${s.name}'), - ]), + ...TrackerService.values.expand( + (s) => [ + prefs.remove('$_prefixTrackerLibraryFilterMode${s.name}'), + prefs.remove('$_prefixTrackerLibraryFilterIds${s.name}'), + ], + ), prefs.remove(_keyAutoPip), prefs.remove(_keyMatchContentFrameRate), prefs.remove(_keyTunneledPlayback), diff --git a/lib/services/trackers/anilist/anilist_session.dart b/lib/services/trackers/anilist/anilist_session.dart index 0d26bf05..0ee81b4b 100644 --- a/lib/services/trackers/anilist/anilist_session.dart +++ b/lib/services/trackers/anilist/anilist_session.dart @@ -12,12 +12,7 @@ class AnilistSession { final String? username; final int createdAt; - const AnilistSession({ - required this.accessToken, - required this.expiresAt, - required this.createdAt, - this.username, - }); + const AnilistSession({required this.accessToken, required this.expiresAt, required this.createdAt, this.username}); bool get isExpired => DateTime.now().millisecondsSinceEpoch ~/ 1000 >= expiresAt; @@ -50,11 +45,7 @@ class AnilistSession { factory AnilistSession.fromProxyResult(OAuthProxyResult r) { final createdAt = DateTime.now().millisecondsSinceEpoch ~/ 1000; final expiresIn = r.expiresIn ?? 365 * 24 * 60 * 60; - return AnilistSession( - accessToken: r.accessToken, - expiresAt: createdAt + expiresIn, - createdAt: createdAt, - ); + return AnilistSession(accessToken: r.accessToken, expiresAt: createdAt + expiresIn, createdAt: createdAt); } String encode() => json.encode(toJson()); diff --git a/lib/services/trackers/device_code_auth_service.dart b/lib/services/trackers/device_code_auth_service.dart index d7803208..c0709abf 100644 --- a/lib/services/trackers/device_code_auth_service.dart +++ b/lib/services/trackers/device_code_auth_service.dart @@ -16,8 +16,7 @@ import 'device_code_poller.dart' as poller; abstract class DeviceCodeAuthServiceBase { final http.Client httpClient; - DeviceCodeAuthServiceBase({http.Client? httpClient}) - : httpClient = httpClient ?? platform.createPlatformClient(); + DeviceCodeAuthServiceBase({http.Client? httpClient}) : httpClient = httpClient ?? platform.createPlatformClient(); void dispose() => httpClient.close(); @@ -33,17 +32,10 @@ abstract class DeviceCodeAuthServiceBase { /// Drive the full flow. Invokes [onCodeReady] once with the code so the UI /// can render the dialog, then polls until the user authorizes, denies, or /// the code expires. Returns null on denied/expired/cancel. - Future authorize({ - required void Function(DeviceCode code) onCodeReady, - bool Function()? shouldCancel, - }) async { + Future authorize({required void Function(DeviceCode code) onCodeReady, bool Function()? shouldCancel}) async { final code = await createDeviceCode(); onCodeReady(code); - await for (final event in poller.pollDeviceCode( - code, - shouldCancel: shouldCancel, - probe: () => probe(code), - )) { + await for (final event in poller.pollDeviceCode(code, shouldCancel: shouldCancel, probe: () => probe(code))) { if (event is DevicePollSuccess) return buildSession(event.tokenResponse); if (event is DevicePollDenied || event is DevicePollExpired) return null; } diff --git a/lib/services/trackers/fribb_mapping_store.dart b/lib/services/trackers/fribb_mapping_store.dart index 0d2edd9f..9b2d09bd 100644 --- a/lib/services/trackers/fribb_mapping_store.dart +++ b/lib/services/trackers/fribb_mapping_store.dart @@ -156,10 +156,7 @@ class FribbMappingStore { final client = platform.createPlatformClient(); try { final res = await client - .get( - Uri.parse(_sourceUrl), - headers: {'If-None-Match': ?etag, 'Accept': 'application/json'}, - ) + .get(Uri.parse(_sourceUrl), headers: {'If-None-Match': ?etag, 'Accept': 'application/json'}) .timeout(_requestTimeout); await prefs.setInt(_prefsLastCheckKey, now); diff --git a/lib/services/trackers/mal/mal_client.dart b/lib/services/trackers/mal/mal_client.dart index efa96ab1..32b54f30 100644 --- a/lib/services/trackers/mal/mal_client.dart +++ b/lib/services/trackers/mal/mal_client.dart @@ -127,7 +127,9 @@ class MalClient { String? encoded; if (formBody != null) { headers['Content-Type'] = 'application/x-www-form-urlencoded'; - encoded = formBody.entries.map((e) => '${Uri.encodeQueryComponent(e.key)}=${Uri.encodeQueryComponent(e.value)}').join('&'); + encoded = formBody.entries + .map((e) => '${Uri.encodeQueryComponent(e.key)}=${Uri.encodeQueryComponent(e.value)}') + .join('&'); } else if (body != null) { headers['Content-Type'] = 'application/json'; encoded = json.encode(body); diff --git a/lib/services/trackers/simkl/simkl_auth_service.dart b/lib/services/trackers/simkl/simkl_auth_service.dart index 6439e466..6a37548c 100644 --- a/lib/services/trackers/simkl/simkl_auth_service.dart +++ b/lib/services/trackers/simkl/simkl_auth_service.dart @@ -21,10 +21,7 @@ class SimklAuthService extends DeviceCodeAuthServiceBase { @override Future createDeviceCode() async { final uri = Uri.parse(SimklConstants.pinUrl).replace( - queryParameters: { - 'client_id': SimklConstants.clientId, - 'redirect': '${OAuthProxyClient.baseUrl}/auth/done', - }, + queryParameters: {'client_id': SimklConstants.clientId, 'redirect': '${OAuthProxyClient.baseUrl}/auth/done'}, ); final res = await httpClient.get(uri, headers: SimklConstants.headers()).timeout(const Duration(seconds: 15)); if (res.statusCode != 200) { diff --git a/lib/services/trackers/simkl/simkl_session.dart b/lib/services/trackers/simkl/simkl_session.dart index 7035f226..91b90dd8 100644 --- a/lib/services/trackers/simkl/simkl_session.dart +++ b/lib/services/trackers/simkl/simkl_session.dart @@ -17,11 +17,7 @@ class SimklSession { createdAt: createdAt ?? this.createdAt, ); - Map toJson() => { - 'access_token': accessToken, - 'username': username, - 'created_at': createdAt, - }; + Map toJson() => {'access_token': accessToken, 'username': username, 'created_at': createdAt}; factory SimklSession.fromJson(Map json) => SimklSession( accessToken: json['access_token'] as String, diff --git a/lib/services/trackers/tracker_coordinator.dart b/lib/services/trackers/tracker_coordinator.dart index 861eb121..3c85ad96 100644 --- a/lib/services/trackers/tracker_coordinator.dart +++ b/lib/services/trackers/tracker_coordinator.dart @@ -21,11 +21,7 @@ class TrackerCoordinator { TrackerCoordinator._(); - late final List _trackers = [ - MalTracker.instance, - AnilistTracker.instance, - SimklTracker.instance, - ]; + late final List _trackers = [MalTracker.instance, AnilistTracker.instance, SimklTracker.instance]; /// Resolver persists across episode swaps so back-to-back episodes of the /// same show reuse the cached IDs. Cleared only on profile switch. @@ -113,16 +109,16 @@ class TrackerCoordinator { } Future _dispatchMarkWatched(TrackerContext ctx) async { - final active = _trackers.where( - (t) => t.canScrobble && t.shouldScrobbleForLibrary(ctx.libraryGlobalKey), + final active = _trackers.where((t) => t.canScrobble && t.shouldScrobbleForLibrary(ctx.libraryGlobalKey)); + await Future.wait( + active.map((t) async { + try { + await t.markWatched(ctx); + } catch (e) { + appLogger.d('${t.name}: markWatched failed', error: e); + } + }), ); - await Future.wait(active.map((t) async { - try { - await t.markWatched(ctx); - } catch (e) { - appLogger.d('${t.name}: markWatched failed', error: e); - } - })); } Future _buildContext(PlexMetadata metadata) async { diff --git a/lib/services/trackers/tracker_id_resolver.dart b/lib/services/trackers/tracker_id_resolver.dart index db2cf70c..b57a465b 100644 --- a/lib/services/trackers/tracker_id_resolver.dart +++ b/lib/services/trackers/tracker_id_resolver.dart @@ -34,12 +34,9 @@ class TrackerIdResolver { /// un-matched item doesn't re-hit Plex every position update. final Map _cache = {}; - TrackerIdResolver( - this._client, { - bool Function()? needsFribb, - FribbMappingStore? store, - }) : _needsFribb = needsFribb ?? _returnTrue, - _store = store ?? FribbMappingStore.instance; + TrackerIdResolver(this._client, {bool Function()? needsFribb, FribbMappingStore? store}) + : _needsFribb = needsFribb ?? _returnTrue, + _store = store ?? FribbMappingStore.instance; static bool _returnTrue() => true; diff --git a/lib/services/trakt/trakt_sync_service.dart b/lib/services/trakt/trakt_sync_service.dart index 29e12ad9..c9941cad 100644 --- a/lib/services/trakt/trakt_sync_service.dart +++ b/lib/services/trakt/trakt_sync_service.dart @@ -111,8 +111,7 @@ class TraktSyncService { if (kind == null) return; final settings = SettingsService.instanceOrNull; - if (settings != null && - !settings.isLibraryAllowedForTracker(TrackerService.trakt, event.librarySectionGlobalKey)) { + if (settings != null && !settings.isLibraryAllowedForTracker(TrackerService.trakt, event.librarySectionGlobalKey)) { appLogger.d('Trakt sync: library filtered out for ${event.ratingKey}'); return; } diff --git a/lib/widgets/device_code_dialog.dart b/lib/widgets/device_code_dialog.dart index 1fdda095..83530d8a 100644 --- a/lib/widgets/device_code_dialog.dart +++ b/lib/widgets/device_code_dialog.dart @@ -18,12 +18,7 @@ class DeviceCodeDialog extends StatelessWidget { final String serviceName; final VoidCallback onCancel; - const DeviceCodeDialog({ - super.key, - required this.code, - required this.serviceName, - required this.onCancel, - }); + const DeviceCodeDialog({super.key, required this.code, required this.serviceName, required this.onCancel}); Future _open() async { final url = code.verificationUrlComplete ?? code.verificationUrl; @@ -78,9 +73,7 @@ class DeviceCodeDialog extends StatelessWidget { children: [ const SizedBox(width: 16, height: 16, child: CircularProgressIndicator(strokeWidth: 2)), const SizedBox(width: 12), - Expanded( - child: Text(t.trackers.deviceCode.waitingForAuthorization, style: theme.textTheme.bodySmall), - ), + Expanded(child: Text(t.trackers.deviceCode.waitingForAuthorization, style: theme.textTheme.bodySmall)), ], ), ], diff --git a/lib/widgets/oauth_proxy_dialog.dart b/lib/widgets/oauth_proxy_dialog.dart index cfeb9bcf..e8d191a5 100644 --- a/lib/widgets/oauth_proxy_dialog.dart +++ b/lib/widgets/oauth_proxy_dialog.dart @@ -18,12 +18,7 @@ class OAuthProxyDialog extends StatelessWidget { final String serviceName; final VoidCallback onCancel; - const OAuthProxyDialog({ - super.key, - required this.start, - required this.serviceName, - required this.onCancel, - }); + const OAuthProxyDialog({super.key, required this.start, required this.serviceName, required this.onCancel}); Future _open() async { await launchUrl(Uri.parse(start.url), mode: LaunchMode.externalApplication); @@ -53,12 +48,7 @@ class OAuthProxyDialog extends StatelessWidget { dimension: 220, child: ClipRRect( borderRadius: BorderRadius.circular(8), - child: QrImageView( - data: start.url, - size: 220, - version: QrVersions.auto, - backgroundColor: Colors.white, - ), + child: QrImageView(data: start.url, size: 220, version: QrVersions.auto, backgroundColor: Colors.white), ), ), ), @@ -92,9 +82,7 @@ class OAuthProxyDialog extends StatelessWidget { children: [ const SizedBox(width: 16, height: 16, child: CircularProgressIndicator(strokeWidth: 2)), const SizedBox(width: 12), - Expanded( - child: Text(t.trackers.deviceCode.waitingForAuthorization, style: theme.textTheme.bodySmall), - ), + Expanded(child: Text(t.trackers.deviceCode.waitingForAuthorization, style: theme.textTheme.bodySmall)), ], ), ],