mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	Use AppBar abstraction in more places
This commit is contained in:
		@@ -8,17 +8,11 @@ import androidx.compose.foundation.lazy.LazyListState
 | 
			
		||||
import androidx.compose.foundation.lazy.itemsIndexed
 | 
			
		||||
import androidx.compose.foundation.lazy.rememberLazyListState
 | 
			
		||||
import androidx.compose.material.icons.Icons
 | 
			
		||||
import androidx.compose.material.icons.outlined.ArrowBack
 | 
			
		||||
import androidx.compose.material.icons.outlined.SortByAlpha
 | 
			
		||||
import androidx.compose.material3.Icon
 | 
			
		||||
import androidx.compose.material3.IconButton
 | 
			
		||||
import androidx.compose.material3.MaterialTheme
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.material3.TopAppBar
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import eu.kanade.presentation.category.components.CategoryFloatingActionButton
 | 
			
		||||
import eu.kanade.presentation.category.components.CategoryListItem
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
@@ -46,21 +40,9 @@ fun CategoryScreen(
 | 
			
		||||
    val lazyListState = rememberLazyListState()
 | 
			
		||||
    Scaffold(
 | 
			
		||||
        topBar = { scrollBehavior ->
 | 
			
		||||
            TopAppBar(
 | 
			
		||||
                title = {
 | 
			
		||||
                    Text(
 | 
			
		||||
                        text = stringResource(R.string.action_edit_categories),
 | 
			
		||||
                        modifier = Modifier.padding(start = 8.dp),
 | 
			
		||||
                    )
 | 
			
		||||
                },
 | 
			
		||||
                navigationIcon = {
 | 
			
		||||
                    IconButton(onClick = navigateUp) {
 | 
			
		||||
                        Icon(
 | 
			
		||||
                            imageVector = Icons.Outlined.ArrowBack,
 | 
			
		||||
                            contentDescription = stringResource(R.string.abc_action_bar_up_description),
 | 
			
		||||
                        )
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
            AppBar(
 | 
			
		||||
                title = stringResource(R.string.action_edit_categories),
 | 
			
		||||
                navigateUp = navigateUp,
 | 
			
		||||
                actions = {
 | 
			
		||||
                    AppBarActions(
 | 
			
		||||
                        listOf(
 | 
			
		||||
 
 | 
			
		||||
@@ -2,12 +2,9 @@ package eu.kanade.presentation.more.settings
 | 
			
		||||
 | 
			
		||||
import androidx.annotation.StringRes
 | 
			
		||||
import androidx.compose.foundation.layout.RowScope
 | 
			
		||||
import androidx.compose.material3.IconButton
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.material3.TopAppBar
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import eu.kanade.presentation.components.UpIcon
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import tachiyomi.presentation.core.components.material.Scaffold
 | 
			
		||||
 | 
			
		||||
@Composable
 | 
			
		||||
@@ -19,15 +16,9 @@ fun PreferenceScaffold(
 | 
			
		||||
) {
 | 
			
		||||
    Scaffold(
 | 
			
		||||
        topBar = {
 | 
			
		||||
            TopAppBar(
 | 
			
		||||
                title = { Text(text = stringResource(titleRes)) },
 | 
			
		||||
                navigationIcon = {
 | 
			
		||||
                    if (onBackPressed != null) {
 | 
			
		||||
                        IconButton(onClick = onBackPressed) {
 | 
			
		||||
                            UpIcon()
 | 
			
		||||
                        }
 | 
			
		||||
                    }
 | 
			
		||||
                },
 | 
			
		||||
            AppBar(
 | 
			
		||||
                title = stringResource(titleRes),
 | 
			
		||||
                navigateUp = onBackPressed,
 | 
			
		||||
                actions = actions,
 | 
			
		||||
                scrollBehavior = it,
 | 
			
		||||
            )
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,8 @@ import androidx.compose.material.icons.outlined.Search
 | 
			
		||||
import androidx.compose.material.icons.outlined.Security
 | 
			
		||||
import androidx.compose.material.icons.outlined.SettingsBackupRestore
 | 
			
		||||
import androidx.compose.material.icons.outlined.Sync
 | 
			
		||||
import androidx.compose.material3.IconButton
 | 
			
		||||
import androidx.compose.material3.LocalContentColor
 | 
			
		||||
import androidx.compose.material3.MaterialTheme
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.material3.TopAppBar
 | 
			
		||||
import androidx.compose.material3.TopAppBarDefaults
 | 
			
		||||
import androidx.compose.material3.rememberTopAppBarState
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
@@ -44,7 +41,6 @@ import cafe.adriel.voyager.navigator.Navigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.components.AppBarActions
 | 
			
		||||
import eu.kanade.presentation.components.UpIcon
 | 
			
		||||
import eu.kanade.presentation.more.settings.screen.about.AboutScreen
 | 
			
		||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
 | 
			
		||||
import eu.kanade.presentation.util.LocalBackPress
 | 
			
		||||
@@ -82,21 +78,13 @@ object SettingsMainScreen : Screen() {
 | 
			
		||||
        val backPress = LocalBackPress.currentOrThrow
 | 
			
		||||
        val containerColor = if (twoPane) getPalerSurface() else MaterialTheme.colorScheme.surface
 | 
			
		||||
        val topBarState = rememberTopAppBarState()
 | 
			
		||||
        
 | 
			
		||||
        Scaffold(
 | 
			
		||||
            topBarScrollBehavior = TopAppBarDefaults.pinnedScrollBehavior(topBarState),
 | 
			
		||||
            topBar = { scrollBehavior ->
 | 
			
		||||
                TopAppBar(
 | 
			
		||||
                    title = {
 | 
			
		||||
                        Text(
 | 
			
		||||
                            text = stringResource(R.string.label_settings),
 | 
			
		||||
                            modifier = Modifier.padding(start = 8.dp),
 | 
			
		||||
                        )
 | 
			
		||||
                    },
 | 
			
		||||
                    navigationIcon = {
 | 
			
		||||
                        IconButton(onClick = backPress::invoke) {
 | 
			
		||||
                            UpIcon()
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                AppBar(
 | 
			
		||||
                    title = stringResource(R.string.label_settings),
 | 
			
		||||
                    navigateUp = backPress::invoke,
 | 
			
		||||
                    actions = {
 | 
			
		||||
                        AppBarActions(
 | 
			
		||||
                            listOf(
 | 
			
		||||
 
 | 
			
		||||
@@ -5,17 +5,11 @@ import androidx.compose.foundation.layout.padding
 | 
			
		||||
import androidx.compose.foundation.rememberScrollState
 | 
			
		||||
import androidx.compose.foundation.verticalScroll
 | 
			
		||||
import androidx.compose.material.icons.Icons
 | 
			
		||||
import androidx.compose.material.icons.filled.ArrowBack
 | 
			
		||||
import androidx.compose.material.icons.filled.Public
 | 
			
		||||
import androidx.compose.material3.Icon
 | 
			
		||||
import androidx.compose.material3.IconButton
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.material3.TopAppBar
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
import androidx.compose.ui.platform.LocalUriHandler
 | 
			
		||||
import androidx.compose.ui.res.stringResource
 | 
			
		||||
import androidx.compose.ui.text.style.TextOverflow
 | 
			
		||||
import androidx.compose.ui.unit.dp
 | 
			
		||||
import androidx.compose.ui.viewinterop.AndroidView
 | 
			
		||||
import androidx.core.text.HtmlCompat
 | 
			
		||||
@@ -41,19 +35,9 @@ class OpenSourceLibraryLicenseScreen(
 | 
			
		||||
 | 
			
		||||
        Scaffold(
 | 
			
		||||
            topBar = {
 | 
			
		||||
                TopAppBar(
 | 
			
		||||
                    title = {
 | 
			
		||||
                        Text(
 | 
			
		||||
                            text = name,
 | 
			
		||||
                            maxLines = 1,
 | 
			
		||||
                            overflow = TextOverflow.Ellipsis,
 | 
			
		||||
                        )
 | 
			
		||||
                    },
 | 
			
		||||
                    navigationIcon = {
 | 
			
		||||
                        IconButton(onClick = navigator::pop) {
 | 
			
		||||
                            Icon(imageVector = Icons.Default.ArrowBack, contentDescription = null)
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                AppBar(
 | 
			
		||||
                    title = name,
 | 
			
		||||
                    navigateUp = navigator::pop,
 | 
			
		||||
                    actions = {
 | 
			
		||||
                        if (!website.isNullOrEmpty()) {
 | 
			
		||||
                            AppBarActions(
 | 
			
		||||
 
 | 
			
		||||
@@ -4,12 +4,8 @@ import androidx.compose.foundation.layout.padding
 | 
			
		||||
import androidx.compose.foundation.rememberScrollState
 | 
			
		||||
import androidx.compose.foundation.verticalScroll
 | 
			
		||||
import androidx.compose.material.icons.Icons
 | 
			
		||||
import androidx.compose.material.icons.filled.ArrowBack
 | 
			
		||||
import androidx.compose.material.icons.filled.ContentCopy
 | 
			
		||||
import androidx.compose.material3.Icon
 | 
			
		||||
import androidx.compose.material3.IconButton
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.material3.TopAppBar
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.remember
 | 
			
		||||
import androidx.compose.ui.Modifier
 | 
			
		||||
@@ -43,13 +39,9 @@ class BackupSchemaScreen : Screen() {
 | 
			
		||||
 | 
			
		||||
        Scaffold(
 | 
			
		||||
            topBar = {
 | 
			
		||||
                TopAppBar(
 | 
			
		||||
                    title = { Text(text = title) },
 | 
			
		||||
                    navigationIcon = {
 | 
			
		||||
                        IconButton(onClick = navigator::pop) {
 | 
			
		||||
                            Icon(imageVector = Icons.Default.ArrowBack, contentDescription = null)
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                AppBar(
 | 
			
		||||
                    title = title,
 | 
			
		||||
                    navigateUp = navigator::pop,
 | 
			
		||||
                    actions = {
 | 
			
		||||
                        AppBarActions(
 | 
			
		||||
                            listOf(
 | 
			
		||||
 
 | 
			
		||||
@@ -7,13 +7,9 @@ import androidx.compose.foundation.layout.padding
 | 
			
		||||
import androidx.compose.foundation.lazy.LazyColumn
 | 
			
		||||
import androidx.compose.foundation.rememberScrollState
 | 
			
		||||
import androidx.compose.material.icons.Icons
 | 
			
		||||
import androidx.compose.material.icons.filled.ArrowBack
 | 
			
		||||
import androidx.compose.material.icons.filled.ContentCopy
 | 
			
		||||
import androidx.compose.material3.Icon
 | 
			
		||||
import androidx.compose.material3.IconButton
 | 
			
		||||
import androidx.compose.material3.MaterialTheme
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.material3.TopAppBar
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.collectAsState
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
@@ -61,13 +57,9 @@ class WorkerInfoScreen : Screen() {
 | 
			
		||||
 | 
			
		||||
        Scaffold(
 | 
			
		||||
            topBar = {
 | 
			
		||||
                TopAppBar(
 | 
			
		||||
                    title = { Text(text = title) },
 | 
			
		||||
                    navigationIcon = {
 | 
			
		||||
                        IconButton(onClick = navigator::pop) {
 | 
			
		||||
                            Icon(imageVector = Icons.Default.ArrowBack, contentDescription = null)
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                AppBar(
 | 
			
		||||
                    title = title,
 | 
			
		||||
                    navigateUp = navigator::pop,
 | 
			
		||||
                    actions = {
 | 
			
		||||
                        AppBarActions(
 | 
			
		||||
                            listOf(
 | 
			
		||||
 
 | 
			
		||||
@@ -7,9 +7,6 @@ import android.view.View
 | 
			
		||||
import androidx.appcompat.view.ContextThemeWrapper
 | 
			
		||||
import androidx.compose.foundation.layout.fillMaxSize
 | 
			
		||||
import androidx.compose.foundation.layout.padding
 | 
			
		||||
import androidx.compose.material3.IconButton
 | 
			
		||||
import androidx.compose.material3.Text
 | 
			
		||||
import androidx.compose.material3.TopAppBar
 | 
			
		||||
import androidx.compose.runtime.Composable
 | 
			
		||||
import androidx.compose.runtime.getValue
 | 
			
		||||
import androidx.compose.runtime.mutableIntStateOf
 | 
			
		||||
@@ -34,7 +31,7 @@ import androidx.preference.forEach
 | 
			
		||||
import androidx.preference.getOnBindEditTextListener
 | 
			
		||||
import cafe.adriel.voyager.navigator.LocalNavigator
 | 
			
		||||
import cafe.adriel.voyager.navigator.currentOrThrow
 | 
			
		||||
import eu.kanade.presentation.components.UpIcon
 | 
			
		||||
import eu.kanade.presentation.components.AppBar
 | 
			
		||||
import eu.kanade.presentation.util.Screen
 | 
			
		||||
import eu.kanade.tachiyomi.R
 | 
			
		||||
import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore
 | 
			
		||||
@@ -55,13 +52,9 @@ class SourcePreferencesScreen(val sourceId: Long) : Screen() {
 | 
			
		||||
 | 
			
		||||
        Scaffold(
 | 
			
		||||
            topBar = {
 | 
			
		||||
                TopAppBar(
 | 
			
		||||
                    title = { Text(text = Injekt.get<SourceManager>().getOrStub(sourceId).toString()) },
 | 
			
		||||
                    navigationIcon = {
 | 
			
		||||
                        IconButton(onClick = navigator::pop) {
 | 
			
		||||
                            UpIcon()
 | 
			
		||||
                        }
 | 
			
		||||
                    },
 | 
			
		||||
                AppBar(
 | 
			
		||||
                    title = Injekt.get<SourceManager>().getOrStub(sourceId).toString(),
 | 
			
		||||
                    navigateUp = navigator::pop,
 | 
			
		||||
                    scrollBehavior = it,
 | 
			
		||||
                )
 | 
			
		||||
            },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user