All Downloads are FREE. Search and download functionalities are using the official Maven repository.

haerzig.core.views.Bars.kt Maven / Gradle / Ivy

package haerzig.core.views

import androidx.compose.foundation.layout.RowScope
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import haerzig.core.R

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun TopAppBar(title: String, showGoBack: Boolean = true, actions: @Composable RowScope.() -> Unit = {}, onGoBack: () -> Unit = {}) {
    androidx.compose.material3.TopAppBar(
        title = {
            Text(
                modifier = Modifier.padding(5.dp), text = title, fontSize = 20.sp, fontWeight = FontWeight.Bold
            )
        },
        actions = actions,
        navigationIcon = {
            if (showGoBack) {
                ActionButton(painterResource(R.mipmap.ic_back), stringResource(R.string.go_back_alert_title)) { onGoBack.invoke() }
            }
        },
        colors = TopAppBarDefaults.topAppBarColors(containerColor = MaterialTheme.colorScheme.secondaryContainer, titleContentColor = MaterialTheme.colorScheme.onSecondaryContainer)

    )
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun DrawerTopAppBar(title: String, actions: @Composable RowScope.() -> Unit = {}, onDrawerIconClick: () -> Unit = {}) {
    androidx.compose.material3.TopAppBar(
        title = {
            Text(
                modifier = Modifier.padding(5.dp), text = title, fontSize = 20.sp, fontWeight = FontWeight.Bold
            )
        },
        actions = actions,
        navigationIcon = {
            ActionButton(painterResource(R.mipmap.ic_menu), stringResource(androidx.compose.ui.R.string.navigation_menu)) { onDrawerIconClick.invoke() }
        },
        colors = TopAppBarDefaults.topAppBarColors(containerColor = MaterialTheme.colorScheme.secondaryContainer, titleContentColor = MaterialTheme.colorScheme.onSecondaryContainer)
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy