Added webview

This commit is contained in:
Juan Gilsanz Polo
2024-02-22 19:09:35 +01:00
parent 1521fd0f7e
commit 7c20697661
10 changed files with 143 additions and 2 deletions

View File

@@ -0,0 +1,33 @@
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:webview_flutter/webview_flutter.dart';
import 'package:my_linkding/screens/webview/model/webview.model.dart';
part 'webview.provider.g.dart';
@riverpod
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) {},
),
),
);
}
void initialize(String url) {
state.webViewController.loadRequest(Uri.parse(url));
}
}

View File

@@ -0,0 +1,25 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'webview.provider.dart';
// **************************************************************************
// RiverpodGenerator
// **************************************************************************
String _$webViewHash() => r'9eb114ec97e04b92aa1e2ec9fc8948b1443c948c';
/// See also [WebView].
@ProviderFor(WebView)
final webViewProvider =
AutoDisposeNotifierProvider<WebView, WebViewModel>.internal(
WebView.new,
name: r'webViewProvider',
debugGetCreateSourceHash:
const bool.fromEnvironment('dart.vm.product') ? null : _$webViewHash,
dependencies: null,
allTransitiveDependencies: null,
);
typedef _$WebView = AutoDisposeNotifier<WebViewModel>;
// ignore_for_file: type=lint
// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member