mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-07-13 10:29:18 +02:00
UI Improvements for Hidden Words
This commit is contained in:
@ -2250,14 +2250,23 @@ fun RemoveButton(onClick: () -> Unit) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AddButton(text: Int = R.string.add, onClick: () -> Unit) {
|
fun AddButton(
|
||||||
|
text: Int = R.string.add,
|
||||||
|
isActive: Boolean = true,
|
||||||
|
modifier: Modifier = Modifier.padding(start = 3.dp),
|
||||||
|
onClick: () -> Unit
|
||||||
|
) {
|
||||||
Button(
|
Button(
|
||||||
modifier = Modifier.padding(start = 3.dp),
|
modifier = modifier,
|
||||||
onClick = onClick,
|
onClick = {
|
||||||
|
if (isActive) {
|
||||||
|
onClick()
|
||||||
|
}
|
||||||
|
},
|
||||||
shape = ButtonBorder,
|
shape = ButtonBorder,
|
||||||
colors = ButtonDefaults
|
colors = ButtonDefaults
|
||||||
.buttonColors(
|
.buttonColors(
|
||||||
backgroundColor = MaterialTheme.colors.primary
|
backgroundColor = if (isActive) MaterialTheme.colors.primary else Color.Gray
|
||||||
),
|
),
|
||||||
contentPadding = PaddingValues(vertical = 0.dp, horizontal = 16.dp)
|
contentPadding = PaddingValues(vertical = 0.dp, horizontal = 16.dp)
|
||||||
) {
|
) {
|
||||||
|
@ -50,7 +50,7 @@ import androidx.lifecycle.map
|
|||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import com.vitorpamplona.amethyst.LocalPreferences
|
import com.vitorpamplona.amethyst.LocalPreferences
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.SendButton
|
import com.vitorpamplona.amethyst.ui.note.AddButton
|
||||||
import com.vitorpamplona.amethyst.ui.screen.NostrHiddenAccountsFeedViewModel
|
import com.vitorpamplona.amethyst.ui.screen.NostrHiddenAccountsFeedViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.NostrHiddenWordsFeedViewModel
|
import com.vitorpamplona.amethyst.ui.screen.NostrHiddenWordsFeedViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.NostrSpammerAccountsFeedViewModel
|
import com.vitorpamplona.amethyst.ui.screen.NostrSpammerAccountsFeedViewModel
|
||||||
@ -59,6 +59,8 @@ import com.vitorpamplona.amethyst.ui.screen.RefreshingFeedUserFeedView
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.StringFeedView
|
import com.vitorpamplona.amethyst.ui.screen.StringFeedView
|
||||||
import com.vitorpamplona.amethyst.ui.screen.UserFeedViewModel
|
import com.vitorpamplona.amethyst.ui.screen.UserFeedViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.theme.ButtonBorder
|
import com.vitorpamplona.amethyst.ui.theme.ButtonBorder
|
||||||
|
import com.vitorpamplona.amethyst.ui.theme.HorzPadding
|
||||||
|
import com.vitorpamplona.amethyst.ui.theme.Size10dp
|
||||||
import com.vitorpamplona.amethyst.ui.theme.StdPadding
|
import com.vitorpamplona.amethyst.ui.theme.StdPadding
|
||||||
import com.vitorpamplona.amethyst.ui.theme.TabRowHeight
|
import com.vitorpamplona.amethyst.ui.theme.TabRowHeight
|
||||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||||
@ -202,7 +204,7 @@ private fun HiddenWordsFeed(
|
|||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
private fun AddMuteWordTextField(accountViewModel: AccountViewModel) {
|
private fun AddMuteWordTextField(accountViewModel: AccountViewModel) {
|
||||||
Row {
|
Row(modifier = Modifier.padding(vertical = Size10dp)) {
|
||||||
val currentWordToAdd = remember {
|
val currentWordToAdd = remember {
|
||||||
mutableStateOf("")
|
mutableStateOf("")
|
||||||
}
|
}
|
||||||
@ -229,17 +231,17 @@ private fun AddMuteWordTextField(accountViewModel: AccountViewModel) {
|
|||||||
),
|
),
|
||||||
keyboardActions = KeyboardActions(
|
keyboardActions = KeyboardActions(
|
||||||
onSend = {
|
onSend = {
|
||||||
accountViewModel.hide(currentWordToAdd.value)
|
if (hasChanged) {
|
||||||
currentWordToAdd.value = ""
|
accountViewModel.hide(currentWordToAdd.value)
|
||||||
|
currentWordToAdd.value = ""
|
||||||
|
}
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
singleLine = true,
|
singleLine = true,
|
||||||
trailingIcon = {
|
trailingIcon = {
|
||||||
if (hasChanged) {
|
AddButton(isActive = hasChanged, modifier = HorzPadding) {
|
||||||
SendButton {
|
accountViewModel.hide(currentWordToAdd.value)
|
||||||
accountViewModel.hide(currentWordToAdd.value)
|
currentWordToAdd.value = ""
|
||||||
currentWordToAdd.value = ""
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
@ -76,6 +76,9 @@ val StdPadding = Modifier.padding(10.dp)
|
|||||||
val HalfHorzPadding = Modifier.padding(horizontal = 5.dp)
|
val HalfHorzPadding = Modifier.padding(horizontal = 5.dp)
|
||||||
val HalfVertPadding = Modifier.padding(vertical = 5.dp)
|
val HalfVertPadding = Modifier.padding(vertical = 5.dp)
|
||||||
|
|
||||||
|
val HorzPadding = Modifier.padding(horizontal = 10.dp)
|
||||||
|
val VertPadding = Modifier.padding(vertical = 10.dp)
|
||||||
|
|
||||||
val Size6Modifier = Modifier.size(6.dp)
|
val Size6Modifier = Modifier.size(6.dp)
|
||||||
val Size10Modifier = Modifier.size(10.dp)
|
val Size10Modifier = Modifier.size(10.dp)
|
||||||
val Size15Modifier = Modifier.size(15.dp)
|
val Size15Modifier = Modifier.size(15.dp)
|
||||||
|
Reference in New Issue
Block a user