From 2b2b96872d522533a59b069b06555c9a687a4c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Ku=C3=9Fowski?= Date: Thu, 19 Feb 2026 11:41:57 +0100 Subject: [PATCH] refactor: Add Flutter lints --- analysis_options.yaml | 12 +++++++++++- lib/pages/chat_list/chat_list_body.dart | 5 +---- lib/pages/chat_members/chat_members_view.dart | 5 +---- lib/pages/dialer/dialer.dart | 2 +- .../key_verification/key_verification_dialog.dart | 2 +- lib/widgets/layouts/login_scaffold.dart | 2 +- 6 files changed, 16 insertions(+), 12 deletions(-) diff --git a/analysis_options.yaml b/analysis_options.yaml index 0deff3a07..75a06f44d 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -22,6 +22,7 @@ analyzer: dart_code_linter: rules: + # Dart specific: - avoid-dynamic - avoid-redundant-async - avoid-unnecessary-type-assertions @@ -47,4 +48,13 @@ dart_code_linter: # message: 'Do not import Flutter Material Design library, we should not depend on it!' # - no-magic-number: # allowed: [-1, 0, 1,2,4,6,8,12,16,32,40,56,64] - # allow-only-once: true \ No newline at end of file + # allow-only-once: true + # Flutter specific: + - prefer-media-query-direct-access + - avoid-wrapping-in-padding + - prefer-correct-edge-insets-constructor + # TODO: + # - avoid-returning-widgets + # - prefer-single-widget-per-file: + # ignore-private-widgets: true + # - prefer-extracting-callbacks \ No newline at end of file diff --git a/lib/pages/chat_list/chat_list_body.dart b/lib/pages/chat_list/chat_list_body.dart index b9cb167f1..38253d059 100644 --- a/lib/pages/chat_list/chat_list_body.dart +++ b/lib/pages/chat_list/chat_list_body.dart @@ -132,10 +132,7 @@ class ChatListViewBody extends StatelessWidget { SizedBox( height: 64, child: ListView( - padding: const EdgeInsets.symmetric( - horizontal: 12.0, - vertical: 12.0, - ), + padding: const EdgeInsets.all(12.0), shrinkWrap: true, scrollDirection: Axis.horizontal, children: diff --git a/lib/pages/chat_members/chat_members_view.dart b/lib/pages/chat_members/chat_members_view.dart index 89707a100..81e15ea68 100644 --- a/lib/pages/chat_members/chat_members_view.dart +++ b/lib/pages/chat_members/chat_members_view.dart @@ -124,10 +124,7 @@ class ChatMembersView extends StatelessWidget { SizedBox( height: 64, child: ListView.builder( - padding: const EdgeInsets.symmetric( - horizontal: 12.0, - vertical: 12.0, - ), + padding: const EdgeInsets.all(12.0), scrollDirection: Axis.horizontal, itemCount: availableFilters.length, itemBuilder: (context, i) => Padding( diff --git a/lib/pages/dialer/dialer.dart b/lib/pages/dialer/dialer.dart index 2b0212748..006ef3d53 100644 --- a/lib/pages/dialer/dialer.dart +++ b/lib/pages/dialer/dialer.dart @@ -552,7 +552,7 @@ class MyCallingPage extends State { if (secondaryStreamViews.isNotEmpty) { stackWidgets.add( Container( - padding: const EdgeInsets.fromLTRB(0, 20, 0, 120), + padding: const EdgeInsets.only(top: 20, bottom: 120), alignment: Alignment.bottomRight, child: Container( width: _localVideoWidth, diff --git a/lib/pages/key_verification/key_verification_dialog.dart b/lib/pages/key_verification/key_verification_dialog.dart index 400b3e6c9..1b04b8dd2 100644 --- a/lib/pages/key_verification/key_verification_dialog.dart +++ b/lib/pages/key_verification/key_verification_dialog.dart @@ -120,7 +120,7 @@ class KeyVerificationPageState extends State { final textEditingController = TextEditingController(); String input; body = Container( - margin: const EdgeInsets.only(left: 8.0, right: 8.0), + margin: const EdgeInsets.symmetric(horizontal: 8.0), child: Column( mainAxisSize: .min, children: [ diff --git a/lib/widgets/layouts/login_scaffold.dart b/lib/widgets/layouts/login_scaffold.dart index 8066f1e05..944ca3919 100644 --- a/lib/widgets/layouts/login_scaffold.dart +++ b/lib/widgets/layouts/login_scaffold.dart @@ -52,7 +52,7 @@ class LoginScaffold extends StatelessWidget { ), child: Stack( children: [ - if (!MediaQuery.of(context).disableAnimations) + if (!MediaQuery.disableAnimationsOf(context)) ParticleNetwork( maxSpeed: 0.25, particleColor: theme.colorScheme.primary,