Files
sendico/frontend/pshared/lib/config/apply.dart
2026-03-17 14:21:56 +01:00

65 lines
2.1 KiB
Dart

import 'package:flutter/material.dart';
import 'package:pshared/config/reader.dart';
void applyCommonConfiguration(
Map<String, dynamic> configJson, {
required String currentApiProto,
required void Function(String) setApiProto,
required String currentApiHost,
required void Function(String) setApiHost,
required String currentApiEndpoint,
required void Function(String) setApiEndpoint,
required String currentPosthogApiKey,
required void Function(String) setPosthogApiKey,
required String currentPosthogHost,
required void Function(String) setPosthogHost,
required Locale currentDefaultLocale,
required void Function(Locale) setDefaultLocale,
required String currentWsProto,
required void Function(String) setWsProto,
required String currentWsEndpoint,
required void Function(String) setWsEndpoint,
required int currentDefaultDimensionLength,
required void Function(int) setDefaultDimensionLength,
required String currentClientId,
required void Function(String) setClientId,
required Color currentThemeColor,
required void Function(Color) setThemeColor,
}) {
setApiProto(readConfigString(configJson, 'apiProto', currentApiProto));
setApiHost(readConfigString(configJson, 'apiHost', currentApiHost));
setApiEndpoint(
readConfigString(configJson, 'apiEndpoint', currentApiEndpoint),
);
setPosthogApiKey(
readConfigString(configJson, 'posthogApiKey', currentPosthogApiKey),
);
setPosthogHost(
readConfigString(configJson, 'posthogHost', currentPosthogHost),
);
setDefaultLocale(
Locale(
readConfigString(
configJson,
'defaultLocale',
currentDefaultLocale.languageCode,
),
),
);
setWsProto(readConfigString(configJson, 'wsProto', currentWsProto));
setWsEndpoint(readConfigString(configJson, 'wsEndpoint', currentWsEndpoint));
setDefaultDimensionLength(
readConfigInt(
configJson,
'defaultDimensionLength',
currentDefaultDimensionLength,
),
);
setClientId(readConfigString(configJson, 'clientId', currentClientId));
setThemeColor(
Color(
readConfigInt(configJson, 'themeColor', currentThemeColor.toARGB32()),
),
);
}