1
0
mirror of https://github.com/go-vikunja/app synced 2024-06-06 04:29:47 +00:00

refactor: remove unused code

This commit is contained in:
Denys Vitali 2024-03-26 22:11:22 +01:00
parent 3025e10861
commit b46491daf8
No known key found for this signature in database
GPG Key ID: 5227C664145098BC
2 changed files with 36 additions and 51 deletions

View File

@ -1,4 +1,3 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -18,7 +17,6 @@ class HomePageState extends State<HomePage> {
int _selectedDrawerIndex = 0, _previousDrawerIndex = 0;
Widget? drawerItem;
List<Widget> widgets = [
ChangeNotifierProvider<ProjectProvider>(
create: (_) => new ProjectProvider(),
@ -36,7 +34,6 @@ class HomePageState extends State<HomePage> {
@override
Widget build(BuildContext context) {
final currentUser = VikunjaGlobal.of(context).currentUser;
if (_selectedDrawerIndex != _previousDrawerIndex || drawerItem == null)
drawerItem = _getDrawerItemWidget(_selectedDrawerIndex);

View File

@ -5,8 +5,7 @@ import 'package:vikunja_app/models/user.dart';
import 'package:webview_flutter/webview_flutter.dart';
class LoginWithWebView extends StatefulWidget {
String frontEndUrl;
final String frontEndUrl;
LoginWithWebView(this.frontEndUrl);
@override
@ -14,80 +13,70 @@ class LoginWithWebView extends StatefulWidget {
}
class LoginWithWebViewState extends State<LoginWithWebView> {
WebViewWidget? webView;
late WebViewController webViewController;
bool destroyed = false;
@override
void initState() {
super.initState();
webViewController = WebViewController()
..clearLocalStorage()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setUserAgent("Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Mobile Safari/537.36")
..setUserAgent(
"Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Mobile Safari/537.36")
..setNavigationDelegate(NavigationDelegate(
onPageFinished: (value) => _handlePageFinished(value),
))
..loadRequest(Uri.parse(widget.frontEndUrl)).then((value) => {
webViewController.runJavaScript("localStorage.clear(); location.href=location.href;")
});
/*
webView = WebViewWidget(
initialUrl: widget.frontEndUrl,
javascriptMode: JavascriptMode.unrestricted,
onPageFinished: (value) => _handlePageFinished(value),
userAgent: "Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Mobile Safari/537.36",
onWebViewCreated: (controller) {
webViewController = controller;
webViewController!.runJavaScript("localStorage.clear(); location.href=location.href;");
},
);
*/
webViewController.runJavaScript(
"localStorage.clear(); location.href=location.href;")
});
}
@override
Widget build(BuildContext context) {
return WillPopScope(child: Scaffold(
appBar: AppBar(),
body: WebViewWidget(controller: webViewController,)
),
onWillPop: () async {
String? currentUrl = await webViewController.currentUrl();
if (currentUrl != null) {
bool hasPopped = await _handlePageFinished(currentUrl);
return Future.value(!hasPopped);
}
return Future.value(false);
},);
return PopScope(
child: Scaffold(
appBar: AppBar(),
body: WebViewWidget(
controller: webViewController,
)),
onPopInvoked: (didPop) async {
String? currentUrl = await webViewController.currentUrl();
if (currentUrl != null) {
bool hasPopped = await _handlePageFinished(currentUrl);
return Future.value(!hasPopped);
}
return Future.value(false);
},
);
}
Future<bool> _handlePageFinished(String pageLocation) async {
log("handlePageFinished");
String localStorage = (await webViewController
.runJavaScriptReturningResult("JSON.stringify(localStorage);")).toString();
.runJavaScriptReturningResult("JSON.stringify(localStorage);"))
.toString();
String apiUrl = (await webViewController.runJavaScriptReturningResult("API_URL")).toString();
String token = (await webViewController.runJavaScriptReturningResult("localStorage['token']")).toString();
String apiUrl =
(await webViewController.runJavaScriptReturningResult("API_URL"))
.toString();
String token = (await webViewController
.runJavaScriptReturningResult("localStorage['token']"))
.toString();
if (localStorage.toString() != "{}") {
apiUrl = apiUrl.replaceAll("\"", "");
token = token.replaceAll("\"", "");
if(!apiUrl.startsWith("http")) {
if(pageLocation.endsWith("/"))
pageLocation = pageLocation.substring(0,pageLocation.length-1);
if (!apiUrl.startsWith("http")) {
if (pageLocation.endsWith("/"))
pageLocation = pageLocation.substring(0, pageLocation.length - 1);
apiUrl = pageLocation + apiUrl;
}
if (apiUrl != "null" && token != "null") {
BaseTokenPair baseTokenPair = BaseTokenPair(
apiUrl, token);
if(destroyed)
return true;
BaseTokenPair baseTokenPair = BaseTokenPair(apiUrl, token);
if (destroyed) return true;
destroyed = true;
print("pop now");
Navigator.pop(context, baseTokenPair);
@ -95,7 +84,6 @@ class LoginWithWebViewState extends State<LoginWithWebView> {
return true;
}
}
return false;
return false;
}
}
}