Improved webview

This commit is contained in:
Juan Gilsanz Polo
2024-02-22 22:11:41 +01:00
parent 83fe30408f
commit 8d85b80b09
15 changed files with 465 additions and 430 deletions

View File

@@ -1,5 +1,5 @@
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:linkdy/screens/webview/model/webview.model.dart';
@@ -9,25 +9,25 @@ part 'webview.provider.g.dart';
class WebView extends _$WebView {
@override
WebViewModel build() {
return WebViewModel(
webViewController: WebViewController(
onPermissionRequest: (request) => request.deny(),
)
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
},
onPageStarted: (String url) {},
onPageFinished: (String url) {},
onWebResourceError: (WebResourceError error) {},
),
),
);
return WebViewModel();
}
void initialize(String url) {
state.webViewController.loadRequest(Uri.parse(url));
void initializeController(InAppWebViewController controller) {
state.inAppWebViewController = controller;
}
void setLoadProgress(int progress) {
state.loadProgress = progress;
ref.notifyListeners();
}
void setCanGoBack(bool value) {
state.canGoBack = value;
ref.notifyListeners();
}
void setCanGoForward(bool value) {
state.canGoForward = value;
ref.notifyListeners();
}
}

View File

@@ -6,7 +6,7 @@ part of 'webview.provider.dart';
// RiverpodGenerator
// **************************************************************************
String _$webViewHash() => r'9eb114ec97e04b92aa1e2ec9fc8948b1443c948c';
String _$webViewHash() => r'55d815688ade5764e1b2b4c862f81df45d98ae3b';
/// See also [WebView].
@ProviderFor(WebView)