🛠️ Add .noRippleClickable()

* Added new ".noRippleClickable()" Modifier extension
This commit is contained in:
Acclorite 2024-09-11 08:28:26 +03:00
parent e70848a9cf
commit 1d713b6ab4
13 changed files with 47 additions and 64 deletions

View file

@ -2,6 +2,9 @@ package ua.acclorite.book_story.presentation.core.util
import android.content.Intent import android.content.Intent
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.combinedClickable
import androidx.compose.ui.Modifier
fun String.removeTrailingZero(): String { fun String.removeTrailingZero(): String {
if (!this.contains('.')) if (!this.contains('.'))
@ -41,4 +44,21 @@ fun Float.calculateProgress(digits: Int): String {
.removeDigits(digits) .removeDigits(digits)
.removeTrailingZero() .removeTrailingZero()
.dropWhile { it == '-' } .dropWhile { it == '-' }
}
@OptIn(ExperimentalFoundationApi::class)
fun Modifier.noRippleClickable(
enabled: Boolean = true,
onLongClick: (() -> Unit)? = null,
onDoubleClick: (() -> Unit)? = null,
onClick: () -> Unit
): Modifier {
return this.combinedClickable(
indication = null,
interactionSource = null,
enabled = enabled,
onLongClick = onLongClick,
onDoubleClick = onDoubleClick,
onClick = onClick
)
} }

View file

@ -1,8 +1,5 @@
package ua.acclorite.book_story.presentation.screens.book_info.components package ua.acclorite.book_story.presentation.screens.book_info.components
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
@ -26,12 +23,12 @@ import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.presentation.core.components.LocalBookInfoViewModel import ua.acclorite.book_story.presentation.core.components.LocalBookInfoViewModel
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.screens.book_info.data.BookInfoEvent import ua.acclorite.book_story.presentation.screens.book_info.data.BookInfoEvent
/** /**
* Description section. * Description section.
*/ */
@OptIn(ExperimentalFoundationApi::class)
@Composable @Composable
fun BookInfoDescriptionSection() { fun BookInfoDescriptionSection() {
val state = LocalBookInfoViewModel.current.state val state = LocalBookInfoViewModel.current.state
@ -48,9 +45,7 @@ fun BookInfoDescriptionSection() {
textAlign = TextAlign.Start, textAlign = TextAlign.Start,
modifier = Modifier modifier = Modifier
.padding(horizontal = 24.dp) .padding(horizontal = 24.dp)
.combinedClickable( .noRippleClickable(
interactionSource = remember { MutableInteractionSource() },
indication = null,
onClick = {}, onClick = {},
onLongClick = { onLongClick = {
onEvent(BookInfoEvent.OnShowHideEditDescription) onEvent(BookInfoEvent.OnShowHideEditDescription)

View file

@ -1,9 +1,6 @@
package ua.acclorite.book_story.presentation.screens.book_info.components package ua.acclorite.book_story.presentation.screens.book_info.components
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.interaction.MutableInteractionSource
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@ -40,12 +37,12 @@ import androidx.compose.ui.unit.dp
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.presentation.core.components.CustomCoverImage import ua.acclorite.book_story.presentation.core.components.CustomCoverImage
import ua.acclorite.book_story.presentation.core.components.LocalBookInfoViewModel import ua.acclorite.book_story.presentation.core.components.LocalBookInfoViewModel
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.screens.book_info.data.BookInfoEvent import ua.acclorite.book_story.presentation.screens.book_info.data.BookInfoEvent
/** /**
* BookInfo's Info section. * BookInfo's Info section.
*/ */
@OptIn(ExperimentalFoundationApi::class)
@Composable @Composable
fun BookInfoInfoSection() { fun BookInfoInfoSection() {
val state = LocalBookInfoViewModel.current.state val state = LocalBookInfoViewModel.current.state
@ -68,9 +65,7 @@ fun BookInfoInfoSection() {
MaterialTheme.colorScheme.surfaceContainerLow, MaterialTheme.colorScheme.surfaceContainerLow,
MaterialTheme.shapes.medium MaterialTheme.shapes.medium
) )
.combinedClickable( .noRippleClickable(
interactionSource = remember { MutableInteractionSource() },
indication = null,
onClick = {}, onClick = {},
onLongClick = { onLongClick = {
onEvent(BookInfoEvent.OnShowHideChangeCoverBottomSheet) onEvent(BookInfoEvent.OnShowHideChangeCoverBottomSheet)
@ -107,9 +102,7 @@ fun BookInfoInfoSection() {
style = MaterialTheme.typography.headlineSmall, style = MaterialTheme.typography.headlineSmall,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.combinedClickable( .noRippleClickable(
interactionSource = remember { MutableInteractionSource() },
indication = null,
onClick = {}, onClick = {},
onLongClick = { onLongClick = {
onEvent(BookInfoEvent.OnShowHideEditTitle) onEvent(BookInfoEvent.OnShowHideEditTitle)
@ -164,9 +157,7 @@ fun BookInfoInfoSection() {
style = MaterialTheme.typography.bodyLarge, style = MaterialTheme.typography.bodyLarge,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.combinedClickable( .noRippleClickable(
interactionSource = remember { MutableInteractionSource() },
indication = null,
onClick = {}, onClick = {},
onLongClick = { onLongClick = {
onEvent(BookInfoEvent.OnShowHideEditAuthor) onEvent(BookInfoEvent.OnShowHideEditAuthor)

View file

@ -1,7 +1,6 @@
package ua.acclorite.book_story.presentation.screens.browse.components.layout.grid package ua.acclorite.book_story.presentation.screens.browse.components.layout.grid
import androidx.compose.foundation.border import androidx.compose.foundation.border
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
@ -29,6 +28,7 @@ import androidx.compose.ui.unit.sp
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.domain.model.SelectableFile import ua.acclorite.book_story.domain.model.SelectableFile
import ua.acclorite.book_story.presentation.core.components.CustomCheckbox import ua.acclorite.book_story.presentation.core.components.CustomCheckbox
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.ui.DefaultTransition import ua.acclorite.book_story.presentation.ui.DefaultTransition
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Date import java.util.Date
@ -93,11 +93,7 @@ fun BrowseGridDirectoryItem(
), ),
modifier = Modifier modifier = Modifier
.size(24.dp) .size(24.dp)
.clickable( .noRippleClickable(enabled = !hasSelectedFiles) {
enabled = !hasSelectedFiles,
interactionSource = null,
indication = null
) {
onFavoriteClick() onFavoriteClick()
}, },
tint = if (file.isFavorite) MaterialTheme.colorScheme.primary tint = if (file.isFavorite) MaterialTheme.colorScheme.primary

View file

@ -3,7 +3,6 @@ package ua.acclorite.book_story.presentation.screens.browse.components.layout.li
import androidx.compose.animation.core.tween import androidx.compose.animation.core.tween
import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.combinedClickable import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
@ -28,6 +27,7 @@ import androidx.compose.ui.unit.dp
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.domain.model.SelectableFile import ua.acclorite.book_story.domain.model.SelectableFile
import ua.acclorite.book_story.presentation.core.components.CustomCheckbox import ua.acclorite.book_story.presentation.core.components.CustomCheckbox
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.ui.FadeTransitionPreservingSpace import ua.acclorite.book_story.presentation.ui.FadeTransitionPreservingSpace
@OptIn(ExperimentalFoundationApi::class) @OptIn(ExperimentalFoundationApi::class)
@ -112,11 +112,7 @@ fun BrowseListItem(
), ),
modifier = Modifier modifier = Modifier
.size(24.dp) .size(24.dp)
.clickable( .noRippleClickable(enabled = !hasSelectedFiles) {
enabled = !hasSelectedFiles,
interactionSource = null,
indication = null
) {
onFavoriteClick() onFavoriteClick()
}, },
tint = if (file.isFavorite) MaterialTheme.colorScheme.primary tint = if (file.isFavorite) MaterialTheme.colorScheme.primary

View file

@ -4,7 +4,6 @@ import android.os.Environment
import androidx.compose.animation.animateColorAsState import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.expandVertically import androidx.compose.animation.expandVertically
import androidx.compose.animation.shrinkVertically import androidx.compose.animation.shrinkVertically
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
@ -30,6 +29,7 @@ import ua.acclorite.book_story.presentation.core.components.CustomAnimatedVisibi
import ua.acclorite.book_story.presentation.core.components.LocalBrowseViewModel import ua.acclorite.book_story.presentation.core.components.LocalBrowseViewModel
import ua.acclorite.book_story.presentation.core.components.LocalMainViewModel import ua.acclorite.book_story.presentation.core.components.LocalMainViewModel
import ua.acclorite.book_story.presentation.core.components.customItemsIndexed import ua.acclorite.book_story.presentation.core.components.customItemsIndexed
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.screens.browse.data.BrowseEvent import ua.acclorite.book_story.presentation.screens.browse.data.BrowseEvent
import ua.acclorite.book_story.presentation.screens.settings.nested.browse.data.BrowseFilesStructure import ua.acclorite.book_story.presentation.screens.settings.nested.browse.data.BrowseFilesStructure
import java.io.File import java.io.File
@ -112,10 +112,8 @@ fun BrowseTopBarDirectoryPath() {
label = "" label = ""
).value, ).value,
style = MaterialTheme.typography.bodyMedium, style = MaterialTheme.typography.bodyMedium,
modifier = Modifier.clickable( modifier = Modifier.noRippleClickable(
enabled = state.value.selectedDirectory != directory.second, enabled = state.value.selectedDirectory != directory.second
indication = null,
interactionSource = null
) { ) {
onEvent( onEvent(
BrowseEvent.OnChangeDirectory( BrowseEvent.OnChangeDirectory(

View file

@ -1,6 +1,5 @@
package ua.acclorite.book_story.presentation.screens.help.components package ua.acclorite.book_story.presentation.screens.help.components
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
@ -20,6 +19,7 @@ import androidx.compose.ui.text.AnnotatedString
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.presentation.core.components.CustomTooltip import ua.acclorite.book_story.presentation.core.components.CustomTooltip
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.ui.ExpandingTransition import ua.acclorite.book_story.presentation.ui.ExpandingTransition
/** /**
@ -38,7 +38,7 @@ fun HelpClickableNote(text: AnnotatedString) {
imageVector = Icons.Outlined.Info, imageVector = Icons.Outlined.Info,
modifier = Modifier modifier = Modifier
.size(20.dp) .size(20.dp)
.clickable(interactionSource = null, indication = null) { .noRippleClickable {
showNote.value = !showNote.value showNote.value = !showNote.value
}, },
contentDescription = stringResource(R.string.note_content_desc), contentDescription = stringResource(R.string.note_content_desc),

View file

@ -4,7 +4,6 @@ import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.core.animateFloatAsState import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.animation.core.tween import androidx.compose.animation.core.tween
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.Spacer
@ -32,6 +31,7 @@ import androidx.compose.ui.unit.dp
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.domain.model.HelpTip import ua.acclorite.book_story.domain.model.HelpTip
import ua.acclorite.book_story.presentation.core.navigation.LocalOnNavigate import ua.acclorite.book_story.presentation.core.navigation.LocalOnNavigate
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.ui.ExpandingTransition import ua.acclorite.book_story.presentation.ui.ExpandingTransition
/** /**
@ -83,7 +83,7 @@ fun HelpItem(
Row( Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.clickable(interactionSource = null, indication = null) { .noRippleClickable {
showDescription.value = !showDescription.value showDescription.value = !showDescription.value
}, },
verticalAlignment = Alignment.CenterVertically verticalAlignment = Alignment.CenterVertically

View file

@ -34,6 +34,7 @@ import ua.acclorite.book_story.R
import ua.acclorite.book_story.domain.model.History import ua.acclorite.book_story.domain.model.History
import ua.acclorite.book_story.presentation.core.components.CustomCoverImage import ua.acclorite.book_story.presentation.core.components.CustomCoverImage
import ua.acclorite.book_story.presentation.core.components.CustomIconButton import ua.acclorite.book_story.presentation.core.components.CustomIconButton
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Date import java.util.Date
import java.util.Locale import java.util.Locale
@ -121,9 +122,7 @@ fun HistoryItem(
lineHeight = 21.sp, lineHeight = 21.sp,
modifier = Modifier modifier = Modifier
.fillMaxWidth() .fillMaxWidth()
.clickable( .noRippleClickable(
interactionSource = null,
indication = null,
enabled = isOnClickEnabled, enabled = isOnClickEnabled,
onClick = onTitleClick onClick = onTitleClick
), ),

View file

@ -9,7 +9,6 @@ import androidx.compose.animation.animateColorAsState
import androidx.compose.animation.slideInVertically import androidx.compose.animation.slideInVertically
import androidx.compose.animation.slideOutVertically import androidx.compose.animation.slideOutVertically
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.ExperimentalLayoutApi import androidx.compose.foundation.layout.ExperimentalLayoutApi
@ -73,6 +72,7 @@ import ua.acclorite.book_story.presentation.core.components.is_messages.IsError
import ua.acclorite.book_story.presentation.core.constants.Constants import ua.acclorite.book_story.presentation.core.constants.Constants
import ua.acclorite.book_story.presentation.core.navigation.LocalOnNavigate import ua.acclorite.book_story.presentation.core.navigation.LocalOnNavigate
import ua.acclorite.book_story.presentation.core.navigation.Screen import ua.acclorite.book_story.presentation.core.navigation.Screen
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.core.util.showToast import ua.acclorite.book_story.presentation.core.util.showToast
import ua.acclorite.book_story.presentation.screens.history.data.HistoryEvent import ua.acclorite.book_story.presentation.screens.history.data.HistoryEvent
import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent
@ -416,9 +416,7 @@ private fun ReaderScreen(lazyListState: LazyListState) {
.then( .then(
if (!state.value.loading && toolbarHidden) { if (!state.value.loading && toolbarHidden) {
Modifier Modifier
.clickable( .noRippleClickable(
interactionSource = null,
indication = null,
onClick = { onClick = {
onEvent( onEvent(
ReaderEvent.OnShowHideMenu( ReaderEvent.OnShowHideMenu(

View file

@ -2,8 +2,6 @@ package ua.acclorite.book_story.presentation.screens.reader.components
import android.content.Context import android.content.Context
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.fillMaxWidth
@ -24,6 +22,7 @@ import androidx.compose.ui.unit.TextUnit
import ua.acclorite.book_story.R import ua.acclorite.book_story.R
import ua.acclorite.book_story.domain.model.FontWithName import ua.acclorite.book_story.domain.model.FontWithName
import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.core.util.showToast import ua.acclorite.book_story.presentation.core.util.showToast
import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent
import ua.acclorite.book_story.presentation.screens.settings.nested.reader.data.ReaderTextAlignment import ua.acclorite.book_story.presentation.screens.settings.nested.reader.data.ReaderTextAlignment
@ -46,7 +45,6 @@ import ua.acclorite.book_story.presentation.screens.settings.nested.reader.data.
* @param doubleClickTranslationEnabled Whether Double Click Translation is enabled. * @param doubleClickTranslationEnabled Whether Double Click Translation is enabled.
* @param toolbarHidden Whether selection toolBar is hidden. * @param toolbarHidden Whether selection toolBar is hidden.
*/ */
@OptIn(ExperimentalFoundationApi::class)
@Composable @Composable
fun LazyItemScope.ReaderTextParagraph( fun LazyItemScope.ReaderTextParagraph(
line: String, line: String,
@ -87,9 +85,7 @@ fun LazyItemScope.ReaderTextParagraph(
doubleClickTranslationEnabled && doubleClickTranslationEnabled &&
toolbarHidden toolbarHidden
) { ) {
Modifier.combinedClickable( Modifier.noRippleClickable(
interactionSource = null,
indication = null,
onDoubleClick = { onDoubleClick = {
onEvent( onEvent(
ReaderEvent.OnOpenTranslator( ReaderEvent.OnOpenTranslator(

View file

@ -7,7 +7,6 @@ import androidx.compose.animation.shrinkHorizontally
import androidx.compose.animation.slideInHorizontally import androidx.compose.animation.slideInHorizontally
import androidx.compose.animation.slideOutHorizontally import androidx.compose.animation.slideOutHorizontally
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
@ -43,6 +42,7 @@ import ua.acclorite.book_story.presentation.core.components.LocalHistoryViewMode
import ua.acclorite.book_story.presentation.core.components.LocalLibraryViewModel import ua.acclorite.book_story.presentation.core.components.LocalLibraryViewModel
import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel
import ua.acclorite.book_story.presentation.core.util.calculateProgress import ua.acclorite.book_story.presentation.core.util.calculateProgress
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.screens.history.data.HistoryEvent import ua.acclorite.book_story.presentation.screens.history.data.HistoryEvent
import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent
import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent
@ -86,11 +86,7 @@ fun ReaderBottomBar() {
Modifier Modifier
.fillMaxWidth() .fillMaxWidth()
.background(Colors.readerSystemBarsColor) .background(Colors.readerSystemBarsColor)
.clickable( .noRippleClickable(onClick = {})
interactionSource = null,
indication = null,
onClick = {}
)
.navigationBarsPadding() .navigationBarsPadding()
.padding(horizontal = 18.dp) .padding(horizontal = 18.dp)
.padding(top = 16.dp), .padding(top = 16.dp),

View file

@ -2,7 +2,6 @@ package ua.acclorite.book_story.presentation.screens.reader.components.app_bar
import androidx.activity.ComponentActivity import androidx.activity.ComponentActivity
import androidx.compose.foundation.basicMarquee import androidx.compose.foundation.basicMarquee
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.material.icons.Icons import androidx.compose.material.icons.Icons
@ -27,6 +26,7 @@ import ua.acclorite.book_story.presentation.core.components.LocalLibraryViewMode
import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel import ua.acclorite.book_story.presentation.core.components.LocalReaderViewModel
import ua.acclorite.book_story.presentation.core.navigation.LocalOnNavigate import ua.acclorite.book_story.presentation.core.navigation.LocalOnNavigate
import ua.acclorite.book_story.presentation.core.navigation.Screen import ua.acclorite.book_story.presentation.core.navigation.Screen
import ua.acclorite.book_story.presentation.core.util.noRippleClickable
import ua.acclorite.book_story.presentation.screens.history.data.HistoryEvent import ua.acclorite.book_story.presentation.screens.history.data.HistoryEvent
import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent import ua.acclorite.book_story.presentation.screens.library.data.LibraryEvent
import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent import ua.acclorite.book_story.presentation.screens.reader.data.ReaderEvent
@ -79,10 +79,8 @@ fun ReaderTopBar() {
color = MaterialTheme.colorScheme.onSurface, color = MaterialTheme.colorScheme.onSurface,
maxLines = 1, maxLines = 1,
modifier = Modifier modifier = Modifier
.clickable( .noRippleClickable(
enabled = !state.value.lockMenu, enabled = !state.value.lockMenu,
interactionSource = null,
indication = null,
onClick = { onClick = {
onEvent( onEvent(
ReaderEvent.OnGoBack( ReaderEvent.OnGoBack(