mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-22 10:52:10 +00:00
Update: Replace usage of ScreenshotsFragment with ScreenshotsPage
This commit is contained in:
parent
74ae53eeba
commit
7c759cd937
@ -6,7 +6,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
|||||||
import androidx.compose.foundation.layout.requiredHeight
|
import androidx.compose.foundation.layout.requiredHeight
|
||||||
import androidx.compose.foundation.layout.wrapContentWidth
|
import androidx.compose.foundation.layout.wrapContentWidth
|
||||||
import androidx.compose.foundation.lazy.LazyRow
|
import androidx.compose.foundation.lazy.LazyRow
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.itemsIndexed
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.SideEffect
|
import androidx.compose.runtime.SideEffect
|
||||||
@ -35,14 +35,14 @@ fun Screenshot.toScreenshotItem(packageName: String, repository: Repository) =
|
|||||||
fun ScreenshotList(
|
fun ScreenshotList(
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
screenShots: List<ScreenshotItem>,
|
screenShots: List<ScreenshotItem>,
|
||||||
onScreenShotClick: (Screenshot) -> Unit = {}
|
onScreenShotClick: (Int) -> Unit
|
||||||
) {
|
) {
|
||||||
val screenShotList by remember { mutableStateOf(screenShots) }
|
val screenShotList by remember { mutableStateOf(screenShots) }
|
||||||
LazyRow(
|
LazyRow(
|
||||||
modifier = modifier.fillMaxWidth(),
|
modifier = modifier.fillMaxWidth(),
|
||||||
horizontalArrangement = Arrangement.spacedBy(8.dp)
|
horizontalArrangement = Arrangement.spacedBy(8.dp)
|
||||||
) {
|
) {
|
||||||
items(screenShotList) {
|
itemsIndexed(screenShotList) { index, it ->
|
||||||
|
|
||||||
var image by remember { mutableStateOf<String?>(null) }
|
var image by remember { mutableStateOf<String?>(null) }
|
||||||
|
|
||||||
@ -59,9 +59,9 @@ fun ScreenshotList(
|
|||||||
.wrapContentWidth()
|
.wrapContentWidth()
|
||||||
.requiredHeight(300.dp)
|
.requiredHeight(300.dp)
|
||||||
.clip(MaterialTheme.shapes.large)
|
.clip(MaterialTheme.shapes.large)
|
||||||
.clickable { onScreenShotClick(it.screenShot) },
|
.clickable { onScreenShotClick(index) },
|
||||||
data = image
|
data = image
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ import androidx.compose.runtime.livedata.observeAsState
|
|||||||
import androidx.compose.runtime.mutableStateOf
|
import androidx.compose.runtime.mutableStateOf
|
||||||
import androidx.compose.runtime.remember
|
import androidx.compose.runtime.remember
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
@ -71,7 +72,6 @@ import com.machiav3lli.fdroid.service.Connection
|
|||||||
import com.machiav3lli.fdroid.service.DownloadService
|
import com.machiav3lli.fdroid.service.DownloadService
|
||||||
import com.machiav3lli.fdroid.ui.activities.MainActivityX
|
import com.machiav3lli.fdroid.ui.activities.MainActivityX
|
||||||
import com.machiav3lli.fdroid.ui.compose.components.ExpandableBlock
|
import com.machiav3lli.fdroid.ui.compose.components.ExpandableBlock
|
||||||
import com.machiav3lli.fdroid.ui.compose.components.ScreenshotItem
|
|
||||||
import com.machiav3lli.fdroid.ui.compose.components.ScreenshotList
|
import com.machiav3lli.fdroid.ui.compose.components.ScreenshotList
|
||||||
import com.machiav3lli.fdroid.ui.compose.components.SwitchPreference
|
import com.machiav3lli.fdroid.ui.compose.components.SwitchPreference
|
||||||
import com.machiav3lli.fdroid.ui.compose.components.appsheet.AppInfoChips
|
import com.machiav3lli.fdroid.ui.compose.components.appsheet.AppInfoChips
|
||||||
@ -82,8 +82,11 @@ import com.machiav3lli.fdroid.ui.compose.components.appsheet.PermissionsItem
|
|||||||
import com.machiav3lli.fdroid.ui.compose.components.appsheet.ReleaseItem
|
import com.machiav3lli.fdroid.ui.compose.components.appsheet.ReleaseItem
|
||||||
import com.machiav3lli.fdroid.ui.compose.components.appsheet.SourceCodeCard
|
import com.machiav3lli.fdroid.ui.compose.components.appsheet.SourceCodeCard
|
||||||
import com.machiav3lli.fdroid.ui.compose.components.appsheet.TopBarHeader
|
import com.machiav3lli.fdroid.ui.compose.components.appsheet.TopBarHeader
|
||||||
|
import com.machiav3lli.fdroid.ui.compose.components.toScreenshotItem
|
||||||
import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
|
import com.machiav3lli.fdroid.ui.compose.theme.AppTheme
|
||||||
import com.machiav3lli.fdroid.ui.compose.utils.Callbacks
|
import com.machiav3lli.fdroid.ui.compose.utils.Callbacks
|
||||||
|
import com.machiav3lli.fdroid.ui.dialog.BaseDialog
|
||||||
|
import com.machiav3lli.fdroid.ui.pages.ScreenshotsPage
|
||||||
import com.machiav3lli.fdroid.ui.viewmodels.AppViewModelX
|
import com.machiav3lli.fdroid.ui.viewmodels.AppViewModelX
|
||||||
import com.machiav3lli.fdroid.utility.Utils.rootInstallerEnabled
|
import com.machiav3lli.fdroid.utility.Utils.rootInstallerEnabled
|
||||||
import com.machiav3lli.fdroid.utility.Utils.startUpdate
|
import com.machiav3lli.fdroid.utility.Utils.startUpdate
|
||||||
@ -362,6 +365,8 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks {
|
|||||||
@Composable
|
@Composable
|
||||||
fun AppSheet() {
|
fun AppSheet() {
|
||||||
val includeIncompatible = Preferences[Preferences.Key.IncompatibleVersions]
|
val includeIncompatible = Preferences[Preferences.Key.IncompatibleVersions]
|
||||||
|
val showScreenshots = remember { mutableStateOf(false) }
|
||||||
|
var screenshotPage by remember { mutableStateOf(0) }
|
||||||
val installed by viewModel.installedItem.observeAsState()
|
val installed by viewModel.installedItem.observeAsState()
|
||||||
val products by viewModel.products.observeAsState()
|
val products by viewModel.products.observeAsState()
|
||||||
val repos by viewModel.repositories.observeAsState()
|
val repos by viewModel.repositories.observeAsState()
|
||||||
@ -506,13 +511,13 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks {
|
|||||||
if (Preferences[Preferences.Key.ShowScreenshots]) {
|
if (Preferences[Preferences.Key.ShowScreenshots]) {
|
||||||
item {
|
item {
|
||||||
ScreenshotList(screenShots = suggestedProductRepo.first.screenshots.map {
|
ScreenshotList(screenShots = suggestedProductRepo.first.screenshots.map {
|
||||||
ScreenshotItem(
|
it.toScreenshotItem(
|
||||||
screenShot = it,
|
|
||||||
repository = repo,
|
repository = repo,
|
||||||
packageName = product.packageName
|
packageName = product.packageName
|
||||||
)
|
)
|
||||||
}) {
|
}) { index ->
|
||||||
onScreenshotClick(it)
|
screenshotPage = index
|
||||||
|
showScreenshots.value = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -659,6 +664,20 @@ class AppSheetX() : FullscreenBottomSheetDialogFragment(), Callbacks {
|
|||||||
Spacer(modifier = Modifier.height(8.dp))
|
Spacer(modifier = Modifier.height(8.dp))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (showScreenshots.value) {
|
||||||
|
BaseDialog(openDialogCustom = showScreenshots) {
|
||||||
|
ScreenshotsPage(
|
||||||
|
screenshots = suggestedProductRepo.first.screenshots.map {
|
||||||
|
it.toScreenshotItem(
|
||||||
|
repository = repo,
|
||||||
|
packageName = product.packageName
|
||||||
|
)
|
||||||
|
},
|
||||||
|
page = screenshotPage
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user