Files
vikunja_ios/VikunjaApp/WebView.swift
T

44 lines
1.1 KiB
Swift

//
// WebView.swift
// VikunjaApp
//
// Created by Justin Schwegmann on 13.03.26.
//
import SwiftUI
import WebKit
struct WebView: UIViewRepresentable {
let url: URL
@Binding var canGoBack: Bool
func makeCoordinator() -> Coordinator {
Coordinator(self)
}
func makeUIView(context: Context) -> WKWebView {
let config = WKWebViewConfiguration()
config.websiteDataStore = WKWebsiteDataStore.default() // persistent auf Disk
let webView = WKWebView(frame: .zero, configuration: config)
webView.navigationDelegate = context.coordinator
webView.allowsBackForwardNavigationGestures = true
context.coordinator.webView = webView
webView.load(URLRequest(url: url))
return webView
}
func updateUIView(_ webView: WKWebView, context: Context) {}
class Coordinator: NSObject, WKNavigationDelegate {
var parent: WebView
var webView: WKWebView?
init(_ parent: WebView) { self.parent = parent }
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
parent.canGoBack = webView.canGoBack
}
}
}