mirror of
https://github.com/venera-app/venera.git
synced 2025-09-27 07:47:24 +00:00
Add initial page setting. Close #240
This commit is contained in:
@@ -7,7 +7,9 @@ import 'package:venera/utils/data_sync.dart';
|
||||
import 'package:venera/utils/io.dart';
|
||||
|
||||
class Appdata {
|
||||
final Settings settings = Settings();
|
||||
Appdata._create();
|
||||
|
||||
final Settings settings = Settings._create();
|
||||
|
||||
var searchHistory = <String>[];
|
||||
|
||||
@@ -110,10 +112,10 @@ class Appdata {
|
||||
}
|
||||
}
|
||||
|
||||
final appdata = Appdata();
|
||||
final appdata = Appdata._create();
|
||||
|
||||
class Settings with ChangeNotifier {
|
||||
Settings();
|
||||
Settings._create();
|
||||
|
||||
final _data = <String, dynamic>{
|
||||
'comicDisplayMode': 'detailed', // detailed, brief
|
||||
@@ -161,6 +163,7 @@ class Settings with ChangeNotifier {
|
||||
'comicSourceListUrl': "https://cdn.jsdelivr.net/gh/venera-app/venera-configs@latest/index.json",
|
||||
'preloadImageCount': 4,
|
||||
'followUpdatesFolder': null,
|
||||
'initialPage': '0',
|
||||
};
|
||||
|
||||
operator [](String key) {
|
||||
|
@@ -1,4 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:venera/foundation/appdata.dart';
|
||||
import 'package:venera/pages/categories_page.dart';
|
||||
import 'package:venera/pages/search_page.dart';
|
||||
import 'package:venera/pages/settings/settings_page.dart';
|
||||
@@ -39,6 +40,7 @@ class _MainPageState extends State<MainPage> {
|
||||
_observer = NaviObserver();
|
||||
_navigatorKey = GlobalKey();
|
||||
App.mainNavigatorKey = _navigatorKey;
|
||||
index = int.tryParse(appdata.settings['initialPage'].toString()) ?? 0;
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@@ -60,6 +62,7 @@ class _MainPageState extends State<MainPage> {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return NaviPane(
|
||||
initialPage: index,
|
||||
observer: _observer,
|
||||
navigatorKey: _navigatorKey!,
|
||||
paneItems: [
|
||||
|
@@ -80,6 +80,16 @@ class _ExploreSettingsState extends State<ExploreSettings> {
|
||||
'japanese': "Japanese",
|
||||
},
|
||||
).toSliver(),
|
||||
SelectSetting(
|
||||
title: "Initial Page".tl,
|
||||
settingKey: "initialPage",
|
||||
optionTranslation: {
|
||||
'0': "Home Page".tl,
|
||||
'1': "Favorites Page".tl,
|
||||
'2': "Explore Page".tl,
|
||||
'3': "Categories Page".tl,
|
||||
},
|
||||
).toSliver(),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user