Skip to content

Commit

Permalink
Merge pull request #585 from getlantern/ox/buildInfo
Browse files Browse the repository at this point in the history
Build Info PR Suggestions
  • Loading branch information
oxtoacart authored Nov 29, 2021
2 parents c6dd3ae + 4b1f440 commit 3188be1
Show file tree
Hide file tree
Showing 5 changed files with 53 additions and 39 deletions.
6 changes: 6 additions & 0 deletions assets/locales/en.po
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@ msgstr "Proxy everything"
msgid "proxy_everything_is"
msgstr "Proxy everything is %s"

msgid "version_number"
msgstr "Version %s"

msgid "build_number"
msgstr "Build %s"

msgid "language"
msgstr "Language"

Expand Down
52 changes: 35 additions & 17 deletions lib/account/settings.dart
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
import 'package:auto_route/auto_route.dart';
import 'package:intl/intl.dart';
import 'package:lantern/common/common.dart';
import 'package:lantern/common/package_info.dart';
import 'package:lantern/core/router/router.gr.dart';
import 'package:lantern/messaging/messaging_model.dart';
import 'package:package_info_plus/package_info_plus.dart';

class Settings extends StatelessWidget {
Settings({Key? key}) : super(key: key);

final packageInfo = PackageInfo.fromPlatform();

void openInfoProxyAll(BuildContext context) {
showInfoDialog(context,
title: 'proxy_all'.i18n,
Expand Down Expand Up @@ -118,23 +120,39 @@ class Settings extends StatelessWidget {
],
)),
//* Build version
Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Container(
padding:
const EdgeInsetsDirectional.only(bottom: 8.0, end: 8.0),
child: getVersion(),
),
Container(
padding:
const EdgeInsetsDirectional.only(bottom: 8.0, end: 8.0),
child: getBuildNumber(),
FutureBuilder<PackageInfo>(
future: packageInfo,
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Container();
}
return Expanded(
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.end,
children: [
Container(
padding: const EdgeInsetsDirectional.only(
bottom: 8.0, end: 8.0),
child: CText(
'version_number'
.i18n
.fill([snapshot.data?.version ?? '']),
style: tsOverline.copiedWith(color: pink4)),
),
Container(
padding: const EdgeInsetsDirectional.only(
bottom: 8.0, end: 8.0),
child: CText(
'build_number'
.i18n
.fill([snapshot.data?.buildNumber ?? '']),
style: tsOverline.copiedWith(color: pink4)),
),
],
),
],
),
);
},
),
],
),
Expand Down
9 changes: 7 additions & 2 deletions lib/app.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ import 'dart:ui';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:lantern/event_manager.dart';
import 'package:lantern/common/common.dart';
import 'package:lantern/common/session_model.dart';
import 'package:lantern/common/ui/audio.dart';
import 'package:lantern/core/router/router.gr.dart';
import 'package:lantern/event_manager.dart';
import 'package:lantern/messaging/messaging.dart';
import 'package:lantern/vpn/vpn_model.dart';
import 'package:loader_overlay/loader_overlay.dart';
Expand All @@ -18,6 +18,8 @@ final globalRouter = AppRouter(navigatorKey);
class LanternApp extends StatelessWidget {
LanternApp({Key? key}) : super(key: key);

final translations = Localization.loadTranslations();

@override
Widget build(BuildContext context) {
return MultiProvider(
Expand All @@ -32,8 +34,11 @@ class LanternApp extends StatelessWidget {
],
// We typically don't use FutureBuilder, but it's okay here
child: FutureBuilder(
future: Localization.loadTranslations(),
future: translations,
builder: (BuildContext context, AsyncSnapshot<void> snapshot) {
if (!snapshot.hasData) {
return Container();
}
return GlobalLoaderOverlay(
overlayColor: Colors.black,
overlayOpacity: 0.6,
Expand Down
17 changes: 0 additions & 17 deletions lib/common/package_info.dart

This file was deleted.

8 changes: 5 additions & 3 deletions lib/i18n/i18n.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ extension Localization on String {

static TranslationsByLocale translations = Translations.byLocale(locale);

static Future<void> loadTranslations() async {
translations +=
await GettextImporter().fromAssetDirectory('assets/locales');
static Future<TranslationsByLocale> loadTranslations() {
return GettextImporter().fromAssetDirectory('assets/locales').then((value) {
translations += value;
return translations;
});
}

String get i18n =>
Expand Down

0 comments on commit 3188be1

Please # to comment.