This commit is contained in:
vishnukvmd
2025-07-21 16:29:54 +05:30
committed by AmanRajSinghMourya
parent 487e4ef559
commit 465fc7c7d3
16 changed files with 96 additions and 31 deletions

View File

@@ -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

View File

@@ -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 }

View File

@@ -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,
),
),
);
}

View File

@@ -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 {

View File

@@ -1,4 +1,4 @@
import '../theme/ente_theme.dart';
import 'package:ente_ui/theme/ente_theme.dart';
import 'package:flutter/material.dart';
enum DividerType {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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;

View 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';

View File

@@ -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;

View File

@@ -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',

View File

@@ -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,

View File

@@ -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;

View File

@@ -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),

View File

@@ -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: