diff --git a/api/3rd_party/neat_cache/lib/src/providers/redis.dart b/api/3rd_party/neat_cache/lib/src/providers/redis.dart index 0480d88..d1d38e9 100644 --- a/api/3rd_party/neat_cache/lib/src/providers/redis.dart +++ b/api/3rd_party/neat_cache/lib/src/providers/redis.dart @@ -178,6 +178,7 @@ class RedisCacheProvider extends CacheProvider> { // Force close the client scheduleMicrotask(() => client.close(force: true)); + return null; }); @override diff --git a/api/lib/src/models/scheme.dart b/api/lib/src/models/scheme.dart index c0c1cba..42a4661 100644 --- a/api/lib/src/models/scheme.dart +++ b/api/lib/src/models/scheme.dart @@ -89,7 +89,7 @@ abstract class _SimpleSchemeTransMetaData { int? get likes; - bool? get liked; + bool get liked; } SimpleSchemeTransMetaData transSimpleSchemeMetaData(SimpleScheme scheme) => SimpleSchemeTransMetaData( @@ -98,7 +98,7 @@ SimpleSchemeTransMetaData transSimpleSchemeMetaData(SimpleScheme scheme) => Simp uuid: scheme.uuid, name: scheme.name, shared: scheme.shared, - liked: scheme.liked, + liked: scheme.liked ?? false, likes: scheme.metadata?['likes'] ?? 0, downloads: scheme.metadata?['downloads'] ?? 0, ); diff --git a/api/start.sh b/api/start.sh index f084689..fc53fe0 100644 --- a/api/start.sh +++ b/api/start.sh @@ -5,4 +5,5 @@ docker-compose up -d MIGRATION_IMAGE="$(docker image ls --filter label=stage=dart_builder -q)" docker run --name=dgm_api_migrate --network dgm_api_default "$MIGRATION_IMAGE" docker rm "$(docker ps -a --filter name=dgm_api_migrate -q)" -docker image prune -f --filter label=stage=dart_builder \ No newline at end of file +docker image prune -f --filter label=stage=dart_builder +docker image prune -f \ No newline at end of file diff --git a/app/lib/models/local_schemes_web.dart b/app/lib/models/local_schemes_web.dart index efa4cbf..a2f9e24 100644 --- a/app/lib/models/local_schemes_web.dart +++ b/app/lib/models/local_schemes_web.dart @@ -36,6 +36,7 @@ class LocalSchemes implements LocalSchemesInterface { } return entry; } + return null; }) .where((e) => e != null) .cast() diff --git a/app/lib/widgets/login.dart b/app/lib/widgets/login.dart index ef648ce..387d0eb 100644 --- a/app/lib/widgets/login.dart +++ b/app/lib/widgets/login.dart @@ -63,6 +63,7 @@ class _LoginWidgetState extends State { else throw e; } + return null; }, onSubmitAnimationCompleted: () { var token = H().sp.getString(SPKeys.accessToken); @@ -75,7 +76,7 @@ class _LoginWidgetState extends State { .read() .setProps(accessToken: token, email: H().sp.getString(SPKeys.loginEmail)); }, - onRecoverPassword: (_) {}, + onRecoverPassword: (_) => null, hideForgotPasswordButton: true, disableCustomPageTransformer: true, messages: LoginMessages( @@ -87,11 +88,13 @@ class _LoginWidgetState extends State { if (FlutterLogin.defaultEmailValidator(value) != null) { return LocaleKeys.me_login_email_error_hint.tr(); } + return null; }, passwordValidator: (value) { if (value!.isEmpty || value.length < 8 || value.length > 16) { return LocaleKeys.me_login_password_hint.tr(); } + return null; }, theme: LoginTheme( pageColorDark: Colors.transparent, diff --git a/app/lib/widgets/me.dart b/app/lib/widgets/me.dart index c8d00d5..7b63474 100644 --- a/app/lib/widgets/me.dart +++ b/app/lib/widgets/me.dart @@ -114,7 +114,7 @@ class _MeWidgetState extends State { if (mounted && value != null) setState(() { _schemes = value; - _selected = value.first.uuid; + _selected = value.isEmpty ? null : value.first.uuid; }); }); }, @@ -261,7 +261,7 @@ class _MeWidgetState extends State { DButton.like( enabled: true, onTap: () { - Api.likeScheme(schemeId: currentSelectedScheme!.uuid!, isLike: !currentSelectedScheme.liked!) + Api.likeScheme(schemeId: currentSelectedScheme!.uuid!, isLike: !currentSelectedScheme.liked) .then((value) { if (value) { _refreshList();