TF-2667 Create ApplicationVersionWidget to display app version

This commit is contained in:
dab246
2024-03-06 11:14:33 +07:00
committed by Dat H. Pham
parent c9fed1fa41
commit 61687b60e0
20 changed files with 233 additions and 143 deletions
+2
View File
@@ -8,6 +8,7 @@ import 'package:core/presentation/utils/app_toast.dart';
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:core/presentation/views/toast/tmail_toast.dart';
import 'package:core/utils/app_logger.dart';
import 'package:core/utils/application_manager.dart';
import 'package:core/utils/fps_manager.dart';
import 'package:core/utils/platform_info.dart';
import 'package:dartz/dartz.dart';
@@ -76,6 +77,7 @@ abstract class BaseController extends GetxController
final ImagePaths imagePaths = Get.find<ImagePaths>();
final ResponsiveUtils responsiveUtils = Get.find<ResponsiveUtils>();
final Uuid uuid = Get.find<Uuid>();
final ApplicationManager applicationManager = Get.find<ApplicationManager>();
bool _isFcmEnabled = false;
@@ -0,0 +1,44 @@
import 'package:core/presentation/extensions/color_extension.dart';
import 'package:core/utils/application_manager.dart';
import 'package:flutter/material.dart';
class ApplicationVersionWidget extends StatelessWidget {
final ApplicationManager applicationManager;
final EdgeInsetsGeometry? padding;
final String? title;
final TextStyle? textStyle;
const ApplicationVersionWidget({
super.key,
required this.applicationManager,
this.title,
this.textStyle,
this.padding,
});
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: applicationManager.getVersion(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Padding(
padding: padding ?? const EdgeInsets.only(top: 6),
child: Text(
'${title ?? 'v.'}${snapshot.data}',
textAlign: TextAlign.center,
style: textStyle ?? Theme.of(context).textTheme.labelMedium?.copyWith(
fontSize: 13,
color: AppColor.colorContentEmail,
fontWeight: FontWeight.w500
),
),
);
} else {
return const SizedBox.shrink();
}
}
);
}
}