feat(mobile): use map settings from server-config (#4045)

* feat(mobile): use map settings from server-config to enable / disable map

* refactor(mobile): remove async await for server info update
This commit is contained in:
shenlong 2023-09-28 03:26:48 +00:00 committed by GitHub
parent b7fcec7ce3
commit a937efe719
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 113 additions and 12 deletions

View file

@ -15,6 +15,24 @@ class ServerInfoNotifier extends StateNotifier<ServerInfoState> {
patch_: 0,
minor: 0,
),
serverFeatures: ServerFeaturesDto(
clipEncode: true,
configFile: false,
facialRecognition: true,
map: true,
oauth: false,
oauthAutoLaunch: false,
passwordLogin: true,
search: true,
sidecar: true,
tagImage: true,
reverseGeocoding: true,
),
serverConfig: ServerConfigDto(
loginPageMessage: "",
mapTileUrl: "https://tile.openstreetmap.org/{z}/{x}/{y}.png",
oauthButtonText: "",
),
isVersionMismatch: false,
versionMismatchErrorMessage: "",
),
@ -22,6 +40,12 @@ class ServerInfoNotifier extends StateNotifier<ServerInfoState> {
final ServerInfoService _serverInfoService;
getServerInfo() {
getServerVersion();
getServerFeatures();
getServerConfig();
}
getServerVersion() async {
ServerVersionResponseDto? serverVersion =
await _serverInfoService.getServerVersion();
@ -66,6 +90,23 @@ class ServerInfoNotifier extends StateNotifier<ServerInfoState> {
);
}
getServerFeatures() async {
ServerFeaturesDto? serverFeatures =
await _serverInfoService.getServerFeatures();
if (serverFeatures == null) {
return;
}
state = state.copyWith(serverFeatures: serverFeatures);
}
getServerConfig() async {
ServerConfigDto? serverConfig = await _serverInfoService.getServerConfig();
if (serverConfig == null) {
return;
}
state = state.copyWith(serverConfig: serverConfig);
}
Map<String, int> _getDetailVersion(String version) {
List<String> detail = version.split(".");