Skip to content

Commit 26d5022

Browse files
committed
fix: handle initial null translator settings
1 parent b7ca1c9 commit 26d5022

File tree

5 files changed

+18
-11
lines changed

5 files changed

+18
-11
lines changed

lib/main_production.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Future<void> main() async {
1212
await SentryFlutter.init(
1313
(options) {
1414
options
15-
..environment = 'development'
15+
..environment = 'production'
1616
..tracesSampleRate = 1.0
1717
..dsn = dotenv.env['sentryLink'];
1818
},

lib/presentation/settings/models/translator_details.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ typedef TranslatorApiKeys = Map<String, String>;
1616
@freezed
1717
abstract class TranslatorSettings with _$TranslatorSettings {
1818
factory TranslatorSettings({
19-
required List<Translator> enabledTranslators,
20-
required TranslatorApiKeys apiKeys,
19+
@Default(<Translator>[]) List<Translator> enabledTranslators,
20+
@Default(<String, String>{}) TranslatorApiKeys apiKeys,
2121
}) = _TranslatorDetails;
2222

2323
factory TranslatorSettings.fromJson(Map<String, dynamic> json) =>

lib/presentation/settings/models/translator_details.freezed.dart

Lines changed: 4 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/presentation/settings/models/translator_details.g.dart

Lines changed: 8 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

lib/presentation/settings/respository/settings_repository.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@ final class SettingsRepository {
99
final FlutterSecureStorage storage;
1010

1111
// Get the translator API key from the secure storage
12-
Future<TranslatorSettings?> getAPIKey() async {
12+
Future<TranslatorSettings> getAPIKey() async {
1313
try {
1414
final data = await storage.read(key: KeyNameConstants.translator);
1515

1616
if (data == null || data.isEmpty) {
17-
return null;
17+
// Returns empty translator settings if no data is found
18+
return TranslatorSettings();
1819
}
1920

2021
return TranslatorSettings.fromJson(

0 commit comments

Comments
 (0)