50 lines
1.5 KiB
Kotlin
50 lines
1.5 KiB
Kotlin
package xyz.r0r5chach.person_website
|
|
|
|
import androidx.compose.foundation.layout.Row
|
|
import androidx.compose.foundation.layout.fillMaxWidth
|
|
import androidx.compose.foundation.layout.padding
|
|
import androidx.compose.material.Button
|
|
import androidx.compose.material.Icon
|
|
import androidx.compose.material.icons.Icons
|
|
import androidx.compose.material.icons.filled.Home
|
|
import androidx.compose.runtime.Composable
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.unit.dp
|
|
import androidx.constraintlayout.compose.ConstraintLayout
|
|
import cafe.adriel.voyager.navigator.LocalNavigator
|
|
import cafe.adriel.voyager.navigator.currentOrThrow
|
|
|
|
|
|
class Header {
|
|
companion object {
|
|
@Composable
|
|
fun header(mode: Mode) {
|
|
ConstraintLayout(
|
|
modifier = Modifier
|
|
.padding(5.dp)
|
|
.fillMaxWidth()
|
|
) {
|
|
val (logo, navbar) = createRefs()
|
|
|
|
logo(Modifier.constrainAs(logo) {
|
|
when (mode) {
|
|
Mode.Desktop -> start.linkTo(parent.start)
|
|
Mode.Mobile -> top.linkTo(parent.top)
|
|
}
|
|
})
|
|
|
|
Navigation.navbar(Modifier.constrainAs(navbar) {
|
|
when (mode) {
|
|
Mode.Desktop -> end.linkTo(parent.end)
|
|
Mode.Mobile -> top.linkTo(logo.bottom)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|
|
@Composable
|
|
fun logo(modifier: Modifier) {
|
|
//TODO: Logo
|
|
}
|
|
}
|
|
} |