Explorar o código

page improvements

Milan Jurkulak %!s(int64=3) %!d(string=hai) anos
pai
achega
0c4e919552

+ 3 - 4
app/src/main/kotlin/org/mjdev/tvapp/ui/screens/MainScreen.kt

@@ -35,15 +35,14 @@ class MainScreen : ScreenWithPages() {
 
     override val pages: (PagerScope.() -> Unit) = {
 
-        page(SearchPage())
+        page(SearchPage(), menuGravity = Top)
 
         page(MainPage(), isStartPage = true)
         page(SubscriptionPage())
-
         page(PluginsPage())
-        page(SettingsPage())
 
-        page(AboutPage())
+        page(SettingsPage(), menuGravity = Bottom)
+        page(AboutPage(), menuGravity = Bottom)
 
     }
 

+ 3 - 1
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/badge/Badge.kt

@@ -38,7 +38,9 @@ fun Badge(
     onClick: () -> Unit = {}
 ) {
     FocusableBox(
-        modifier = modifier.clip(CircleShape).recomposeHighlighter(),
+        modifier = modifier
+            .clip(CircleShape)
+            .recomposeHighlighter(),
         shape = shape,
         onClick = onClick
     ) {

+ 0 - 2
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/page/Page.kt

@@ -26,7 +26,6 @@ import org.mjdev.tvlib.extensions.ComposeExt.rememberFocusRequester
 import org.mjdev.tvlib.extensions.ModifierExt.recomposeHighlighter
 import org.mjdev.tvlib.extensions.ModifierExt.requestFocusOnTouch
 import org.mjdev.tvlib.ui.components.complex.VerticalScrollableBox
-import org.mjdev.tvlib.navigation.MenuItem
 import org.mjdev.tvlib.navigation.NavHostControllerEx
 import org.mjdev.tvlib.ui.components.text.TextAny
 
@@ -36,7 +35,6 @@ open class Page {
 
     open val title: Any? = null
     open val icon: Any? = null
-    open val menuGravity = MenuItem.Gravity.Center
 
     @SuppressLint("ComposableNaming")
     @TvPreview

+ 11 - 3
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/page/PagerScope.kt

@@ -16,13 +16,17 @@ import org.mjdev.tvlib.extensions.ListExt.addUnique
 import org.mjdev.tvlib.navigation.MenuItem
 import org.mjdev.tvlib.navigation.NavHostControllerEx
 
-@Suppress("unused")
+@Suppress("unused", "PropertyName")
 class PagerScope(
     val navController: NavHostControllerEx,
     startIndex:Int = 0,
     pages: PagerScope.() -> Unit = {},
 ) : ArrayList<Page>() {
 
+    val Bottom = MenuItem.Gravity.Bottom
+    val Center = MenuItem.Gravity.Center
+    val Top = MenuItem.Gravity.Top
+
     val currentPage: MutableState<Int> = mutableIntStateOf(startIndex)
 
     init {
@@ -33,7 +37,11 @@ class PagerScope(
         navController.addMenuItem(*item)
     }
 
-    fun page(page: Page, isStartPage: Boolean = false) {
+    fun page(
+        page: Page,
+        menuGravity: MenuItem.Gravity = Center,
+        isStartPage: Boolean = false
+    ) {
         page.navController = navController
         addUnique(page)
         if (isStartPage) {
@@ -44,7 +52,7 @@ class PagerScope(
                 menuText = p.title,
                 menuIcon = p.icon,
                 menuPage = p,
-                menuGravity = p.menuGravity,
+                menuGravity = menuGravity,
             )
         }.also { menuItem ->
             navController.addUniqueMenuItem(menuItem)

+ 0 - 2
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/page/SearchPage.kt

@@ -14,13 +14,11 @@ import androidx.compose.material.icons.filled.Search
 import androidx.compose.runtime.Composable
 import org.mjdev.tvlib.R
 import org.mjdev.tvlib.annotations.TvPreview
-import org.mjdev.tvlib.navigation.MenuItem
 
 open class SearchPage : Page() {
 
     override val title: Any? = R.string.menu_title_search
     override val icon: Any? = Icons.Default.Search
-    override val menuGravity = MenuItem.Gravity.Top
 
     @SuppressLint("ComposableNaming")
     @TvPreview

+ 0 - 2
tvlib/src/main/kotlin/org/mjdev/tvlib/ui/components/page/SettingsPage.kt

@@ -14,13 +14,11 @@ import androidx.compose.material.icons.filled.Settings
 import androidx.compose.runtime.Composable
 import org.mjdev.tvlib.R
 import org.mjdev.tvlib.annotations.TvPreview
-import org.mjdev.tvlib.navigation.MenuItem
 
 open class SettingsPage : Page() {
 
     override val title: Any? = R.string.menu_title_settings
     override val icon: Any? = Icons.Default.Settings
-    override val menuGravity = MenuItem.Gravity.Bottom
 
     @SuppressLint("ComposableNaming")
     @TvPreview