Skip to content

Commit

Permalink
Introduce measurementProvider
Browse files Browse the repository at this point in the history
  • Loading branch information
jogboms committed Jul 4, 2023
1 parent a9c2621 commit 74eb2c0
Show file tree
Hide file tree
Showing 16 changed files with 397 additions and 445 deletions.
8 changes: 4 additions & 4 deletions lib/data/repositories/measures/measures_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ class MeasuresImpl extends Measures {
Future<bool> create(
List<BaseMeasureEntity> measures,
String userId, {
required MeasureGroup groupName,
required String unitValue,
required MeasureGroup group,
required String unit,
}) async {
await firebase.db.batchAction((_) {
for (final BaseMeasureEntity measure in measures) {
Expand All @@ -40,8 +40,8 @@ class MeasuresImpl extends Measures {
final ReferenceEntity reference = measure.reference;
final MapDocumentReference ref = collection.db.doc(reference.path);
_.update(ref, <String, String?>{
'group': groupName.displayName,
'unit': unitValue,
'group': group.displayName,
'unit': unit,
});
break;
case DefaultMeasureEntity():
Expand Down
4 changes: 2 additions & 2 deletions lib/data/repositories/measures/measures_mock_impl.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ class MeasuresMockImpl extends Measures {
Future<bool> create(
List<BaseMeasureEntity> measures,
String userId, {
required MeasureGroup groupName,
required String unitValue,
required MeasureGroup group,
required String unit,
}) async =>
true;

Expand Down
4 changes: 2 additions & 2 deletions lib/domain/repositories/measures.dart
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ abstract class Measures {
Future<bool> create(
List<BaseMeasureEntity> measures,
String userId, {
required MeasureGroup groupName,
required String unitValue,
required MeasureGroup group,
required String unit,
});

Future<bool> deleteGroup(List<MeasureEntity> measures, String userId);
Expand Down
1 change: 0 additions & 1 deletion lib/presentation.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
export 'presentation/app.dart';
export 'presentation/constants.dart';
export 'presentation/registry.dart';
export 'presentation/state.dart';
export 'presentation/theme.dart';
export 'presentation/utils.dart';
Expand Down
54 changes: 25 additions & 29 deletions lib/presentation/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import 'package:flutter_localizations/flutter_localizations.dart';
import 'package:registry/registry.dart';
import 'package:tailor_made/core.dart';

import 'registry.dart';
import 'routing.dart';
import 'screens/splash/splash.dart';
import 'theme.dart';
Expand Down Expand Up @@ -34,35 +33,32 @@ class _AppState extends State<App> {

@override
Widget build(BuildContext context) {
return RegistryProvider(
registry: widget.registry,
child: _Banner(
key: Key(_bannerMessage),
visible: !_environment.isProduction,
message: _bannerMessage,
child: MaterialApp(
debugShowCheckedModeBanner: false,
color: Colors.white,
return _Banner(
key: Key(_bannerMessage),
visible: !_environment.isProduction,
message: _bannerMessage,
child: MaterialApp(
debugShowCheckedModeBanner: false,
color: Colors.white,
navigatorKey: _navigatorKey,
navigatorObservers: widget.navigatorObservers ?? <NavigatorObserver>[],
theme: themeBuilder(ThemeData.light()),
darkTheme: themeBuilder(ThemeData.dark()),
onGenerateTitle: (BuildContext context) => context.l10n.appName,
localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
L10n.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: L10n.supportedLocales,
builder: (_, Widget? child) => SnackBarProvider(
navigatorKey: _navigatorKey,
navigatorObservers: widget.navigatorObservers ?? <NavigatorObserver>[],
theme: themeBuilder(ThemeData.light()),
darkTheme: themeBuilder(ThemeData.dark()),
onGenerateTitle: (BuildContext context) => context.l10n.appName,
localizationsDelegates: const <LocalizationsDelegate<dynamic>>[
L10n.delegate,
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
GlobalCupertinoLocalizations.delegate,
],
supportedLocales: L10n.supportedLocales,
builder: (_, Widget? child) => SnackBarProvider(
navigatorKey: _navigatorKey,
child: child!,
),
onGenerateRoute: (RouteSettings settings) => _PageRoute<Object>(
builder: (_) => widget.home ?? const SplashPage(isColdStart: true),
settings: RouteSettings(name: AppRoutes.start, arguments: settings.arguments),
),
child: child!,
),
onGenerateRoute: (RouteSettings settings) => _PageRoute<Object>(
builder: (_) => widget.home ?? const SplashPage(isColdStart: true),
settings: RouteSettings(name: AppRoutes.start, arguments: settings.arguments),
),
),
);
Expand Down
25 changes: 0 additions & 25 deletions lib/presentation/registry.dart

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import 'package:equatable/equatable.dart';
import 'package:flutter/cupertino.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:tailor_made/domain.dart';

Expand All @@ -19,10 +18,9 @@ class HomeNotifier extends _$HomeNotifier {

yield HomeState(
account: account,
contacts: contacts,
jobs: jobs,
stats: stats,
settings: settings,
shouldSendRating: !account.hasSendRating && (contacts.length >= 10 || jobs.length >= 10),
hasSkippedPremium: false,
);
}
Expand All @@ -39,20 +37,16 @@ class HomeNotifier extends _$HomeNotifier {
class HomeState with EquatableMixin {
const HomeState({
required this.account,
required this.contacts,
required this.jobs,
required this.stats,
required this.settings,
required this.shouldSendRating,
required this.hasSkippedPremium,
});

final AccountEntity account;
@visibleForTesting
final List<ContactEntity> contacts;
@visibleForTesting
final List<JobEntity> jobs;
final StatsEntity stats;
final SettingEntity settings;
final bool shouldSendRating;
final bool hasSkippedPremium;

bool get isDisabled => account.status == AccountStatus.disabled;
Expand All @@ -61,20 +55,17 @@ class HomeState with EquatableMixin {

bool get isPending => account.status == AccountStatus.pending;

bool get shouldSendRating => !account.hasSendRating && (contacts.length >= 10 || jobs.length >= 10);

@override
List<Object> get props => <Object>[account, contacts, jobs, stats, settings, hasSkippedPremium];
List<Object> get props => <Object>[account, stats, settings, shouldSendRating, hasSkippedPremium];

HomeState copyWith({
bool? hasSkippedPremium,
}) {
return HomeState(
account: account,
contacts: contacts,
jobs: jobs,
stats: stats,
settings: settings,
shouldSendRating: shouldSendRating,
hasSkippedPremium: hasSkippedPremium ?? this.hasSkippedPremium,
);
}
Expand Down
Loading

0 comments on commit 74eb2c0

Please sign in to comment.