mirror of
https://github.com/dstark5/Openlib.git
synced 2025-08-15 01:41:19 +08:00
added systemNavigationBarColor to blend with bottom navbar
This commit is contained in:
@ -1,5 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'dart:io' show Platform;
|
import 'dart:io' show Platform;
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
import 'package:google_nav_bar/google_nav_bar.dart';
|
import 'package:google_nav_bar/google_nav_bar.dart';
|
||||||
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
|
import 'package:sqflite_common_ffi/sqflite_ffi.dart';
|
||||||
@ -14,11 +15,11 @@ import 'package:openlib/services/files.dart'
|
|||||||
show moveFilesToAndroidInternalStorage;
|
show moveFilesToAndroidInternalStorage;
|
||||||
import 'package:openlib/state/state.dart'
|
import 'package:openlib/state/state.dart'
|
||||||
show
|
show
|
||||||
selectedIndexProvider,
|
selectedIndexProvider,
|
||||||
themeModeProvider,
|
themeModeProvider,
|
||||||
openPdfWithExternalAppProvider,
|
openPdfWithExternalAppProvider,
|
||||||
openEpubWithExternalAppProvider,
|
openEpubWithExternalAppProvider,
|
||||||
dbProvider;
|
dbProvider;
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
@ -32,11 +33,15 @@ void main() async {
|
|||||||
MyLibraryDb dataBase = MyLibraryDb(dbInstance: initDb);
|
MyLibraryDb dataBase = MyLibraryDb(dbInstance: initDb);
|
||||||
bool isDarkMode = await dataBase.getPreference('darkMode');
|
bool isDarkMode = await dataBase.getPreference('darkMode');
|
||||||
bool openPdfwithExternalapp =
|
bool openPdfwithExternalapp =
|
||||||
await dataBase.getPreference('openPdfwithExternalApp');
|
await dataBase.getPreference('openPdfwithExternalApp');
|
||||||
bool openEpubwithExternalapp =
|
bool openEpubwithExternalapp =
|
||||||
await dataBase.getPreference('openEpubwithExternalApp');
|
await dataBase.getPreference('openEpubwithExternalApp');
|
||||||
|
|
||||||
if (Platform.isAndroid) {
|
if (Platform.isAndroid) {
|
||||||
|
//[SystemChrome] Also change colors in settings page Theme colors if any change
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
|
||||||
|
systemNavigationBarColor:
|
||||||
|
isDarkMode ? Colors.black : Colors.grey.shade200));
|
||||||
await moveFilesToAndroidInternalStorage();
|
await moveFilesToAndroidInternalStorage();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -45,7 +50,7 @@ void main() async {
|
|||||||
overrides: [
|
overrides: [
|
||||||
dbProvider.overrideWithValue(dataBase),
|
dbProvider.overrideWithValue(dataBase),
|
||||||
themeModeProvider.overrideWith(
|
themeModeProvider.overrideWith(
|
||||||
(ref) => isDarkMode ? ThemeMode.dark : ThemeMode.light),
|
(ref) => isDarkMode ? ThemeMode.dark : ThemeMode.light),
|
||||||
openPdfWithExternalAppProvider
|
openPdfWithExternalAppProvider
|
||||||
.overrideWith((ref) => openPdfwithExternalapp),
|
.overrideWith((ref) => openPdfwithExternalapp),
|
||||||
openEpubWithExternalAppProvider
|
openEpubWithExternalAppProvider
|
||||||
@ -110,7 +115,7 @@ class _HomePageState extends ConsumerState<HomePage> {
|
|||||||
bottomNavigationBar: SafeArea(
|
bottomNavigationBar: SafeArea(
|
||||||
child: GNav(
|
child: GNav(
|
||||||
rippleColor: Colors.redAccent,
|
rippleColor: Colors.redAccent,
|
||||||
backgroundColor: isDarkMode ? Colors.black : Colors.grey.shade300,
|
backgroundColor: isDarkMode ? Colors.black : Colors.grey.shade200,
|
||||||
haptic: true,
|
haptic: true,
|
||||||
tabBorderRadius: 50,
|
tabBorderRadius: 50,
|
||||||
tabActiveBorder: Border.all(
|
tabActiveBorder: Border.all(
|
||||||
@ -129,7 +134,7 @@ class _HomePageState extends ConsumerState<HomePage> {
|
|||||||
GButton(
|
GButton(
|
||||||
icon: Icons.trending_up,
|
icon: Icons.trending_up,
|
||||||
text: 'Trending',
|
text: 'Trending',
|
||||||
iconColor: isDarkMode ? Colors.white : Colors.black,
|
iconColor: isDarkMode ? Colors.white : Colors.black,
|
||||||
textStyle: const TextStyle(
|
textStyle: const TextStyle(
|
||||||
fontWeight: FontWeight.w900,
|
fontWeight: FontWeight.w900,
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
|
@ -1,4 +1,6 @@
|
|||||||
|
import 'dart:io';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
||||||
|
|
||||||
import 'package:openlib/ui/components/page_title_widget.dart';
|
import 'package:openlib/ui/components/page_title_widget.dart';
|
||||||
@ -42,6 +44,12 @@ class SettingsPage extends ConsumerWidget {
|
|||||||
ref.read(themeModeProvider.notifier).state =
|
ref.read(themeModeProvider.notifier).state =
|
||||||
value == true ? ThemeMode.dark : ThemeMode.light;
|
value == true ? ThemeMode.dark : ThemeMode.light;
|
||||||
ref.read(dbProvider).savePreference('darkMode', value);
|
ref.read(dbProvider).savePreference('darkMode', value);
|
||||||
|
|
||||||
|
if (Platform.isAndroid) {
|
||||||
|
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
|
||||||
|
systemNavigationBarColor:
|
||||||
|
value ? Colors.black : Colors.grey.shade200));
|
||||||
|
}
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
Reference in New Issue
Block a user