import 'package:flutter/material.dart'; import 'package:selfprivacy/config/brand_theme.dart'; import 'package:selfprivacy/logic/api_maps/graphql_maps/server_api/server.dart'; import 'package:selfprivacy/ui/components/brand_header/brand_header.dart'; import 'package:selfprivacy/ui/components/brand_text/brand_text.dart'; import 'package:package_info/package_info.dart'; import 'package:easy_localization/easy_localization.dart'; class InfoPage extends StatelessWidget { const InfoPage({final super.key}); @override Widget build(final BuildContext context) => SafeArea( child: Scaffold( appBar: PreferredSize( preferredSize: const Size.fromHeight(52), child: BrandHeader(title: 'more.about_app'.tr(), hasBackButton: true), ), body: ListView( padding: paddingH15V0, children: [ const SizedBox(height: 10), FutureBuilder( future: _packageVersion(), builder: (final context, final snapshot) => BrandText.body1( 'more.about_app_page.application_version_text' .tr(args: [snapshot.data.toString()]), ), ), FutureBuilder( future: _apiVersion(), builder: (final context, final snapshot) => BrandText.body1( 'more.about_app_page.api_version_text' .tr(args: [snapshot.data.toString()]), ), ), ], ), ), ); Future _packageVersion() async { String packageVersion = 'unknown'; try { final PackageInfo packageInfo = await PackageInfo.fromPlatform(); packageVersion = packageInfo.version; } catch (e) { print(e); } return packageVersion; } Future _apiVersion() async { String apiVersion = 'unknown'; try { apiVersion = await ServerApi().getApiVersion() ?? apiVersion; } catch (e) { print(e); } return apiVersion; } }