59f68efdc7
The HTML spinner loaded via loadHTMLString was immediately replaced by the real navigation and never had a chance to render. This is the same problem Android had with its HTML spinner (though for a different reason — Android's froze due to main thread saturation). Use a native UIActivityIndicatorView on a dark overlay, matching the Android approach with ProgressBar. The spinner is added as a subview on top of the WKWebView inside a container UIView, and removed in webView(_:didFinish:) via WKNavigationDelegate. Also wraps the WKWebView in a container UIView (like Android's FrameLayout) so the spinner overlay can sit on top independently.