diff --git a/lib/main.dart b/lib/main.dart
index 083d45518d226e235efbd78d96e89dd24b17eb0c..47dc74ada4d972af0cbc5be3494b082775bdb17e 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -1,5 +1,4 @@
 import 'dart:async';
-import 'dart:convert';
 import 'dart:io';
 
 import 'package:connectivity_wrapper/connectivity_wrapper.dart';
@@ -13,7 +12,6 @@ import 'package:flutter/services.dart';
 import 'package:flutter_bloc/flutter_bloc.dart';
 import 'package:flutter_displaymode/flutter_displaymode.dart';
 import 'package:introduction_screen/introduction_screen.dart';
-import 'package:json_theme/json_theme.dart';
 import 'package:l10n_esperanto/l10n_esperanto.dart';
 import 'package:lehttp_overrides/lehttp_overrides.dart';
 import 'package:once/once.dart';
@@ -63,15 +61,25 @@ const String fetchWalletsTransactionsTask =
 void main() async {
   await NotificationController.initializeLocalNotifications();
 
-  final String themeDarkStr =
-      await rootBundle.loadString('assets/appainter_theme_dark.json');
-  final dynamic themeDarkJson = jsonDecode(themeDarkStr);
-  final ThemeData themeDark = ThemeDecoder.decodeThemeData(themeDarkJson)!;
+  // const int seedColorOld = 0xff526600;
 
-  final String themeLightStr =
-      await rootBundle.loadString('assets/appainter_theme_light.json');
-  final dynamic themeLightJson = jsonDecode(themeLightStr);
-  final ThemeData themeLight = ThemeDecoder.decodeThemeData(themeLightJson)!;
+  const int seedColor = 0xff98FB98;
+  final int seedColorDark = Colors.lightGreen.value;
+  final ThemeData lightTheme = ThemeData.from(
+    colorScheme: ColorScheme.fromSeed(
+      seedColor: const Color(seedColor),
+      // brightness: Brightness.light,
+    ),
+    useMaterial3: true,
+  );
+
+  final ThemeData darkTheme = ThemeData.from(
+    colorScheme: ColorScheme.fromSeed(
+      seedColor: Color(seedColorDark),
+      brightness: Brightness.dark,
+    ),
+    useMaterial3: true,
+  );
 
   // To resolve Let's Encrypt SSL certificate problems with Android 7.1.1 and below
   if (!kIsWeb && Platform.isAndroid) {
@@ -175,7 +183,7 @@ void main() async {
                     // Add other BlocProviders here if needed
                   ],
                   child:
-                      GinkgoApp(themeDark: themeDark, themeLight: themeLight)),
+                      GinkgoApp(darkTheme: darkTheme, lightTheme: lightTheme)),
             )));
       });
   if (inDevelopment) {
@@ -334,14 +342,14 @@ PageViewModel createPageViewModel(
 
 class GinkgoApp extends StatefulWidget {
   const GinkgoApp(
-      {super.key, required this.themeLight, required this.themeDark});
+      {super.key, required this.lightTheme, required this.darkTheme});
 
   // The navigator key is necessary to navigate using static methods
   static final GlobalKey<NavigatorState> navigatorKey =
       GlobalKey<NavigatorState>();
 
-  final ThemeData themeDark;
-  final ThemeData themeLight;
+  final ThemeData darkTheme;
+  final ThemeData lightTheme;
 
   @override
   State<GinkgoApp> createState() => _GinkgoAppState();
@@ -490,8 +498,9 @@ class _GinkgoAppState extends State<GinkgoApp> {
           await onKeyScanned(context, link);
           if (!mounted) {
             return;
+          } else {
+            context.read<BottomNavCubit>().updateIndex(0);
           }
-          context.read<BottomNavCubit>().updateIndex(0);
         }
       }
     }, onError: (Object err) {
@@ -524,8 +533,8 @@ class _GinkgoAppState extends State<GinkgoApp> {
               child: MaterialApp(
                 /// Localization is not available for the title.
                 title: 'Äž1nkgo',
-                theme: widget.themeLight,
-                darkTheme: widget.themeDark,
+                theme: widget.lightTheme,
+                darkTheme: widget.darkTheme,
                 navigatorKey: GinkgoApp.navigatorKey,
                 scaffoldMessengerKey: globalMessengerKey,