diff --git a/assets/translation.json b/assets/translation.json index 0825140..b7e6389 100644 --- a/assets/translation.json +++ b/assets/translation.json @@ -232,7 +232,10 @@ "No Category Pages": "没有分类页面", "Chapter @ep": "第 @ep 章", "Page @page": "第 @page 页", - "Also remove files on disk": "同时删除磁盘上的文件" + "Also remove files on disk": "同时删除磁盘上的文件", + "New version available": "有新版本可用", + "A new version is available. Do you want to update now?" : "有新版本可用。您要现在更新吗?", + "No new version available": "没有新版本可用" }, "zh_TW": { "Home": "首頁", @@ -467,6 +470,9 @@ "No Category Pages": "沒有分類頁面", "Chapter @ep": "第 @ep 章", "Page @page": "第 @page 頁", - "Also remove files on disk": "同時刪除磁盤上的文件" + "Also remove files on disk": "同時刪除磁盤上的文件", + "New version available": "有新版本可用", + "A new version is available. Do you want to update now?" : "有新版本可用。您要現在更新嗎?", + "No new version available": "沒有新版本可用" } } \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index f4fb9c8..d2e827d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -6,9 +6,7 @@ import 'package:flutter_localizations/flutter_localizations.dart'; import 'package:rhttp/rhttp.dart'; import 'package:venera/foundation/log.dart'; import 'package:venera/pages/auth_page.dart'; -import 'package:venera/pages/comic_source_page.dart'; import 'package:venera/pages/main_page.dart'; -import 'package:venera/pages/settings/settings_page.dart'; import 'package:venera/utils/app_links.dart'; import 'package:venera/utils/io.dart'; import 'package:window_manager/window_manager.dart'; @@ -69,7 +67,6 @@ class MyApp extends StatefulWidget { class _MyAppState extends State with WidgetsBindingObserver { @override void initState() { - checkUpdates(); App.registerForceRebuild(forceRebuild); SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); WidgetsBinding.instance.addObserver(this); @@ -227,22 +224,6 @@ class _MyAppState extends State with WidgetsBindingObserver { }, ); } - - void checkUpdates() async { - if (!appdata.settings['checkUpdateOnStart']) { - return; - } - var lastCheck = appdata.implicitData['lastCheckUpdate'] ?? 0; - var now = DateTime.now().millisecondsSinceEpoch; - if (now - lastCheck < 24 * 60 * 60 * 1000) { - return; - } - appdata.implicitData['lastCheckUpdate'] = now; - appdata.writeImplicitData(); - await Future.delayed(const Duration(milliseconds: 300)); - await checkUpdateUi(false); - await ComicSourcePage.checkComicSourceUpdate(true); - } } class _SystemUiProvider extends StatelessWidget { diff --git a/lib/pages/main_page.dart b/lib/pages/main_page.dart index 4610da6..3cba828 100644 --- a/lib/pages/main_page.dart +++ b/lib/pages/main_page.dart @@ -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'; @@ -6,6 +7,7 @@ import 'package:venera/utils/translations.dart'; import '../components/components.dart'; import '../foundation/app.dart'; +import 'comic_source_page.dart'; import 'explore_page.dart'; import 'favorites/favorites_page.dart'; import 'home_page.dart'; @@ -34,8 +36,25 @@ class _MainPageState extends State { _navigatorKey!.currentContext!.pop(); } + void checkUpdates() async { + if (!appdata.settings['checkUpdateOnStart']) { + return; + } + var lastCheck = appdata.implicitData['lastCheckUpdate'] ?? 0; + var now = DateTime.now().millisecondsSinceEpoch; + if (now - lastCheck < 24 * 60 * 60 * 1000) { + return; + } + appdata.implicitData['lastCheckUpdate'] = now; + appdata.writeImplicitData(); + await Future.delayed(const Duration(milliseconds: 300)); + await checkUpdateUi(false); + await ComicSourcePage.checkComicSourceUpdate(true); + } + @override void initState() { + checkUpdates(); _observer = NaviObserver(); _navigatorKey = GlobalKey(); App.mainNavigatorKey = _navigatorKey;