-#Tue Dec 07 16:15:51 CET 2021
+#Mon Apr 24 14:18:06 CEST 2023
distributionBase=GRADLE_USER_HOME
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
distributionPath=wrapper/dists
-zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
}
class PVEWebConsoleState extends State<PVEWebConsole> {
- final Completer<WebViewController> _controller =
- Completer<WebViewController>();
-
@override
Widget build(BuildContext context) {
final ticket = widget.apiClient.credentials.ticket!;
final baseUrl = widget.apiClient.credentials.apiBaseUrl;
- var consoleUrl = "${baseUrl}/?novnc=1&node=${widget.node}&isFullscreen=true&resize=scale";
+ var consoleUrl =
+ "$baseUrl/?novnc=1&node=${widget.node}&isFullscreen=true&resize=scale";
if (widget.guestID != null) {
final consoleType = widget.type == 'lxc' ? 'lxc' : 'kvm';
- consoleUrl += "&console=${consoleType}&vmid=${widget.guestID}";
+ consoleUrl += "&console=$consoleType&vmid=${widget.guestID}";
} else {
consoleUrl += "&console=shell";
}
- //debugPrint("url: ${consoleUrl}, ticket: $ticket");
-
- return SafeArea(
- child: WebView(
- javascriptMode: JavascriptMode.unrestricted,
- backgroundColor: Theme.of(context).colorScheme.background,
- initialCookies: <WebViewCookie>[
- WebViewCookie(
- name: 'PVEAuthCookie',
- value: ticket,
- domain: baseUrl.origin,
- )
- ],
- onWebViewCreated: (WebViewController webViewController) {
- _controller.complete(webViewController);
- webViewController.loadUrl(consoleUrl);
- },
- ),
- );
+
+ final controller = WebViewController()
+ ..setJavaScriptMode(JavaScriptMode.unrestricted)
+ ..setBackgroundColor(Theme.of(context).colorScheme.background)
+ ..loadRequest(Uri.parse(consoleUrl));
+
+ return FutureBuilder(
+ future: WebViewCookieManager().setCookie(WebViewCookie(
+ name: 'PVEAuthCookie',
+ value: ticket,
+ domain: baseUrl.origin,
+ )),
+ builder: (context, snapshot) {
+ return SafeArea(
+ child: WebViewWidget(
+ controller: controller,
+ ),
+ );
+ });
}
}