49 lines
1.7 KiB
Kotlin
49 lines
1.7 KiB
Kotlin
|
package eu.kanade.presentation.components
|
||
|
|
||
|
import androidx.compose.foundation.layout.Row
|
||
|
import androidx.compose.foundation.layout.RowScope
|
||
|
import androidx.compose.foundation.layout.WindowInsets
|
||
|
import androidx.compose.foundation.layout.fillMaxWidth
|
||
|
import androidx.compose.foundation.layout.height
|
||
|
import androidx.compose.foundation.layout.windowInsetsPadding
|
||
|
import androidx.compose.foundation.selection.selectableGroup
|
||
|
import androidx.compose.material3.MaterialTheme
|
||
|
import androidx.compose.material3.NavigationBarDefaults
|
||
|
import androidx.compose.material3.contentColorFor
|
||
|
import androidx.compose.runtime.Composable
|
||
|
import androidx.compose.ui.Modifier
|
||
|
import androidx.compose.ui.graphics.Color
|
||
|
import androidx.compose.ui.unit.Dp
|
||
|
import androidx.compose.ui.unit.dp
|
||
|
|
||
|
/**
|
||
|
* M3 Navbar with no horizontal spacer
|
||
|
*
|
||
|
* @see [androidx.compose.material3.NavigationBar]
|
||
|
*/
|
||
|
@Composable
|
||
|
fun NavigationBar(
|
||
|
modifier: Modifier = Modifier,
|
||
|
containerColor: Color = NavigationBarDefaults.containerColor,
|
||
|
contentColor: Color = MaterialTheme.colorScheme.contentColorFor(containerColor),
|
||
|
tonalElevation: Dp = NavigationBarDefaults.Elevation,
|
||
|
windowInsets: WindowInsets = NavigationBarDefaults.windowInsets,
|
||
|
content: @Composable RowScope.() -> Unit,
|
||
|
) {
|
||
|
androidx.compose.material3.Surface(
|
||
|
color = containerColor,
|
||
|
contentColor = contentColor,
|
||
|
tonalElevation = tonalElevation,
|
||
|
modifier = modifier,
|
||
|
) {
|
||
|
Row(
|
||
|
modifier = Modifier
|
||
|
.fillMaxWidth()
|
||
|
.windowInsetsPadding(windowInsets)
|
||
|
.height(80.dp)
|
||
|
.selectableGroup(),
|
||
|
content = content,
|
||
|
)
|
||
|
}
|
||
|
}
|