Lint ui
This commit is contained in:
committed by
AmanRajSinghMourya
parent
487e4ef559
commit
465fc7c7d3
@@ -1,10 +1,72 @@
|
||||
include: package:flutter_lints/flutter.yaml
|
||||
# For more linters, we can check https://dart-lang.github.io/linter/lints/index.html
|
||||
# or https://pub.dev/packages/lint (Effective dart)
|
||||
# use "flutter analyze ." or "dart analyze ." for running lint checks
|
||||
|
||||
include: package:flutter_lints/flutter.yaml
|
||||
linter:
|
||||
rules:
|
||||
- always_declare_return_types
|
||||
- always_put_required_named_parameters_first
|
||||
# Ref https://github.com/flutter/packages/blob/master/packages/flutter_lints/lib/flutter.yaml
|
||||
# Ref https://dart-lang.github.io/linter/lints/
|
||||
- avoid_print
|
||||
- avoid_unnecessary_containers
|
||||
- avoid_web_libraries_in_flutter
|
||||
- no_logic_in_create_state
|
||||
- prefer_const_constructors
|
||||
- prefer_const_constructors_in_immutables
|
||||
- prefer_const_declarations
|
||||
- prefer_const_literals_to_create_immutables
|
||||
- prefer_final_locals
|
||||
- require_trailing_commas
|
||||
- sized_box_for_whitespace
|
||||
- use_full_hex_values_for_flutter_colors
|
||||
- use_key_in_widget_constructors
|
||||
- cancel_subscriptions
|
||||
|
||||
|
||||
- avoid_empty_else
|
||||
- exhaustive_cases
|
||||
|
||||
# just style suggestions
|
||||
- sort_pub_dependencies
|
||||
- use_rethrow_when_possible
|
||||
- prefer_double_quotes
|
||||
- directives_ordering
|
||||
- always_use_package_imports
|
||||
- sort_child_properties_last
|
||||
- unawaited_futures
|
||||
|
||||
analyzer:
|
||||
errors:
|
||||
avoid_empty_else: error
|
||||
exhaustive_cases: error
|
||||
curly_braces_in_flow_control_structures: error
|
||||
directives_ordering: error
|
||||
require_trailing_commas: error
|
||||
always_use_package_imports: warning
|
||||
prefer_final_fields: error
|
||||
unused_import: error
|
||||
camel_case_types: error
|
||||
prefer_is_empty: warning
|
||||
use_rethrow_when_possible: info
|
||||
unused_field: warning
|
||||
use_key_in_widget_constructors: warning
|
||||
sort_child_properties_last: warning
|
||||
sort_pub_dependencies: warning
|
||||
library_private_types_in_public_api: warning
|
||||
constant_identifier_names: ignore
|
||||
prefer_const_constructors: warning
|
||||
prefer_const_declarations: warning
|
||||
prefer_const_constructors_in_immutables: warning
|
||||
prefer_final_locals: warning
|
||||
unnecessary_const: error
|
||||
cancel_subscriptions: error
|
||||
unrelated_type_equality_checks: error
|
||||
unnecessary_cast: info
|
||||
|
||||
|
||||
unawaited_futures: warning # convert to warning after fixing existing issues
|
||||
invalid_dependency: info
|
||||
use_build_context_synchronously: ignore # experimental lint, requires many changes
|
||||
prefer_interpolation_to_compose_strings: ignore # later too many warnings
|
||||
prefer_double_quotes: ignore # too many warnings
|
||||
avoid_renaming_method_parameters: ignore # incorrect warnings for `equals` overrides
|
||||
|
||||
@@ -8,9 +8,9 @@ import 'package:ente_ui/theme/colors.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:ente_ui/theme/text_style.dart';
|
||||
import 'package:ente_ui/utils/dialog_util.dart';
|
||||
import 'package:ente_utils/debouncer.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/scheduler.dart';
|
||||
import 'package:ente_utils/debouncer.dart';
|
||||
|
||||
enum ButtonSize { small, large }
|
||||
|
||||
|
||||
@@ -64,10 +64,12 @@ class DynamicFAB extends StatelessWidget {
|
||||
child: OutlinedButton(
|
||||
onPressed:
|
||||
isFormValid! ? onPressedFunction as void Function()? : null,
|
||||
child: Text(buttonText!,
|
||||
style: isFormValid!
|
||||
? getEnteTextTheme(context).body
|
||||
: getEnteTextTheme(context).bodyFaint),
|
||||
child: Text(
|
||||
buttonText!,
|
||||
style: isFormValid!
|
||||
? getEnteTextTheme(context).body
|
||||
: getEnteTextTheme(context).bodyFaint,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import '../theme/ente_theme.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CaptionedTextWidget extends StatelessWidget {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import '../theme/ente_theme.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
enum DividerType {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import '../theme/ente_theme.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class EnteLoadingWidget extends StatelessWidget {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import '../theme/ente_theme.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class TitleBarTitleWidget extends StatelessWidget {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import '../theme/ente_theme.dart';
|
||||
import '../components/buttons/icon_button_widget.dart';
|
||||
import 'package:ente_ui/components/buttons/icon_button_widget.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class TitleBarWidget extends StatelessWidget {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:ente_ui/components/loading_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class LogFileViewer extends StatefulWidget {
|
||||
final File file;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import '../components/loading_widget.dart';
|
||||
import 'package:ente_ui/components/loading_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import 'package:ente_ui/theme/colors.dart';
|
||||
import 'package:ente_ui/theme/effects.dart';
|
||||
import 'package:ente_ui/theme/text_style.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'colors.dart';
|
||||
import 'effects.dart';
|
||||
import 'text_style.dart';
|
||||
|
||||
class EnteTheme {
|
||||
final EnteTextTheme textTheme;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import '../theme/colors.dart';
|
||||
import 'package:ente_ui/theme/colors.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../theme/ente_theme.dart';
|
||||
|
||||
final lightThemeData = ThemeData(
|
||||
fontFamily: 'Inter',
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
// Demo: Complete working example showing multi-app theme compatibility
|
||||
// This file demonstrates how the reusable theme system works for different apps
|
||||
|
||||
import 'package:ente_ui/theme/colors.dart';
|
||||
import 'package:ente_ui/theme/ente_theme.dart';
|
||||
import 'package:ente_ui/theme/ente_theme_data.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'colors.dart';
|
||||
import 'ente_theme_data.dart';
|
||||
import 'ente_theme.dart';
|
||||
|
||||
/// App 1: E-commerce app with blue theme
|
||||
class ECommerceApp {
|
||||
@@ -210,7 +210,8 @@ class DemoHomePage extends StatelessWidget {
|
||||
final isSelected = index == currentAppIndex;
|
||||
return FilterChip(
|
||||
label: Text(
|
||||
['E-commerce', 'Social', 'Finance', 'Gaming'][index]),
|
||||
['E-commerce', 'Social', 'Finance', 'Gaming'][index],
|
||||
),
|
||||
selected: isSelected,
|
||||
onSelected: (_) => onAppChanged(index),
|
||||
backgroundColor: colorScheme.fillFaint,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import 'package:ente_ui/theme/colors.dart';
|
||||
import 'package:ente_ui/theme/platform_text_config.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import '../theme/colors.dart';
|
||||
import '../theme/platform_text_config.dart';
|
||||
|
||||
const FontWeight _regularWeight = FontWeight.w500;
|
||||
const FontWeight _boldWeight = FontWeight.w600;
|
||||
|
||||
@@ -21,7 +21,7 @@ void showToast(
|
||||
fontSize: 16.0,
|
||||
);
|
||||
} on MissingPluginException catch (_) {
|
||||
Widget toast = Container(
|
||||
final toast = Container(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 24.0, vertical: 12.0),
|
||||
decoration: BoxDecoration(
|
||||
borderRadius: BorderRadius.circular(25.0),
|
||||
|
||||
@@ -8,8 +8,6 @@ environment:
|
||||
flutter: ">=1.17.0"
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
dio: ^5.8.0+1
|
||||
ente_base:
|
||||
path: ../../packages/base
|
||||
@@ -21,6 +19,8 @@ dependencies:
|
||||
path: ../../packages/strings
|
||||
ente_utils:
|
||||
path: ../../packages/utils
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter_inappwebview: ^6.1.5
|
||||
fluttertoast: ^8.1.1
|
||||
modal_bottom_sheet: ^3.0.0
|
||||
@@ -28,8 +28,8 @@ dependencies:
|
||||
window_manager: ^0.5.0
|
||||
|
||||
dev_dependencies:
|
||||
flutter_lints: ^5.0.0
|
||||
flutter_test:
|
||||
sdk: flutter
|
||||
flutter_lints: ^5.0.0
|
||||
|
||||
flutter:
|
||||
|
||||
Reference in New Issue
Block a user