|
@@ -4,6 +4,7 @@ import androidx.compose.runtime.Composable
|
|
|
import androidx.compose.runtime.remember
|
|
import androidx.compose.runtime.remember
|
|
|
import androidx.compose.runtime.rememberCoroutineScope
|
|
import androidx.compose.runtime.rememberCoroutineScope
|
|
|
import androidx.compose.ui.platform.LocalContext
|
|
import androidx.compose.ui.platform.LocalContext
|
|
|
|
|
+import com.google.accompanist.pager.ExperimentalPagerApi
|
|
|
import com.sirekanian.spacetime.data.Repository
|
|
import com.sirekanian.spacetime.data.Repository
|
|
|
import com.sirekanian.spacetime.data.api.ThumbnailApi
|
|
import com.sirekanian.spacetime.data.api.ThumbnailApi
|
|
|
import com.sirekanian.spacetime.ext.app
|
|
import com.sirekanian.spacetime.ext.app
|
|
@@ -24,6 +25,7 @@ interface MainPresenter {
|
|
|
fun savePage(page: ImagePage)
|
|
fun savePage(page: ImagePage)
|
|
|
fun removePage(page: ImagePage)
|
|
fun removePage(page: ImagePage)
|
|
|
fun loadGallery()
|
|
fun loadGallery()
|
|
|
|
|
+ fun openPageByIndex(index: Int)
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -61,6 +63,13 @@ class MainPresenterImpl(
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ override fun openPageByIndex(index: Int) {
|
|
|
|
|
+ scope.launch {
|
|
|
|
|
+ @OptIn(ExperimentalPagerApi::class)
|
|
|
|
|
+ state.pagerState.animateScrollToPage(index)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
private suspend fun updatePages() {
|
|
private suspend fun updatePages() {
|
|
|
state.pages = repository.getPages()
|
|
state.pages = repository.getPages()
|
|
|
}
|
|
}
|