Show the server version in Settings

This commit is contained in:
Ming Ming 2023-05-11 00:51:45 +08:00
parent 2b177d7679
commit f919e853af
3 changed files with 41 additions and 0 deletions

View file

@ -431,6 +431,10 @@
"@settingsVersionTitle": {
"description": "Title of the version data item"
},
"settingsServerVersionTitle": "Server",
"@settingsServerVersionTitle": {
"description": "This item will show the server software version, e.g., Nextcloud 25"
},
"settingsSourceCodeTitle": "Source code",
"@settingsSourceCodeTitle": {
"description": "Title of the source code item"

View file

@ -1,6 +1,7 @@
{
"cs": [
"nameInputInvalidEmpty",
"settingsServerVersionTitle",
"createCollectionFailureNotification",
"addItemToCollectionTooltip",
"addItemToCollectionFailureNotification",
@ -58,6 +59,7 @@
"settingsClearCacheDatabaseTitle",
"settingsClearCacheDatabaseDescription",
"settingsClearCacheDatabaseSuccessNotification",
"settingsServerVersionTitle",
"rootPickerSkipConfirmationDialogContent2",
"timeSecondInputHint",
"sortOptionFilenameAscendingLabel",
@ -248,6 +250,7 @@
"settingsClearCacheDatabaseTitle",
"settingsClearCacheDatabaseDescription",
"settingsClearCacheDatabaseSuccessNotification",
"settingsServerVersionTitle",
"slideshowSetupDialogReverseTitle",
"shareMethodPreviewTitle",
"shareMethodPreviewDescription",
@ -324,6 +327,7 @@
"es": [
"nameInputInvalidEmpty",
"settingsServerVersionTitle",
"createCollectionFailureNotification",
"addItemToCollectionTooltip",
"addItemToCollectionFailureNotification",
@ -335,6 +339,7 @@
],
"fi": [
"settingsServerVersionTitle",
"createCollectionFailureNotification",
"addItemToCollectionTooltip",
"addItemToCollectionFailureNotification",
@ -377,6 +382,7 @@
"settingsClearCacheDatabaseTitle",
"settingsClearCacheDatabaseDescription",
"settingsClearCacheDatabaseSuccessNotification",
"settingsServerVersionTitle",
"sortOptionFilenameAscendingLabel",
"sortOptionFilenameDescendingLabel",
"helpTooltip",
@ -498,6 +504,7 @@
"settingsClearCacheDatabaseTitle",
"settingsClearCacheDatabaseDescription",
"settingsClearCacheDatabaseSuccessNotification",
"settingsServerVersionTitle",
"sortOptionFilenameAscendingLabel",
"sortOptionFilenameDescendingLabel",
"slideshowSetupDialogReverseTitle",
@ -605,6 +612,7 @@
"pt": [
"nameInputInvalidEmpty",
"settingsServerVersionTitle",
"createCollectionFailureNotification",
"addItemToCollectionTooltip",
"addItemToCollectionFailureNotification",
@ -646,6 +654,7 @@
"settingsClearCacheDatabaseTitle",
"settingsClearCacheDatabaseDescription",
"settingsClearCacheDatabaseSuccessNotification",
"settingsServerVersionTitle",
"sortOptionFilenameAscendingLabel",
"sortOptionFilenameDescendingLabel",
"slideshowSetupDialogReverseTitle",
@ -764,6 +773,7 @@
"settingsClearCacheDatabaseTitle",
"settingsClearCacheDatabaseDescription",
"settingsClearCacheDatabaseSuccessNotification",
"settingsServerVersionTitle",
"sortOptionFilenameAscendingLabel",
"sortOptionFilenameDescendingLabel",
"slideshowSetupDialogReverseTitle",
@ -882,6 +892,7 @@
"settingsClearCacheDatabaseTitle",
"settingsClearCacheDatabaseDescription",
"settingsClearCacheDatabaseSuccessNotification",
"settingsServerVersionTitle",
"sortOptionFilenameAscendingLabel",
"sortOptionFilenameDescendingLabel",
"slideshowSetupDialogReverseTitle",

View file

@ -2,12 +2,15 @@ import 'dart:async';
import 'package:event_bus/event_bus.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:kiwi/kiwi.dart';
import 'package:logging/logging.dart';
import 'package:nc_photos/account.dart';
import 'package:nc_photos/app_localizations.dart';
import 'package:nc_photos/controller/account_controller.dart';
import 'package:nc_photos/debug_util.dart';
import 'package:nc_photos/di_container.dart';
import 'package:nc_photos/entity/server_status.dart';
import 'package:nc_photos/entity/sqlite/database.dart' as sql;
import 'package:nc_photos/event/event.dart';
import 'package:nc_photos/exception_util.dart' as exception_util;
@ -211,6 +214,29 @@ class _SettingsState extends State<Settings> {
}
},
),
StreamBuilder<ServerStatus?>(
stream:
context.read<AccountController>().serverController.status,
initialData: context
.read<AccountController>()
.serverController
.status
.valueOrNull,
builder: (context, snapshot) {
if (!snapshot.hasData) {
return const ListTile(
title: Text("Server"),
);
} else {
final status = snapshot.requireData!;
return ListTile(
title: const Text("Server"),
subtitle: Text(
"${status.productName} ${status.majorVersion} (${status.versionName})"),
);
}
},
),
ListTile(
title: Text(L10n.global().settingsSourceCodeTitle),
onTap: () {