Skip to content

Commit

Permalink
Improvements to the map
Browse files Browse the repository at this point in the history
  • Loading branch information
Wolfteam committed Mar 9, 2021
1 parent 5c17dba commit 0b71b67
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 31 deletions.
67 changes: 36 additions & 31 deletions lib/presentation/map/map_page.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_user_agent/flutter_user_agent.dart';
import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
import 'package:genshindb/application/bloc.dart';
import 'package:genshindb/generated/l10n.dart';
Expand All @@ -15,6 +16,7 @@ class _MapPageState extends State<MapPage> {
final flutterWebviewPlugin = FlutterWebviewPlugin();

final String script = '''
let wasRemoved = false;
function removeAds(){
//console.log("Removing ads..");
let topNav = document.getElementById("topnav");
Expand All @@ -23,40 +25,35 @@ class _MapPageState extends State<MapPage> {
}
let elements = document.getElementsByClassName("nav-link");
let total = elements.length;
for (let index = 0; index < total; index++) {
const element = elements[index];
const text = element.childNodes[0].textContent;
if (text !== "Markers") {
element.remove();
total--;
index--;
}
if (total === 1)
break;
}
let total = elements.length;
for (let index = 0; index < total; index++) {
const element = elements[index];
if (index === 2 && !wasRemoved) {
element.remove();
wasRemoved = true;
}
}
total = document.getElementsByClassName("fixed-bottom").length;
for (let index = 0; index < total; index++) {
if (document.getElementsByClassName("fixed-bottom").length > 0)
document.getElementsByClassName("fixed-bottom")[0].remove();
}
total = document.getElementsByClassName("fixed-bottom").length;
for (let index = 0; index < total; index++) {
if (document.getElementsByClassName("fixed-bottom").length > 0)
document.getElementsByClassName("fixed-bottom")[0].remove();
}
}
setTimeout(removeAds, 800);
setTimeout(removeAds, 1600);
setTimeout(removeAds, 3200);
setTimeout(removeAds, 6400);
setTimeout(removeAds, 500);
setTimeout(removeAds, 1000);
setTimeout(removeAds, 2000);
setTimeout(removeAds, 3500);
''';

@override
void initState() {
super.initState();
flutterWebviewPlugin.onStateChanged.listen((WebViewStateChanged state) {
flutterWebviewPlugin.onStateChanged.listen((WebViewStateChanged state) async {
if (mounted) {
if (state.type == WebViewState.finishLoad) {
if (state.type == WebViewState.finishLoad && !state.url.contains('google')) {
debugPrint('loaded...');
_onPageLoaded();
await _onPageLoaded();
} else if (state.type == WebViewState.abortLoad) {
// if there is a problem with loading the url
debugPrint('there is a problem...');
Expand Down Expand Up @@ -88,12 +85,20 @@ class _MapPageState extends State<MapPage> {
return state.map(
loading: (_) => const Loading(),
loaded: (state) {
final userAgent = FlutterUserAgent.webViewUserAgent.replaceAll(RegExp(r'wv'), '');
if (state.hasInternetConnection) {
return WebviewScaffold(
url: state.mapUrl,
hidden: true,
clearCache: true,
clearCookies: true,
userAgent: userAgent,
ignoreSSLErrors: true,
withJavascript: true,
withLocalStorage: true,
appCacheEnabled: true,
clearCookies: false,
clearCache: false,
initialChild: const Center(
child: CircularProgressIndicator(),
),
);
}
return PageMessage(text: s.noInternetConnection);
Expand All @@ -118,8 +123,8 @@ class _MapPageState extends State<MapPage> {
return Rect.fromLTWH(0.0, top + statusBarHeight, mediaQuery.size.width, height - statusBarHeight);
}

void _onPageLoaded() {
flutterWebviewPlugin.resize(_buildRect());
flutterWebviewPlugin.evalJavascript(script);
Future<void> _onPageLoaded() async {
await flutterWebviewPlugin.resize(_buildRect());
await flutterWebviewPlugin.evalJavascript(script);
}
}
7 changes: 7 additions & 0 deletions pubspec.lock
Expand Up @@ -310,6 +310,13 @@ packages:
description: flutter
source: sdk
version: "0.0.0"
flutter_user_agent:
dependency: "direct main"
description:
name: flutter_user_agent
url: "https://pub.dartlang.org"
source: hosted
version: "1.2.2"
flutter_web_plugins:
dependency: transitive
description: flutter
Expand Down
1 change: 1 addition & 0 deletions pubspec.yaml
Expand Up @@ -35,6 +35,7 @@ dependencies:
flutter_localizations:
sdk: flutter
flutter_staggered_grid_view: ^0.3.4
flutter_user_agent: ^1.2.2
flutter_webview_plugin: ^0.3.11
fluttertoast: ^7.1.8
freezed_annotation: ^0.12.0
Expand Down

0 comments on commit 0b71b67

Please sign in to comment.