Skip to content

Commit d623b6a

Browse files
authored
refactor: Reworked Settings & Updated Dependencies (#455)
* refactor: update settings repository * feat: add theme configuration bloc Adds a new bloc for managing theme configuration. Also updates settings repository to return settings. * feat: update dependencies and fvm config Updates fvm config to use stable flutter version. Updates dependencies for firebase, http, drift, sentry. Removes theme configuration bloc. * refactor: move locale to general config Moves the locale setting to a separate GeneralConfiguration model for better organization. Updates related code to reflect this change. * chore: update dependencies and flutter version * refactor: make material context stateless * style: format * fix: dcm issues * refactor(ui_library): remove low_level folder Moves popup-related widgets out of the low_level folder. This simplifies the directory structure.
1 parent e55640b commit d623b6a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+576
-560
lines changed

.fvmrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"flutter": "3.32.0"
2+
"flutter": "stable"
33
}

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: 🐦 Setup Flutter
2020
uses: subosito/flutter-action@v2
2121
with:
22-
flutter-version: 3.32.0
22+
flutter-version: 3.35.3
2323
channel: stable
2424
cache: true
2525

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"drift"
44
],
55
"dart.lineLength": 100,
6-
"dart.flutterSdkPath": ".fvm/versions/3.32.0",
6+
"dart.flutterSdkPath": ".fvm/versions/stable",
77
"cmake.ignoreCMakeListsMissing": true,
88
"makefile.configureOnOpen": false
99
}

analysis_options.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ formatter:
55
trailing_commas: preserve
66

77
analyzer:
8-
exclude:
8+
exclude:
99
- "lib/src/core/localization/generated/**"
1010
- "**/*.*.dart"
1111
- "**/generated/**"
1212

1313
dart_code_metrics:
1414
extends:
15-
- package:sizzle_lints/dcm.yaml
15+
- package:sizzle_lints/dcm.yaml

app/lib/src/bloc/app_bloc_observer.dart

Lines changed: 15 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,38 +12,35 @@ class AppBlocObserver extends BlocObserver {
1212

1313
@override
1414
void onTransition(Bloc<Object?, Object?> bloc, Transition<Object?, Object?> transition) {
15-
final logMessage =
16-
StringBuffer()
17-
..writeln('Bloc: ${bloc.runtimeType}')
18-
..writeln('Event: ${transition.event.runtimeType}')
19-
..writeln(
20-
'Transition: ${transition.currentState.runtimeType} => '
21-
'${transition.nextState.runtimeType}',
22-
)
23-
..write('New State: ${transition.nextState?.toString().limit(100)}');
15+
final logMessage = StringBuffer()
16+
..writeln('Bloc: ${bloc.runtimeType}')
17+
..writeln('Event: ${transition.event.runtimeType}')
18+
..writeln(
19+
'Transition: ${transition.currentState.runtimeType} => '
20+
'${transition.nextState.runtimeType}',
21+
)
22+
..write('New State: ${transition.nextState?.toString().limit(100)}');
2423

2524
logger.info(logMessage.toString());
2625
super.onTransition(bloc, transition);
2726
}
2827

2928
@override
3029
void onEvent(Bloc<Object?, Object?> bloc, Object? event) {
31-
final logMessage =
32-
StringBuffer()
33-
..writeln('Bloc: ${bloc.runtimeType}')
34-
..writeln('Event: ${event.runtimeType}')
35-
..write('Details: ${event?.toString().limit(200)}');
30+
final logMessage = StringBuffer()
31+
..writeln('Bloc: ${bloc.runtimeType}')
32+
..writeln('Event: ${event.runtimeType}')
33+
..write('Details: ${event?.toString().limit(200)}');
3634

3735
logger.info(logMessage.toString());
3836
super.onEvent(bloc, event);
3937
}
4038

4139
@override
4240
void onError(BlocBase<Object?> bloc, Object error, StackTrace stackTrace) {
43-
final logMessage =
44-
StringBuffer()
45-
..writeln('Bloc: ${bloc.runtimeType}')
46-
..writeln(error.toString());
41+
final logMessage = StringBuffer()
42+
..writeln('Bloc: ${bloc.runtimeType}')
43+
..writeln(error.toString());
4744

4845
logger.error(logMessage.toString(), error: error, stackTrace: stackTrace);
4946
super.onError(bloc, error, stackTrace);

app/lib/src/widget/material_context.dart

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,29 +13,32 @@ class MaterialContext extends StatelessWidget {
1313

1414
@override
1515
Widget build(BuildContext context) {
16-
final settings = SettingsScope.settingsOf(context);
17-
final themeMode = settings.themeConfiguration?.themeMode ?? ThemeModeVO.system;
18-
final seedColor = settings.themeConfiguration?.seedColor ?? Colors.blue;
16+
return SettingsBuilder(
17+
builder: (context, settings) {
18+
final themeMode = settings.theme.themeMode;
19+
final seedColor = settings.theme.seedColor;
20+
final locale = settings.general.locale;
1921

20-
final materialThemeMode = switch (themeMode) {
21-
ThemeModeVO.system => ThemeMode.system,
22-
ThemeModeVO.light => ThemeMode.light,
23-
ThemeModeVO.dark => ThemeMode.dark,
24-
};
22+
final materialThemeMode = switch (themeMode) {
23+
ThemeModeVO.system => ThemeMode.system,
24+
ThemeModeVO.light => ThemeMode.light,
25+
ThemeModeVO.dark => ThemeMode.dark,
26+
};
2527

26-
final darkTheme = ThemeData(colorSchemeSeed: seedColor, brightness: Brightness.dark);
27-
final lightTheme = ThemeData(colorSchemeSeed: seedColor, brightness: Brightness.light);
28-
29-
return MaterialApp(
30-
theme: lightTheme,
31-
darkTheme: darkTheme,
32-
themeMode: materialThemeMode,
33-
locale: settings.locale,
34-
home: const HomeScreen(),
35-
builder: (context, child) {
36-
return KeyedSubtree(
37-
key: _globalKey,
38-
child: MediaQueryRootOverride(child: child!),
28+
final darkTheme = ThemeData(colorSchemeSeed: seedColor, brightness: Brightness.dark);
29+
final lightTheme = ThemeData(colorSchemeSeed: seedColor, brightness: Brightness.light);
30+
return MaterialApp(
31+
theme: lightTheme,
32+
darkTheme: darkTheme,
33+
themeMode: materialThemeMode,
34+
locale: locale,
35+
home: const HomeScreen(),
36+
builder: (context, child) {
37+
return KeyedSubtree(
38+
key: _globalKey,
39+
child: MediaQueryRootOverride(child: child!),
40+
);
41+
},
3942
);
4043
},
4144
);

app/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ version: 0.0.1+1
55
resolution: workspace
66

77
environment:
8-
sdk: ">=3.8.0 <4.0.0"
9-
flutter: ">=3.32.0 <4.0.0"
8+
sdk: ">=3.9.2 <4.0.0"
9+
flutter: ">=3.35.3 <4.0.0"
1010

1111
dependencies:
1212
# Flutter SDK
@@ -23,7 +23,7 @@ dependencies:
2323

2424
# Utils
2525
clock: 1.1.2
26-
package_info_plus: 8.3.0
26+
package_info_plus: ^9.0.0
2727

2828
# Core
2929
rest_client:

core/analytics/lib/src/firebase_analytics_reporter.dart

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@ final class FirebaseAnalyticsReporter implements AnalyticsReporter {
2222

2323
await analytics.logEvent(
2424
name: event.name,
25-
parameters:
26-
event.parameters.isEmpty
27-
? null
28-
: {for (final parameter in event.parameters) parameter.name: parameter.value},
25+
parameters: event.parameters.isEmpty
26+
? null
27+
: {for (final parameter in event.parameters) parameter.name: parameter.value},
2928
);
3029
}
3130
}

core/analytics/pubspec.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ version: 1.0.0
44
publish_to: none
55

66
environment:
7-
sdk: ">=3.8.0 <4.0.0"
8-
flutter: ">=3.32.0 <4.0.0"
7+
sdk: ">=3.9.2 <4.0.0"
8+
flutter: ">=3.35.3 <4.0.0"
99

1010
resolution: workspace
1111

@@ -16,7 +16,7 @@ dependencies:
1616
collection: 1.19.1
1717

1818
# Firebase
19-
firebase_analytics: ^11.5.0
19+
firebase_analytics: ^12.0.2
2020

2121
# Local Packages
2222
logger:
@@ -26,7 +26,7 @@ dev_dependencies:
2626
# Testing
2727
flutter_test:
2828
sdk: flutter
29-
mockito: 5.4.6
29+
mockito: ^5.5.1
3030
build_runner: ^2.5.3
3131

3232
flutter:

core/common/lib/common.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export 'src/extensions/inherited_extension.dart';
22
export 'src/extensions/string_extension.dart';
3+
export 'src/mutex/mutext.dart';
34
export 'src/persisted_column/persisted_column.dart';
45
export 'src/persisted_column/shared_preferences_column.dart';

0 commit comments

Comments
 (0)