package me.ash.reader.ui.widget import android.content.Intent import android.graphics.Bitmap import android.net.Uri import android.net.http.SslError import android.util.Log import android.webkit.* import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.viewinterop.AndroidView import androidx.hilt.navigation.compose.hiltViewModel import me.ash.reader.ui.page.home.read.ReadViewAction import me.ash.reader.ui.page.home.read.ReadViewModel import me.ash.reader.ui.util.collectAsStateValue @Composable fun WebView( modifier: Modifier = Modifier, content: String, viewModel: ReadViewModel = hiltViewModel(), onProgressChange: (progress: Int) -> Unit = {}, onReceivedError: (error: WebResourceError?) -> Unit = {} ) { val context = LocalContext.current val color = MaterialTheme.colorScheme.secondary.toArgb() val backgroundColor = MaterialTheme.colorScheme.surface.toArgb() val viewState = viewModel.viewState.collectAsStateValue() val webViewClient = object : WebViewClient() { override fun onPageStarted( view: WebView?, url: String?, favicon: Bitmap? ) { super.onPageStarted(view, url, favicon) // _isLoading = true onProgressChange(-1) } override fun onPageFinished(view: WebView?, url: String?) { super.onPageFinished(view, url) val jsCode = "javascript:(function(){" + "var imgs=document.getElementsByTagName(\"img\");" + "for(var i=0;i """