mirror of
https://github.com/null2264/yokai.git
synced 2025-06-21 02:34:39 +00:00
fix(AppBar): Adjust scrolled container color
This commit is contained in:
parent
60ef9482c8
commit
71dcb2ab85
21 changed files with 49 additions and 26 deletions
|
@ -23,7 +23,7 @@ import eu.kanade.tachiyomi.util.system.getResourceColor
|
|||
import eu.kanade.tachiyomi.util.view.backgroundColor
|
||||
import eu.kanade.tachiyomi.util.view.setCards
|
||||
import eu.kanade.tachiyomi.widget.AutofitRecyclerView
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
|
||||
/**
|
||||
* Class used to hold the displayed data of a manga in the library, like the cover or the title.
|
||||
|
|
|
@ -10,7 +10,7 @@ import eu.kanade.tachiyomi.util.lang.highlightText
|
|||
import eu.kanade.tachiyomi.util.system.dpToPx
|
||||
import eu.kanade.tachiyomi.util.view.setCards
|
||||
import yokai.i18n.MR
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
import yokai.util.lang.getString
|
||||
|
||||
/**
|
||||
|
|
|
@ -43,8 +43,8 @@ import uy.kohesive.injekt.injectLazy
|
|||
import yokai.domain.manga.interactor.GetManga
|
||||
import yokai.domain.manga.models.cover
|
||||
import yokai.i18n.MR
|
||||
import yokai.presentation.core.util.coil.asTarget
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.asTarget
|
||||
import yokai.util.coil.loadManga
|
||||
import yokai.util.lang.getString
|
||||
import android.R as AR
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ import eu.kanade.tachiyomi.util.system.isInNightMode
|
|||
import eu.kanade.tachiyomi.util.system.isLTR
|
||||
import eu.kanade.tachiyomi.util.view.resetStrokeColor
|
||||
import yokai.i18n.MR
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
import yokai.util.lang.getString
|
||||
import android.R as AR
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import eu.davidea.flexibleadapter.items.IFlexible
|
|||
import eu.kanade.tachiyomi.databinding.MangaListItemBinding
|
||||
import eu.kanade.tachiyomi.ui.base.holder.BaseFlexibleViewHolder
|
||||
import eu.kanade.tachiyomi.util.view.setCards
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
|
||||
class MangaHolder(
|
||||
view: View,
|
||||
|
|
|
@ -27,7 +27,7 @@ import yokai.domain.chapter.interactor.GetChapter
|
|||
import yokai.domain.manga.interactor.GetManga
|
||||
import yokai.domain.manga.models.cover
|
||||
import yokai.i18n.MR
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
import yokai.util.lang.getString
|
||||
|
||||
class MigrationProcessHolder(
|
||||
|
|
|
@ -34,7 +34,7 @@ import eu.kanade.tachiyomi.util.view.setCards
|
|||
import java.util.Date
|
||||
import java.util.concurrent.TimeUnit
|
||||
import yokai.i18n.MR
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
import yokai.util.lang.getString
|
||||
import android.R as AR
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import eu.kanade.tachiyomi.domain.manga.models.Manga
|
|||
import eu.kanade.tachiyomi.ui.library.LibraryCategoryAdapter
|
||||
import eu.kanade.tachiyomi.util.view.setCards
|
||||
import yokai.domain.manga.models.cover
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
|
||||
/**
|
||||
* Class used to hold the displayed data of a manga in the library, like the cover or the title.
|
||||
|
|
|
@ -10,7 +10,7 @@ import eu.kanade.tachiyomi.databinding.MangaListItemBinding
|
|||
import eu.kanade.tachiyomi.domain.manga.models.Manga
|
||||
import eu.kanade.tachiyomi.util.view.setCards
|
||||
import yokai.domain.manga.models.cover
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
|
||||
/**
|
||||
* Class used to hold the displayed data of a manga in the catalogue, like the cover or the title.
|
||||
|
|
|
@ -11,7 +11,7 @@ import eu.kanade.tachiyomi.util.system.dpToPx
|
|||
import eu.kanade.tachiyomi.util.view.makeShapeCorners
|
||||
import eu.kanade.tachiyomi.util.view.setCards
|
||||
import yokai.domain.manga.models.cover
|
||||
import yokai.presentation.core.util.coil.loadManga
|
||||
import yokai.util.coil.loadManga
|
||||
|
||||
class GlobalSearchMangaHolder(view: View, adapter: GlobalSearchCardAdapter) :
|
||||
BaseFlexibleViewHolder(view, adapter) {
|
||||
|
|
|
@ -23,11 +23,13 @@ import androidx.compose.ui.graphics.toArgb
|
|||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.core.view.WindowInsetsControllerCompat
|
||||
import dev.icerock.moko.resources.compose.stringResource
|
||||
import yokai.i18n.MR
|
||||
import yokai.presentation.component.ToolTipButton
|
||||
import yokai.presentation.core.ExpandedAppBar
|
||||
import yokai.util.applyElevationOverlay
|
||||
|
||||
@Composable
|
||||
fun YokaiScaffold(
|
||||
|
@ -44,7 +46,7 @@ fun YokaiScaffold(
|
|||
) {
|
||||
val view = LocalView.current
|
||||
val useDarkIcons = MaterialTheme.colorScheme.surface.luminance() > .5
|
||||
val (color, scrolledColor) = getTopAppBarColor(title)
|
||||
val color = getTopAppBarColor(title)
|
||||
|
||||
SideEffect {
|
||||
val activity = view.context as Activity
|
||||
|
@ -66,7 +68,7 @@ fun YokaiScaffold(
|
|||
// modifier = Modifier.statusBarsPadding(),
|
||||
colors = topAppBarColors(
|
||||
containerColor = color,
|
||||
scrolledContainerColor = scrolledColor,
|
||||
scrolledContainerColor = color.applyElevationOverlay(4.dp),
|
||||
),
|
||||
navigationIcon = {
|
||||
ToolTipButton(
|
||||
|
@ -85,7 +87,7 @@ fun YokaiScaffold(
|
|||
// modifier = Modifier.statusBarsPadding(),
|
||||
colors = topAppBarColors(
|
||||
containerColor = color,
|
||||
scrolledContainerColor = scrolledColor,
|
||||
scrolledContainerColor = color.applyElevationOverlay(4.dp),
|
||||
),
|
||||
navigationIcon = {
|
||||
ToolTipButton(
|
||||
|
@ -104,10 +106,10 @@ fun YokaiScaffold(
|
|||
}
|
||||
|
||||
@Composable
|
||||
fun getTopAppBarColor(title: String): Pair<Color, Color> {
|
||||
fun getTopAppBarColor(title: String): Color {
|
||||
return when (title.isEmpty()) {
|
||||
true -> Color.Transparent to Color.Transparent
|
||||
false -> MaterialTheme.colorScheme.surface to MaterialTheme.colorScheme.surfaceContainer
|
||||
true -> Color.Transparent
|
||||
false -> MaterialTheme.colorScheme.surface
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ import androidx.compose.ui.res.stringResource
|
|||
import androidx.compose.ui.unit.dp
|
||||
import dev.icerock.moko.resources.compose.stringResource
|
||||
import eu.kanade.tachiyomi.data.track.TrackService
|
||||
import yokai.presentation.core.util.clickableNoIndication
|
||||
import yokai.util.clickableNoIndication
|
||||
|
||||
@Composable
|
||||
fun TrackLogoIcon(
|
||||
|
|
|
@ -10,8 +10,8 @@ import androidx.compose.material3.MaterialTheme
|
|||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import yokai.presentation.core.util.secondaryItemAlpha
|
||||
import yokai.presentation.theme.Size
|
||||
import yokai.util.secondaryItemAlpha
|
||||
|
||||
@Composable
|
||||
internal fun InfoWidget(text: String) {
|
||||
|
|
|
@ -8,7 +8,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import yokai.presentation.core.util.secondaryItemAlpha
|
||||
import yokai.util.secondaryItemAlpha
|
||||
|
||||
@Composable
|
||||
fun TextPreferenceWidget(
|
||||
|
|
|
@ -31,8 +31,8 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.zIndex
|
||||
import yokai.presentation.core.util.secondaryItemAlpha
|
||||
import yokai.presentation.theme.Size
|
||||
import yokai.util.secondaryItemAlpha
|
||||
|
||||
@Composable
|
||||
fun InfoScreen(
|
||||
|
|
|
@ -42,7 +42,7 @@ import eu.kanade.tachiyomi.ui.reader.viewer.missingChapterCount
|
|||
import eu.kanade.tachiyomi.util.chapter.ChapterUtil.Companion.preferredChapterName
|
||||
import kotlinx.collections.immutable.persistentMapOf
|
||||
import yokai.i18n.MR
|
||||
import yokai.presentation.core.util.secondaryItemAlpha
|
||||
import yokai.util.secondaryItemAlpha
|
||||
|
||||
@Composable
|
||||
fun ChapterTransition(
|
||||
|
|
|
@ -18,9 +18,9 @@ import yokai.i18n.MR
|
|||
import yokai.util.lang.getString
|
||||
import dev.icerock.moko.resources.compose.stringResource
|
||||
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
||||
import yokai.presentation.core.util.secondaryItemAlpha
|
||||
import yokai.presentation.theme.Size
|
||||
import yokai.presentation.theme.header
|
||||
import yokai.util.secondaryItemAlpha
|
||||
import java.io.File
|
||||
|
||||
@Composable
|
||||
|
|
20
app/src/main/java/yokai/util/ComposeExtensions.kt
Normal file
20
app/src/main/java/yokai/util/ComposeExtensions.kt
Normal file
|
@ -0,0 +1,20 @@
|
|||
package yokai.util
|
||||
|
||||
import androidx.compose.material3.LocalAbsoluteTonalElevation
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.compositeOver
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
|
||||
@Composable
|
||||
fun Color.applyElevationOverlay(
|
||||
elevation: Dp = 0.dp,
|
||||
overlayColor: Color = MaterialTheme.colorScheme.secondary,
|
||||
): Color {
|
||||
val absoluteElevation = LocalAbsoluteTonalElevation.current + elevation
|
||||
return overlayColor
|
||||
.copy(alpha = (absoluteElevation.value) / 100f)
|
||||
.compositeOver(this)
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package yokai.presentation.core.util
|
||||
package yokai.util
|
||||
|
||||
import androidx.compose.foundation.combinedClickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
|
@ -1,4 +1,4 @@
|
|||
package yokai.presentation.core.util.coil
|
||||
package yokai.util.coil
|
||||
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
|
@ -8,6 +8,7 @@
|
|||
<style name="Theme.ActionBar.DayNight" parent="ThemeOverlay.Material3.ActionBar">
|
||||
<item name="elevationOverlayEnabled">true</item>
|
||||
<item name="elevationOverlayColor">?colorSecondary</item>
|
||||
<item name="elevation">4dp</item>
|
||||
</style>
|
||||
|
||||
<!--===============-->
|
||||
|
@ -395,4 +396,4 @@
|
|||
<item name="android:textSize">13sp</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
</resources>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue