|
|
|
@ -8,7 +8,7 @@ import android.view.View
|
|
|
|
|
import androidx.compose.runtime.Composable
|
|
|
|
|
import androidx.compose.ui.platform.ComposeView
|
|
|
|
|
import androidx.lifecycle.LifecycleOwner
|
|
|
|
|
import mozilla.components.lib.state.ext.observeAsState
|
|
|
|
|
import mozilla.components.lib.state.ext.observeAsComposableState
|
|
|
|
|
import org.mozilla.fenix.components.components
|
|
|
|
|
import org.mozilla.fenix.compose.ComposeViewHolder
|
|
|
|
|
import org.mozilla.fenix.home.sessioncontrol.TopSiteInteractor
|
|
|
|
@ -31,23 +31,26 @@ class TopSitesViewHolder(
|
|
|
|
|
@Composable
|
|
|
|
|
override fun Content() {
|
|
|
|
|
val topSites =
|
|
|
|
|
components.appStore.observeAsState(emptyList()) { state -> state.topSites }.value
|
|
|
|
|
components.appStore.observeAsComposableState { state -> state.topSites }.value
|
|
|
|
|
val wallpaperState = components.appStore
|
|
|
|
|
.observeAsState(WallpaperState.default) { state -> state.wallpaperState }.value
|
|
|
|
|
.observeAsComposableState { state -> state.wallpaperState }.value
|
|
|
|
|
?: WallpaperState.default
|
|
|
|
|
|
|
|
|
|
TopSites(
|
|
|
|
|
topSites = topSites,
|
|
|
|
|
topSiteColors = TopSiteColors.colors(wallpaperState = wallpaperState),
|
|
|
|
|
onTopSiteClick = { topSite ->
|
|
|
|
|
interactor.onSelectTopSite(topSite, topSites.indexOf(topSite))
|
|
|
|
|
},
|
|
|
|
|
onTopSiteLongClick = interactor::onTopSiteLongClicked,
|
|
|
|
|
onOpenInPrivateTabClicked = interactor::onOpenInPrivateTabClicked,
|
|
|
|
|
onRenameTopSiteClicked = interactor::onRenameTopSiteClicked,
|
|
|
|
|
onRemoveTopSiteClicked = interactor::onRemoveTopSiteClicked,
|
|
|
|
|
onSettingsClicked = interactor::onSettingsClicked,
|
|
|
|
|
onSponsorPrivacyClicked = interactor::onSponsorPrivacyClicked,
|
|
|
|
|
)
|
|
|
|
|
topSites?.let {
|
|
|
|
|
TopSites(
|
|
|
|
|
topSites = it,
|
|
|
|
|
topSiteColors = TopSiteColors.colors(wallpaperState = wallpaperState),
|
|
|
|
|
onTopSiteClick = { topSite ->
|
|
|
|
|
interactor.onSelectTopSite(topSite, it.indexOf(topSite))
|
|
|
|
|
},
|
|
|
|
|
onTopSiteLongClick = interactor::onTopSiteLongClicked,
|
|
|
|
|
onOpenInPrivateTabClicked = interactor::onOpenInPrivateTabClicked,
|
|
|
|
|
onRenameTopSiteClicked = interactor::onRenameTopSiteClicked,
|
|
|
|
|
onRemoveTopSiteClicked = interactor::onRemoveTopSiteClicked,
|
|
|
|
|
onSettingsClicked = interactor::onSettingsClicked,
|
|
|
|
|
onSponsorPrivacyClicked = interactor::onSponsorPrivacyClicked,
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
companion object {
|
|
|
|
|