mirror of
https://github.com/venera-app/venera.git
synced 2025-12-16 15:11:14 +00:00
Compare commits
1 Commits
feat/login
...
fix/comic-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9636cf62cb |
@@ -1159,7 +1159,7 @@ class ComicListState extends State<ComicList> {
|
|||||||
if (res.data.isEmpty) {
|
if (res.data.isEmpty) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_data[page] = const [];
|
_data[page] = const [];
|
||||||
_maxPage = page;
|
_maxPage ??= page;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
setState(() {
|
setState(() {
|
||||||
@@ -1282,8 +1282,8 @@ class ComicListState extends State<ComicList> {
|
|||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (_data[_page] == null) {
|
if (_data[1] == null) {
|
||||||
_loadPage(_page);
|
_loadPage(1);
|
||||||
return Column(
|
return Column(
|
||||||
children: [
|
children: [
|
||||||
if (widget.errorLeading != null) widget.errorLeading!,
|
if (widget.errorLeading != null) widget.errorLeading!,
|
||||||
@@ -1304,7 +1304,7 @@ class ComicListState extends State<ComicList> {
|
|||||||
comics: _data.values.expand((element) => element).toList(),
|
comics: _data.values.expand((element) => element).toList(),
|
||||||
menuBuilder: widget.menuBuilder,
|
menuBuilder: widget.menuBuilder,
|
||||||
onLastItemBuild: () {
|
onLastItemBuild: () {
|
||||||
if (_error == null && (_maxPage == null || _page < _maxPage!)) {
|
if (_error == null && (_maxPage == null || _data.length < _maxPage!)) {
|
||||||
_loadPage(_data.length + 1);
|
_loadPage(_data.length + 1);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -1334,7 +1334,7 @@ class ComicListState extends State<ComicList> {
|
|||||||
],
|
],
|
||||||
).paddingHorizontal(16).paddingVertical(8),
|
).paddingHorizontal(16).paddingVertical(8),
|
||||||
)
|
)
|
||||||
else if (_maxPage == null || _page < _maxPage!)
|
else if (_maxPage == null || _data.length < _maxPage!)
|
||||||
const SliverListLoadingIndicator(),
|
const SliverListLoadingIndicator(),
|
||||||
if (widget.trailingSliver != null) widget.trailingSliver!,
|
if (widget.trailingSliver != null) widget.trailingSliver!,
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1245,15 +1245,6 @@ class _LoginPageState extends State<_LoginPage> {
|
|||||||
if (widget.config.checkLoginStatus != null &&
|
if (widget.config.checkLoginStatus != null &&
|
||||||
widget.config.checkLoginStatus!(url, title)) {
|
widget.config.checkLoginStatus!(url, title)) {
|
||||||
var cookies = (await c.getCookies(url)) ?? [];
|
var cookies = (await c.getCookies(url)) ?? [];
|
||||||
var localStorageItems = await c.webStorage.localStorage.getItems();
|
|
||||||
var mappedLocalStorage = <String, dynamic>{};
|
|
||||||
for (var item in localStorageItems) {
|
|
||||||
if (item.key != null) {
|
|
||||||
mappedLocalStorage[item.key!] = item.value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
widget.source.data['_localStorage'] = mappedLocalStorage;
|
|
||||||
await widget.source.saveData();
|
|
||||||
SingleInstanceCookieJar.instance?.saveFromResponse(
|
SingleInstanceCookieJar.instance?.saveFromResponse(
|
||||||
Uri.parse(url),
|
Uri.parse(url),
|
||||||
cookies,
|
cookies,
|
||||||
@@ -1315,20 +1306,6 @@ class _LoginPageState extends State<_LoginPage> {
|
|||||||
Uri.parse(url),
|
Uri.parse(url),
|
||||||
cookies,
|
cookies,
|
||||||
);
|
);
|
||||||
var localStorageJson = await webview.evaluateJavascript(
|
|
||||||
"JSON.stringify(window.localStorage);",
|
|
||||||
);
|
|
||||||
var localStorage = <String, dynamic>{};
|
|
||||||
try {
|
|
||||||
var decoded = jsonDecode(localStorageJson ?? '');
|
|
||||||
if (decoded is Map<String, dynamic>) {
|
|
||||||
localStorage = decoded;
|
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
Log.error("ComicSourcePage", "Failed to parse localStorage JSON\n$e");
|
|
||||||
}
|
|
||||||
widget.source.data['_localStorage'] = localStorage;
|
|
||||||
await widget.source.saveData();
|
|
||||||
success = true;
|
success = true;
|
||||||
widget.config.onLoginWithWebviewSuccess?.call();
|
widget.config.onLoginWithWebviewSuccess?.call();
|
||||||
webview.close();
|
webview.close();
|
||||||
|
|||||||
Reference in New Issue
Block a user