Skip to content
Snippets Groups Projects
Commit 561b4533 authored by vjrj's avatar vjrj
Browse files

Use of simple themes

parent 778a28cf
No related branches found
No related tags found
No related merge requests found
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,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment