34 lines
934 B
Dart
34 lines
934 B
Dart
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));
|
|
}
|
|
}
|