Commit cfd8c5f
Changed files (6)
lib
screens
macos
lib/l10n/app_de.arb
@@ -83,6 +83,7 @@
"sysWarn": "Warnwert Sys",
"diaWarn": "Warnwert Dia",
"data": "Daten",
+ "version": "Version",
"exportImport": "Exportieren / Importieren",
"exportDir": "Export Ordner",
lib/l10n/app_en.arb
@@ -82,6 +82,7 @@
"sysWarn": "Systolic warn",
"diaWarn": "Diastolic warn",
"data": "Data",
+ "version": "Version",
"exportImport": "Export / Import",
"exportDir": "Export directory",
lib/screens/settings.dart
@@ -6,6 +6,7 @@ import 'package:blood_pressure_app/screens/subsettings/warn_about.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
+import 'package:package_info_plus/package_info_plus.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
@@ -257,6 +258,30 @@ class SettingsPage extends StatelessWidget {
],
),
SettingsSection(title: const Text('about'), children: [
+ FutureBuilder<PackageInfo>(
+ future: PackageInfo.fromPlatform(),
+ builder: (context, snapshot) {
+ String description = AppLocalizations.of(context)!.errNotStarted;
+ switch (snapshot.connectionState) {
+ case ConnectionState.waiting:
+ description = AppLocalizations.of(context)!.loading;
+ break;
+ default:
+ if (snapshot.hasError) {
+ description = (AppLocalizations.of(context)!.error(snapshot.error.toString()));
+ } else if (snapshot.hasData && snapshot.data != null) {
+ description = snapshot.data!.version;
+ }
+ }
+ return SettingsTile(
+ key: const Key('version'),
+ title: Text(AppLocalizations.of(context)!.version),
+ leading: const Icon(Icons.info_outline),
+ description: Text(description),
+ onPressed: (context) {}
+ );
+ },
+ ),
SettingsTile(
key: const Key('sourceCode'),
title: Text(AppLocalizations.of(context)!.sourceCode),
macos/Flutter/GeneratedPluginRegistrant.swift
@@ -6,6 +6,7 @@ import FlutterMacOS
import Foundation
import file_saver
+import package_info_plus
import path_provider_foundation
import share_plus
import shared_preferences_foundation
@@ -14,6 +15,7 @@ import url_launcher_macos
func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FileSaverPlugin.register(with: registry.registrar(forPlugin: "FileSaverPlugin"))
+ FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin"))
SharePlusMacosPlugin.register(with: registry.registrar(forPlugin: "SharePlusMacosPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
pubspec.lock
@@ -453,6 +453,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.0"
+ package_info_plus:
+ dependency: "direct main"
+ description:
+ name: package_info_plus
+ sha256: ceb027f6bc6a60674a233b4a90a7658af1aebdea833da0b5b53c1e9821a78c7b
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.0.2"
+ package_info_plus_platform_interface:
+ dependency: transitive
+ description:
+ name: package_info_plus_platform_interface
+ sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6"
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.0.1"
path:
dependency: "direct main"
description:
pubspec.yaml
@@ -48,6 +48,7 @@ dependencies:
mockito: ^5.4.1
pdf: ^3.10.4
jsaver: ^1.2.0
+ package_info_plus: ^4.0.2
dev_dependencies:
flutter_test: