Caches app icons as painters
This commit is contained in:
@@ -22,10 +22,14 @@ package com.vitorpamplona.amethyst.ui
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.util.LruCache
|
import android.util.LruCache
|
||||||
|
import androidx.annotation.DrawableRes
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.ui.graphics.painter.Painter
|
||||||
import androidx.compose.ui.platform.LocalConfiguration
|
import androidx.compose.ui.platform.LocalConfiguration
|
||||||
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.lifecycle.compose.LifecycleResumeEffect
|
import androidx.lifecycle.compose.LifecycleResumeEffect
|
||||||
|
import com.vitorpamplona.amethyst.logTime
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Cache for stringResource because it seems to be > 1ms function in some phones
|
* Cache for stringResource because it seems to be > 1ms function in some phones
|
||||||
@@ -33,6 +37,9 @@ import androidx.lifecycle.compose.LifecycleResumeEffect
|
|||||||
private val resourceCache = LruCache<Int, String>(300)
|
private val resourceCache = LruCache<Int, String>(300)
|
||||||
private var resourceCacheLanguage: String? = null
|
private var resourceCacheLanguage: String? = null
|
||||||
|
|
||||||
|
// Caches most common icons in the app to avoid using disk
|
||||||
|
private val iconCache = LruCache<Int, Painter>(30)
|
||||||
|
|
||||||
fun checkLanguage(currentLanguage: String) {
|
fun checkLanguage(currentLanguage: String) {
|
||||||
if (resourceCacheLanguage == null) {
|
if (resourceCacheLanguage == null) {
|
||||||
resourceCacheLanguage = currentLanguage
|
resourceCacheLanguage = currentLanguage
|
||||||
@@ -118,3 +125,22 @@ fun stringRes(
|
|||||||
*args,
|
*args,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Composable
|
||||||
|
fun painterRes(
|
||||||
|
@DrawableRes id: Int,
|
||||||
|
): Painter {
|
||||||
|
val cached = iconCache.get(id)
|
||||||
|
if (cached != null) {
|
||||||
|
return cached
|
||||||
|
}
|
||||||
|
|
||||||
|
val loaded =
|
||||||
|
logTime("loading icon") {
|
||||||
|
painterResource(id)
|
||||||
|
}
|
||||||
|
|
||||||
|
iconCache.put(id, loaded)
|
||||||
|
|
||||||
|
return loaded
|
||||||
|
}
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ import androidx.compose.ui.graphics.Color
|
|||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.input.KeyboardCapitalization
|
import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
import androidx.compose.ui.text.input.TextFieldValue
|
import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import androidx.compose.ui.text.style.TextDirection
|
import androidx.compose.ui.text.style.TextDirection
|
||||||
@@ -93,6 +92,7 @@ import com.vitorpamplona.amethyst.ui.note.NoteCompose
|
|||||||
import com.vitorpamplona.amethyst.ui.note.creators.invoice.InvoiceRequest
|
import com.vitorpamplona.amethyst.ui.note.creators.invoice.InvoiceRequest
|
||||||
import com.vitorpamplona.amethyst.ui.note.creators.uploads.ImageVideoDescription
|
import com.vitorpamplona.amethyst.ui.note.creators.uploads.ImageVideoDescription
|
||||||
import com.vitorpamplona.amethyst.ui.note.creators.userSuggestions.ShowUserSuggestionList
|
import com.vitorpamplona.amethyst.ui.note.creators.userSuggestions.ShowUserSuggestionList
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.PostButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.PostButton
|
||||||
@@ -169,7 +169,7 @@ fun EditPostView(
|
|||||||
onClick = { showRelaysDialog = true },
|
onClick = { showRelaysDialog = true },
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.relays),
|
painter = painterRes(R.drawable.relays),
|
||||||
contentDescription = stringRes(id = R.string.relay_list_selector),
|
contentDescription = stringRes(id = R.string.relay_list_selector),
|
||||||
modifier = Modifier.height(25.dp),
|
modifier = Modifier.height(25.dp),
|
||||||
tint = MaterialTheme.colorScheme.onBackground,
|
tint = MaterialTheme.colorScheme.onBackground,
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.input.KeyboardCapitalization
|
import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
@@ -69,6 +68,7 @@ import com.vitorpamplona.amethyst.ui.actions.uploads.ShowImageUploadGallery
|
|||||||
import com.vitorpamplona.amethyst.ui.components.SetDialogToEdgeToEdge
|
import com.vitorpamplona.amethyst.ui.components.SetDialogToEdgeToEdge
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.note.creators.contentWarning.SettingSwitchItem
|
import com.vitorpamplona.amethyst.ui.note.creators.contentWarning.SettingSwitchItem
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.PostButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.PostButton
|
||||||
@@ -130,7 +130,7 @@ fun NewMediaView(
|
|||||||
onClick = { showRelaysDialog = true },
|
onClick = { showRelaysDialog = true },
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.relays),
|
painter = painterRes(R.drawable.relays),
|
||||||
contentDescription = stringRes(id = R.string.relay_list_selector),
|
contentDescription = stringRes(id = R.string.relay_list_selector),
|
||||||
modifier = Modifier.height(25.dp),
|
modifier = Modifier.height(25.dp),
|
||||||
tint = MaterialTheme.colorScheme.onBackground,
|
tint = MaterialTheme.colorScheme.onBackground,
|
||||||
|
|||||||
+2
-2
@@ -39,7 +39,6 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.runtime.getValue
|
import androidx.compose.runtime.getValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
@@ -49,6 +48,7 @@ import com.vitorpamplona.amethyst.ui.navigation.EmptyNav
|
|||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.routeToMessage
|
import com.vitorpamplona.amethyst.ui.navigation.routeToMessage
|
||||||
import com.vitorpamplona.amethyst.ui.note.UserPicture
|
import com.vitorpamplona.amethyst.ui.note.UserPicture
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.mockAccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.mockAccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
@@ -140,7 +140,7 @@ fun ErrorRow(
|
|||||||
} ?: stringRes(R.string.error_dialog_talk_to_user)
|
} ?: stringRes(R.string.error_dialog_talk_to_user)
|
||||||
|
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_dm),
|
painter = painterRes(R.drawable.ic_dm),
|
||||||
contentDescription = descriptor,
|
contentDescription = descriptor,
|
||||||
modifier = Size20Modifier,
|
modifier = Size20Modifier,
|
||||||
tint = MaterialTheme.colorScheme.primary,
|
tint = MaterialTheme.colorScheme.primary,
|
||||||
|
|||||||
@@ -36,11 +36,11 @@ import androidx.compose.runtime.Composable
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.ui.note.elements.TimeAgo
|
import com.vitorpamplona.amethyst.ui.note.elements.TimeAgo
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms.NewItemsBubble
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms.NewItemsBubble
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
|
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
|
||||||
@@ -56,7 +56,7 @@ fun ChannelNamePreview() {
|
|||||||
ChatHeaderLayout(
|
ChatHeaderLayout(
|
||||||
channelPicture = {
|
channelPicture = {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(R.drawable.github),
|
painter = painterRes(R.drawable.github),
|
||||||
contentDescription = stringRes(id = R.string.profile_banner),
|
contentDescription = stringRes(id = R.string.profile_banner),
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
)
|
)
|
||||||
@@ -89,7 +89,7 @@ fun ChannelNamePreview() {
|
|||||||
},
|
},
|
||||||
leadingContent = {
|
leadingContent = {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(R.drawable.github),
|
painter = painterRes(R.drawable.github),
|
||||||
contentDescription = stringRes(id = R.string.profile_banner),
|
contentDescription = stringRes(id = R.string.profile_banner),
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
modifier = Size55Modifier,
|
modifier = Size55Modifier,
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
@@ -45,6 +44,7 @@ import com.vitorpamplona.amethyst.R
|
|||||||
import com.vitorpamplona.amethyst.ui.note.LikeIcon
|
import com.vitorpamplona.amethyst.ui.note.LikeIcon
|
||||||
import com.vitorpamplona.amethyst.ui.note.TextCount
|
import com.vitorpamplona.amethyst.ui.note.TextCount
|
||||||
import com.vitorpamplona.amethyst.ui.note.ZappedIcon
|
import com.vitorpamplona.amethyst.ui.note.ZappedIcon
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.DoubleHorzSpacer
|
import com.vitorpamplona.amethyst.ui.theme.DoubleHorzSpacer
|
||||||
import com.vitorpamplona.amethyst.ui.theme.QuoteBorder
|
import com.vitorpamplona.amethyst.ui.theme.QuoteBorder
|
||||||
@@ -65,7 +65,7 @@ fun LeftPictureLayoutPreviewCard() {
|
|||||||
LeftPictureLayout(
|
LeftPictureLayout(
|
||||||
onImage = {
|
onImage = {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(R.drawable.github),
|
painter = painterRes(R.drawable.github),
|
||||||
contentDescription = stringRes(id = R.string.profile_banner),
|
contentDescription = stringRes(id = R.string.profile_banner),
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
modifier = Modifier.fillMaxSize().clip(QuoteBorder),
|
modifier = Modifier.fillMaxSize().clip(QuoteBorder),
|
||||||
|
|||||||
@@ -48,10 +48,10 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalView
|
import androidx.compose.ui.platform.LocalView
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
|
import com.vitorpamplona.amethyst.ui.theme.DividerThickness
|
||||||
@@ -185,7 +185,7 @@ private fun NotifiableIcon(
|
|||||||
) {
|
) {
|
||||||
Box(route.notifSize) {
|
Box(route.notifSize) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(id = route.icon),
|
painter = painterRes(id = route.icon),
|
||||||
contentDescription = stringRes(route.contentDescriptor),
|
contentDescription = stringRes(route.contentDescriptor),
|
||||||
modifier = route.iconSize,
|
modifier = route.iconSize,
|
||||||
tint = if (selected) MaterialTheme.colorScheme.primary else Color.Unspecified,
|
tint = if (selected) MaterialTheme.colorScheme.primary else Color.Unspecified,
|
||||||
|
|||||||
@@ -76,7 +76,6 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
|||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.platform.LocalFocusManager
|
import androidx.compose.ui.platform.LocalFocusManager
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.LinkAnnotation
|
import androidx.compose.ui.text.LinkAnnotation
|
||||||
import androidx.compose.ui.text.SpanStyle
|
import androidx.compose.ui.text.SpanStyle
|
||||||
import androidx.compose.ui.text.TextLinkStyles
|
import androidx.compose.ui.text.TextLinkStyles
|
||||||
@@ -102,6 +101,7 @@ import com.vitorpamplona.amethyst.ui.actions.mediaServers.MediaServersListView
|
|||||||
import com.vitorpamplona.amethyst.ui.components.CreateTextWithEmoji
|
import com.vitorpamplona.amethyst.ui.components.CreateTextWithEmoji
|
||||||
import com.vitorpamplona.amethyst.ui.components.RobohashFallbackAsyncImage
|
import com.vitorpamplona.amethyst.ui.components.RobohashFallbackAsyncImage
|
||||||
import com.vitorpamplona.amethyst.ui.note.LoadStatuses
|
import com.vitorpamplona.amethyst.ui.note.LoadStatuses
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.keyBackup.AccountBackupDialog
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.keyBackup.AccountBackupDialog
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.ShowQRDialog
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.ShowQRDialog
|
||||||
@@ -226,7 +226,7 @@ fun ProfileContentTemplate(
|
|||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(R.drawable.profile_banner),
|
painter = painterRes(R.drawable.profile_banner),
|
||||||
contentDescription = stringRes(R.string.profile_banner),
|
contentDescription = stringRes(R.string.profile_banner),
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
modifier = bannerModifier,
|
modifier = bannerModifier,
|
||||||
@@ -615,7 +615,7 @@ fun IconRow(
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(icon),
|
painter = painterRes(icon),
|
||||||
contentDescription = stringRes(title),
|
contentDescription = stringRes(title),
|
||||||
modifier = Size22Modifier,
|
modifier = Size22Modifier,
|
||||||
tint = tint,
|
tint = tint,
|
||||||
@@ -683,7 +683,7 @@ fun IconRowRelays(
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.relays),
|
painter = painterRes(R.drawable.relays),
|
||||||
null,
|
null,
|
||||||
modifier = Modifier.size(22.dp),
|
modifier = Modifier.size(22.dp),
|
||||||
tint = MaterialTheme.colorScheme.onSurface,
|
tint = MaterialTheme.colorScheme.onSurface,
|
||||||
@@ -761,7 +761,7 @@ fun BottomContent(
|
|||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_qrcode),
|
painter = painterRes(R.drawable.ic_qrcode),
|
||||||
contentDescription = stringRes(id = R.string.show_npub_as_a_qr_code),
|
contentDescription = stringRes(id = R.string.show_npub_as_a_qr_code),
|
||||||
modifier = Modifier.size(24.dp),
|
modifier = Modifier.size(24.dp),
|
||||||
tint = MaterialTheme.colorScheme.primary,
|
tint = MaterialTheme.colorScheme.primary,
|
||||||
|
|||||||
@@ -39,10 +39,10 @@ import androidx.compose.material3.TextButton
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size16dp
|
import com.vitorpamplona.amethyst.ui.theme.Size16dp
|
||||||
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
|
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
|
||||||
@@ -81,7 +81,7 @@ fun ErrorMessageDialog(
|
|||||||
onClickStartMessage?.let {
|
onClickStartMessage?.let {
|
||||||
TextButton(onClick = onClickStartMessage) {
|
TextButton(onClick = onClickStartMessage) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_dm),
|
painter = painterRes(R.drawable.ic_dm),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
Spacer(StdHorzSpacer)
|
Spacer(StdHorzSpacer)
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import androidx.compose.runtime.remember
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
import androidx.compose.ui.unit.Dp
|
import androidx.compose.ui.unit.Dp
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
@@ -64,6 +63,7 @@ import com.vitorpamplona.amethyst.commons.icons.Repost
|
|||||||
import com.vitorpamplona.amethyst.commons.icons.Reposted
|
import com.vitorpamplona.amethyst.commons.icons.Reposted
|
||||||
import com.vitorpamplona.amethyst.commons.icons.Search
|
import com.vitorpamplona.amethyst.commons.icons.Search
|
||||||
import com.vitorpamplona.amethyst.commons.icons.Zap
|
import com.vitorpamplona.amethyst.commons.icons.Zap
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.BitcoinOrange
|
import com.vitorpamplona.amethyst.ui.theme.BitcoinOrange
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size19Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size19Modifier
|
||||||
@@ -110,7 +110,7 @@ fun ArrowBackIcon(tint: Color = MaterialTheme.colorScheme.grayText) {
|
|||||||
@Composable
|
@Composable
|
||||||
fun MessageIcon(modifier: Modifier) {
|
fun MessageIcon(modifier: Modifier) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_dm),
|
painter = painterRes(R.drawable.ic_dm),
|
||||||
null,
|
null,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
tint = MaterialTheme.colorScheme.primary,
|
tint = MaterialTheme.colorScheme.primary,
|
||||||
@@ -133,7 +133,7 @@ fun DownloadForOfflineIcon(
|
|||||||
@Composable
|
@Composable
|
||||||
fun HashCheckIcon(iconSize: Dp) {
|
fun HashCheckIcon(iconSize: Dp) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.original),
|
painter = painterRes(R.drawable.original),
|
||||||
contentDescription = stringRes(id = R.string.hash_verification_passed),
|
contentDescription = stringRes(id = R.string.hash_verification_passed),
|
||||||
modifier = remember(iconSize) { Modifier.size(iconSize) },
|
modifier = remember(iconSize) { Modifier.size(iconSize) },
|
||||||
tint = Color.Unspecified,
|
tint = Color.Unspecified,
|
||||||
@@ -363,7 +363,7 @@ fun CommentIcon(
|
|||||||
@Composable
|
@Composable
|
||||||
fun PollIcon() {
|
fun PollIcon() {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_poll),
|
painter = painterRes(R.drawable.ic_poll),
|
||||||
contentDescription = stringRes(id = R.string.poll),
|
contentDescription = stringRes(id = R.string.poll),
|
||||||
modifier = Size20Modifier,
|
modifier = Size20Modifier,
|
||||||
tint = MaterialTheme.colorScheme.onBackground,
|
tint = MaterialTheme.colorScheme.onBackground,
|
||||||
@@ -373,7 +373,7 @@ fun PollIcon() {
|
|||||||
@Composable
|
@Composable
|
||||||
fun RegularPostIcon() {
|
fun RegularPostIcon() {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_lists),
|
painter = painterRes(R.drawable.ic_lists),
|
||||||
contentDescription = stringRes(id = R.string.disable_poll),
|
contentDescription = stringRes(id = R.string.disable_poll),
|
||||||
modifier = Size20Modifier,
|
modifier = Size20Modifier,
|
||||||
tint = MaterialTheme.colorScheme.onBackground,
|
tint = MaterialTheme.colorScheme.onBackground,
|
||||||
@@ -495,7 +495,7 @@ fun NIP05CheckingIcon(modifier: Modifier) {
|
|||||||
@Composable
|
@Composable
|
||||||
fun NIP05VerifiedIcon(modifier: Modifier) {
|
fun NIP05VerifiedIcon(modifier: Modifier) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.nip_05),
|
painter = painterRes(R.drawable.nip_05),
|
||||||
contentDescription = stringRes(id = R.string.nip05_verified),
|
contentDescription = stringRes(id = R.string.nip05_verified),
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
tint = Color.Unspecified,
|
tint = Color.Unspecified,
|
||||||
@@ -518,7 +518,7 @@ fun IncognitoIconOn(
|
|||||||
tint: Color,
|
tint: Color,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(id = R.drawable.incognito),
|
painter = painterRes(id = R.drawable.incognito),
|
||||||
contentDescription = stringRes(id = R.string.accessibility_turn_off_sealed_message),
|
contentDescription = stringRes(id = R.string.accessibility_turn_off_sealed_message),
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
tint = tint,
|
tint = tint,
|
||||||
@@ -531,7 +531,7 @@ fun IncognitoIconOff(
|
|||||||
tint: Color,
|
tint: Color,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(id = R.drawable.incognito_off),
|
painter = painterRes(id = R.drawable.incognito_off),
|
||||||
contentDescription = stringRes(id = R.string.accessibility_turn_on_sealed_message),
|
contentDescription = stringRes(id = R.string.accessibility_turn_on_sealed_message),
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
tint = tint,
|
tint = tint,
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ import androidx.compose.ui.graphics.toArgb
|
|||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.res.vectorResource
|
import androidx.compose.ui.res.vectorResource
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
@@ -86,6 +85,7 @@ import com.vitorpamplona.amethyst.model.User
|
|||||||
import com.vitorpamplona.amethyst.ui.navigation.EmptyNav
|
import com.vitorpamplona.amethyst.ui.navigation.EmptyNav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.Route
|
import com.vitorpamplona.amethyst.ui.navigation.Route
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.report.ReportNoteDialog
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.report.ReportNoteDialog
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
@@ -539,7 +539,7 @@ fun QuickActionAlertDialog(
|
|||||||
textContent = textContent,
|
textContent = textContent,
|
||||||
icon = {
|
icon = {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(buttonIconResource),
|
painter = painterRes(buttonIconResource),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
@@ -636,7 +636,7 @@ fun QuickActionAlertDialogOneButton(
|
|||||||
textContent = textContent,
|
textContent = textContent,
|
||||||
icon = {
|
icon = {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(buttonIconResource),
|
painter = painterRes(buttonIconResource),
|
||||||
contentDescription = null,
|
contentDescription = null,
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -71,7 +71,6 @@ import androidx.compose.ui.graphics.Color
|
|||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.platform.LocalUriHandler
|
import androidx.compose.ui.platform.LocalUriHandler
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.input.ImeAction
|
import androidx.compose.ui.text.input.ImeAction
|
||||||
import androidx.compose.ui.text.input.KeyboardCapitalization
|
import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import androidx.compose.ui.text.input.KeyboardType
|
||||||
@@ -87,6 +86,7 @@ import androidx.lifecycle.viewModelScope
|
|||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.SaveButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.SaveButton
|
||||||
@@ -460,7 +460,7 @@ fun UpdateZapAmountContent(
|
|||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.alby),
|
painter = painterRes(R.drawable.alby),
|
||||||
contentDescription = stringRes(id = R.string.accessibility_navigate_to_alby),
|
contentDescription = stringRes(id = R.string.accessibility_navigate_to_alby),
|
||||||
modifier = Modifier.size(24.dp),
|
modifier = Modifier.size(24.dp),
|
||||||
tint = Color.Unspecified,
|
tint = Color.Unspecified,
|
||||||
@@ -482,7 +482,7 @@ fun UpdateZapAmountContent(
|
|||||||
|
|
||||||
IconButton(onClick = { qrScanning = true }) {
|
IconButton(onClick = { qrScanning = true }) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_qrcode),
|
painter = painterRes(R.drawable.ic_qrcode),
|
||||||
contentDescription = stringRes(id = R.string.accessibility_scan_qr_code),
|
contentDescription = stringRes(id = R.string.accessibility_scan_qr_code),
|
||||||
modifier = Modifier.size(24.dp),
|
modifier = Modifier.size(24.dp),
|
||||||
tint = MaterialTheme.colorScheme.primary,
|
tint = MaterialTheme.colorScheme.primary,
|
||||||
|
|||||||
+2
-2
@@ -29,11 +29,11 @@ import androidx.compose.material3.ButtonDefaults
|
|||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vitorpamplona.amethyst.ui.actions.NewPollOption
|
import com.vitorpamplona.amethyst.ui.actions.NewPollOption
|
||||||
import com.vitorpamplona.amethyst.ui.actions.NewPollVoteValueRange
|
import com.vitorpamplona.amethyst.ui.actions.NewPollVoteValueRange
|
||||||
import com.vitorpamplona.amethyst.ui.actions.NewPostViewModel
|
import com.vitorpamplona.amethyst.ui.actions.NewPostViewModel
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size18Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size18Modifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ fun PollField(postViewModel: NewPostViewModel) {
|
|||||||
),
|
),
|
||||||
) {
|
) {
|
||||||
Image(
|
Image(
|
||||||
painterResource(id = android.R.drawable.ic_input_add),
|
painterRes(id = android.R.drawable.ic_input_add),
|
||||||
contentDescription = "Add poll option button",
|
contentDescription = "Add poll option button",
|
||||||
modifier = Size18Modifier,
|
modifier = Size18Modifier,
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-3
@@ -29,7 +29,6 @@ import androidx.compose.runtime.getValue
|
|||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
@@ -38,6 +37,7 @@ import com.vitorpamplona.amethyst.model.User
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserBanner
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserBanner
|
||||||
import com.vitorpamplona.amethyst.ui.note.BaseUserPicture
|
import com.vitorpamplona.amethyst.ui.note.BaseUserPicture
|
||||||
import com.vitorpamplona.amethyst.ui.note.WatchAuthor
|
import com.vitorpamplona.amethyst.ui.note.WatchAuthor
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size55dp
|
import com.vitorpamplona.amethyst.ui.theme.Size55dp
|
||||||
@@ -84,11 +84,11 @@ fun BannerImage(
|
|||||||
),
|
),
|
||||||
contentScale = ContentScale.Crop,
|
contentScale = ContentScale.Crop,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
placeholder = painterResource(R.drawable.profile_banner),
|
placeholder = painterRes(R.drawable.profile_banner),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(R.drawable.profile_banner),
|
painter = painterRes(R.drawable.profile_banner),
|
||||||
contentDescription = stringRes(R.string.profile_banner),
|
contentDescription = stringRes(R.string.profile_banner),
|
||||||
contentScale = ContentScale.Crop,
|
contentScale = ContentScale.Crop,
|
||||||
modifier = modifier,
|
modifier = modifier,
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import androidx.compose.ui.draw.clip
|
|||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.platform.LocalUriHandler
|
import androidx.compose.ui.platform.LocalUriHandler
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
@@ -64,6 +63,7 @@ import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
|
|||||||
import com.vitorpamplona.amethyst.ui.components.ZoomableImageDialog
|
import com.vitorpamplona.amethyst.ui.components.ZoomableImageDialog
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.note.LinkIcon
|
import com.vitorpamplona.amethyst.ui.note.LinkIcon
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size16Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size16Modifier
|
||||||
@@ -122,7 +122,7 @@ fun RenderAppDefinition(
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(R.drawable.profile_banner),
|
painter = painterRes(R.drawable.profile_banner),
|
||||||
contentDescription = stringRes(id = R.string.profile_banner),
|
contentDescription = stringRes(id = R.string.profile_banner),
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
modifier =
|
modifier =
|
||||||
|
|||||||
+2
-2
@@ -70,7 +70,6 @@ import androidx.compose.ui.Alignment.Companion.CenterVertically
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.input.TextFieldValue
|
import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
@@ -117,6 +116,7 @@ import com.vitorpamplona.amethyst.ui.note.creators.zapraiser.AddZapraiserButton
|
|||||||
import com.vitorpamplona.amethyst.ui.note.creators.zapraiser.ZapRaiserRequest
|
import com.vitorpamplona.amethyst.ui.note.creators.zapraiser.ZapRaiserRequest
|
||||||
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapTo
|
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapTo
|
||||||
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapToButton
|
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapToButton
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.settings.SettingsRow
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.settings.SettingsRow
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.ButtonBorder
|
import com.vitorpamplona.amethyst.ui.theme.ButtonBorder
|
||||||
@@ -234,7 +234,7 @@ fun NewPostScreen(
|
|||||||
onClick = { showRelaysDialog = true },
|
onClick = { showRelaysDialog = true },
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.relays),
|
painter = painterRes(R.drawable.relays),
|
||||||
contentDescription = stringRes(id = R.string.relay_list_selector),
|
contentDescription = stringRes(id = R.string.relay_list_selector),
|
||||||
modifier = Modifier.height(25.dp),
|
modifier = Modifier.height(25.dp),
|
||||||
tint = MaterialTheme.colorScheme.onBackground,
|
tint = MaterialTheme.colorScheme.onBackground,
|
||||||
|
|||||||
+3
-3
@@ -24,9 +24,9 @@ import androidx.compose.foundation.layout.Spacer
|
|||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.model.Note
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
|
import com.vitorpamplona.amethyst.ui.theme.StdHorzSpacer
|
||||||
import com.vitorpamplona.amethyst.ui.theme.incognitoIconModifier
|
import com.vitorpamplona.amethyst.ui.theme.incognitoIconModifier
|
||||||
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
import com.vitorpamplona.amethyst.ui.theme.placeholderText
|
||||||
@@ -37,7 +37,7 @@ import com.vitorpamplona.quartz.nip17Dm.base.NIP17Group
|
|||||||
fun IncognitoBadge(baseNote: Note) {
|
fun IncognitoBadge(baseNote: Note) {
|
||||||
if (baseNote.event is NIP17Group) {
|
if (baseNote.event is NIP17Group) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(id = R.drawable.incognito),
|
painter = painterRes(id = R.drawable.incognito),
|
||||||
null,
|
null,
|
||||||
modifier = incognitoIconModifier,
|
modifier = incognitoIconModifier,
|
||||||
tint = MaterialTheme.colorScheme.placeholderText,
|
tint = MaterialTheme.colorScheme.placeholderText,
|
||||||
@@ -45,7 +45,7 @@ fun IncognitoBadge(baseNote: Note) {
|
|||||||
Spacer(modifier = StdHorzSpacer)
|
Spacer(modifier = StdHorzSpacer)
|
||||||
} else if (baseNote.event is PrivateDmEvent) {
|
} else if (baseNote.event is PrivateDmEvent) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(id = R.drawable.incognito_off),
|
painter = painterRes(id = R.drawable.incognito_off),
|
||||||
null,
|
null,
|
||||||
modifier = incognitoIconModifier,
|
modifier = incognitoIconModifier,
|
||||||
tint = MaterialTheme.colorScheme.placeholderText,
|
tint = MaterialTheme.colorScheme.placeholderText,
|
||||||
|
|||||||
+2
-2
@@ -28,13 +28,13 @@ import androidx.compose.material3.MaterialTheme
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.model.Note
|
import com.vitorpamplona.amethyst.model.Note
|
||||||
import com.vitorpamplona.amethyst.ui.components.LoadNote
|
import com.vitorpamplona.amethyst.ui.components.LoadNote
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.Route
|
import com.vitorpamplona.amethyst.ui.navigation.Route
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size55Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size55Modifier
|
||||||
@@ -69,7 +69,7 @@ fun NewCommunityNoteButton(
|
|||||||
containerColor = MaterialTheme.colorScheme.primary,
|
containerColor = MaterialTheme.colorScheme.primary,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_compose),
|
painter = painterRes(R.drawable.ic_compose),
|
||||||
contentDescription = stringRes(id = R.string.new_community_note),
|
contentDescription = stringRes(id = R.string.new_community_note),
|
||||||
modifier = Modifier.size(26.dp),
|
modifier = Modifier.size(26.dp),
|
||||||
tint = Color.White,
|
tint = Color.White,
|
||||||
|
|||||||
+2
-2
@@ -58,7 +58,6 @@ import androidx.compose.ui.Alignment
|
|||||||
import androidx.compose.ui.Alignment.Companion.CenterVertically
|
import androidx.compose.ui.Alignment.Companion.CenterVertically
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.input.TextFieldValue
|
import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||||
@@ -92,6 +91,7 @@ import com.vitorpamplona.amethyst.ui.note.creators.zapraiser.AddZapraiserButton
|
|||||||
import com.vitorpamplona.amethyst.ui.note.creators.zapraiser.ZapRaiserRequest
|
import com.vitorpamplona.amethyst.ui.note.creators.zapraiser.ZapRaiserRequest
|
||||||
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapTo
|
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapTo
|
||||||
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapToButton
|
import com.vitorpamplona.amethyst.ui.note.creators.zapsplits.ForwardZapToButton
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.CloseButton
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.PostButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.PostButton
|
||||||
@@ -182,7 +182,7 @@ fun NewProductScreen(
|
|||||||
onClick = { showRelaysDialog = true },
|
onClick = { showRelaysDialog = true },
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.relays),
|
painter = painterRes(R.drawable.relays),
|
||||||
contentDescription = stringRes(id = R.string.relay_list_selector),
|
contentDescription = stringRes(id = R.string.relay_list_selector),
|
||||||
modifier = Modifier.height(25.dp),
|
modifier = Modifier.height(25.dp),
|
||||||
tint = MaterialTheme.colorScheme.onBackground,
|
tint = MaterialTheme.colorScheme.onBackground,
|
||||||
|
|||||||
+2
-2
@@ -28,11 +28,11 @@ import androidx.compose.material3.MaterialTheme
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.Route
|
import com.vitorpamplona.amethyst.ui.navigation.Route
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size55Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size55Modifier
|
||||||
|
|
||||||
@@ -50,7 +50,7 @@ fun NewNoteButton(
|
|||||||
containerColor = MaterialTheme.colorScheme.primary,
|
containerColor = MaterialTheme.colorScheme.primary,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_compose),
|
painter = painterRes(R.drawable.ic_compose),
|
||||||
contentDescription = stringRes(R.string.new_post),
|
contentDescription = stringRes(R.string.new_post),
|
||||||
modifier = Modifier.size(26.dp),
|
modifier = Modifier.size(26.dp),
|
||||||
tint = Color.White,
|
tint = Color.White,
|
||||||
|
|||||||
+2
-2
@@ -72,7 +72,6 @@ import androidx.compose.ui.platform.LocalAutofill
|
|||||||
import androidx.compose.ui.platform.LocalAutofillTree
|
import androidx.compose.ui.platform.LocalAutofillTree
|
||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.text.input.ImeAction
|
import androidx.compose.ui.text.input.ImeAction
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import androidx.compose.ui.text.input.KeyboardType
|
||||||
@@ -94,6 +93,7 @@ import com.vitorpamplona.amethyst.R
|
|||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.ui.note.ArrowBackIcon
|
import com.vitorpamplona.amethyst.ui.note.ArrowBackIcon
|
||||||
import com.vitorpamplona.amethyst.ui.note.authenticate
|
import com.vitorpamplona.amethyst.ui.note.authenticate
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.mockAccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.mockAccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.BackButton
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.BackButton
|
||||||
@@ -503,7 +503,7 @@ private fun QrCodeButtonBase(
|
|||||||
},
|
},
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_qrcode),
|
painter = painterRes(R.drawable.ic_qrcode),
|
||||||
contentDescription = stringRes(id = contentDescription),
|
contentDescription = stringRes(id = contentDescription),
|
||||||
modifier = Modifier.size(24.dp),
|
modifier = Modifier.size(24.dp),
|
||||||
tint = if (isEnabled) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.grayText,
|
tint = if (isEnabled) MaterialTheme.colorScheme.primary else MaterialTheme.colorScheme.grayText,
|
||||||
|
|||||||
+3
-3
@@ -41,7 +41,6 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.platform.LocalUriHandler
|
import androidx.compose.ui.platform.LocalUriHandler
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
@@ -55,6 +54,7 @@ import com.vitorpamplona.amethyst.ui.components.DisplayNip05ProfileStatus
|
|||||||
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
|
import com.vitorpamplona.amethyst.ui.components.TranslatableRichTextViewer
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.note.DrawPlayName
|
import com.vitorpamplona.amethyst.ui.note.DrawPlayName
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.header.apps.DisplayAppRecommendations
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.header.apps.DisplayAppRecommendations
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.header.apps.UserAppRecommendationsFeedViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.header.apps.UserAppRecommendationsFeedViewModel
|
||||||
@@ -146,7 +146,7 @@ fun DrawAdditionalInfo(
|
|||||||
onClick = { dialogOpen = true },
|
onClick = { dialogOpen = true },
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_qrcode),
|
painter = painterRes(R.drawable.ic_qrcode),
|
||||||
contentDescription = stringRes(id = R.string.show_npub_as_a_qr_code),
|
contentDescription = stringRes(id = R.string.show_npub_as_a_qr_code),
|
||||||
modifier = Size15Modifier,
|
modifier = Size15Modifier,
|
||||||
tint = MaterialTheme.colorScheme.placeholderText,
|
tint = MaterialTheme.colorScheme.placeholderText,
|
||||||
@@ -196,7 +196,7 @@ fun DrawAdditionalInfo(
|
|||||||
Row(verticalAlignment = Alignment.CenterVertically) {
|
Row(verticalAlignment = Alignment.CenterVertically) {
|
||||||
Icon(
|
Icon(
|
||||||
tint = Color.Unspecified,
|
tint = Color.Unspecified,
|
||||||
painter = painterResource(id = getIdentityClaimIcon(identity)),
|
painter = painterRes(id = getIdentityClaimIcon(identity)),
|
||||||
contentDescription = stringRes(getIdentityClaimDescription(identity)),
|
contentDescription = stringRes(getIdentityClaimDescription(identity)),
|
||||||
modifier = Modifier.size(16.dp),
|
modifier = Modifier.size(16.dp),
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-3
@@ -33,7 +33,6 @@ import androidx.compose.runtime.setValue
|
|||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import coil3.compose.AsyncImage
|
import coil3.compose.AsyncImage
|
||||||
@@ -42,6 +41,7 @@ import com.vitorpamplona.amethyst.commons.richtext.RichTextParser
|
|||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserBanner
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.observeUserBanner
|
||||||
import com.vitorpamplona.amethyst.ui.components.ZoomableImageDialog
|
import com.vitorpamplona.amethyst.ui.components.ZoomableImageDialog
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ fun DrawBanner(
|
|||||||
model = banner,
|
model = banner,
|
||||||
contentDescription = stringRes(id = R.string.profile_image),
|
contentDescription = stringRes(id = R.string.profile_image),
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
placeholder = painterResource(R.drawable.profile_banner),
|
placeholder = painterRes(R.drawable.profile_banner),
|
||||||
modifier =
|
modifier =
|
||||||
Modifier
|
Modifier
|
||||||
.fillMaxWidth()
|
.fillMaxWidth()
|
||||||
@@ -90,7 +90,7 @@ fun DrawBanner(
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Image(
|
Image(
|
||||||
painter = painterResource(R.drawable.profile_banner),
|
painter = painterRes(R.drawable.profile_banner),
|
||||||
contentDescription = stringRes(id = R.string.profile_banner),
|
contentDescription = stringRes(id = R.string.profile_banner),
|
||||||
contentScale = ContentScale.FillWidth,
|
contentScale = ContentScale.FillWidth,
|
||||||
modifier =
|
modifier =
|
||||||
|
|||||||
+2
-2
@@ -27,12 +27,12 @@ import androidx.compose.material3.Icon
|
|||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.runtime.rememberCoroutineScope
|
import androidx.compose.runtime.rememberCoroutineScope
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.Route
|
import com.vitorpamplona.amethyst.ui.navigation.Route
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size20Modifier
|
||||||
@@ -59,7 +59,7 @@ fun MessageButton(
|
|||||||
contentPadding = ZeroPadding,
|
contentPadding = ZeroPadding,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_dm),
|
painter = painterRes(R.drawable.ic_dm),
|
||||||
stringRes(R.string.send_a_direct_message),
|
stringRes(R.string.send_a_direct_message),
|
||||||
modifier = Size20Modifier,
|
modifier = Size20Modifier,
|
||||||
)
|
)
|
||||||
|
|||||||
+3
-3
@@ -60,7 +60,6 @@ import androidx.compose.ui.Modifier
|
|||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.platform.LocalClipboardManager
|
import androidx.compose.ui.platform.LocalClipboardManager
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.AnnotatedString
|
import androidx.compose.ui.text.AnnotatedString
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.tooling.preview.Preview
|
import androidx.compose.ui.tooling.preview.Preview
|
||||||
@@ -76,6 +75,7 @@ import com.vitorpamplona.amethyst.ui.actions.RelayInfoDialog
|
|||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.rememberExtendedNav
|
import com.vitorpamplona.amethyst.ui.navigation.rememberExtendedNav
|
||||||
import com.vitorpamplona.amethyst.ui.note.RenderRelayIcon
|
import com.vitorpamplona.amethyst.ui.note.RenderRelayIcon
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.RelayInformationDialog
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.RelayInformationDialog
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.recommendations.Kind3RelayProposalSetupInfo
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.relays.recommendations.Kind3RelayProposalSetupInfo
|
||||||
@@ -555,7 +555,7 @@ private fun ActiveToggles(
|
|||||||
onClick = { onToggleFollows(item) },
|
onClick = { onToggleFollows(item) },
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painterResource(R.drawable.ic_home),
|
painterRes(R.drawable.ic_home),
|
||||||
stringRes(R.string.home_feed),
|
stringRes(R.string.home_feed),
|
||||||
modifier =
|
modifier =
|
||||||
Modifier
|
Modifier
|
||||||
@@ -589,7 +589,7 @@ private fun ActiveToggles(
|
|||||||
onClick = { onTogglePrivateDMs(item) },
|
onClick = { onTogglePrivateDMs(item) },
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painterResource(R.drawable.ic_dm),
|
painterRes(R.drawable.ic_dm),
|
||||||
stringRes(R.string.private_message_feed),
|
stringRes(R.string.private_message_feed),
|
||||||
modifier =
|
modifier =
|
||||||
Modifier
|
Modifier
|
||||||
|
|||||||
+2
-2
@@ -59,7 +59,6 @@ import androidx.compose.ui.draw.drawBehind
|
|||||||
import androidx.compose.ui.geometry.Offset
|
import androidx.compose.ui.geometry.Offset
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.layout.ContentScale
|
import androidx.compose.ui.layout.ContentScale
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.TextStyle
|
import androidx.compose.ui.text.TextStyle
|
||||||
import androidx.compose.ui.text.font.FontWeight
|
import androidx.compose.ui.text.font.FontWeight
|
||||||
import androidx.compose.ui.text.input.KeyboardCapitalization
|
import androidx.compose.ui.text.input.KeyboardCapitalization
|
||||||
@@ -147,6 +146,7 @@ import com.vitorpamplona.amethyst.ui.note.types.RenderTextModificationEvent
|
|||||||
import com.vitorpamplona.amethyst.ui.note.types.RenderTorrent
|
import com.vitorpamplona.amethyst.ui.note.types.RenderTorrent
|
||||||
import com.vitorpamplona.amethyst.ui.note.types.RenderTorrentComment
|
import com.vitorpamplona.amethyst.ui.note.types.RenderTorrentComment
|
||||||
import com.vitorpamplona.amethyst.ui.note.types.VideoDisplay
|
import com.vitorpamplona.amethyst.ui.note.types.VideoDisplay
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.RenderFeedState
|
import com.vitorpamplona.amethyst.ui.screen.RenderFeedState
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.ChannelHeader
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.ChannelHeader
|
||||||
@@ -845,7 +845,7 @@ private fun RenderClassifiedsReaderForThread(
|
|||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_dm),
|
painter = painterRes(R.drawable.ic_dm),
|
||||||
stringRes(R.string.send_a_direct_message),
|
stringRes(R.string.send_a_direct_message),
|
||||||
modifier = Modifier.size(20.dp),
|
modifier = Modifier.size(20.dp),
|
||||||
tint = MaterialTheme.colorScheme.primary,
|
tint = MaterialTheme.colorScheme.primary,
|
||||||
|
|||||||
+2
-2
@@ -45,7 +45,6 @@ import androidx.compose.runtime.rememberCoroutineScope
|
|||||||
import androidx.compose.runtime.setValue
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.graphics.Color
|
import androidx.compose.ui.graphics.Color
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.lifecycle.viewmodel.compose.viewModel
|
import androidx.lifecycle.viewmodel.compose.viewModel
|
||||||
import com.vitorpamplona.amethyst.R
|
import com.vitorpamplona.amethyst.R
|
||||||
@@ -55,6 +54,7 @@ import com.vitorpamplona.amethyst.ui.actions.uploads.GallerySelect
|
|||||||
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectedMedia
|
import com.vitorpamplona.amethyst.ui.actions.uploads.SelectedMedia
|
||||||
import com.vitorpamplona.amethyst.ui.actions.uploads.TakePicture
|
import com.vitorpamplona.amethyst.ui.actions.uploads.TakePicture
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.INav
|
import com.vitorpamplona.amethyst.ui.navigation.INav
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
import com.vitorpamplona.amethyst.ui.theme.Size55Modifier
|
import com.vitorpamplona.amethyst.ui.theme.Size55Modifier
|
||||||
@@ -189,7 +189,7 @@ fun NewImageButton(
|
|||||||
exit = fadeOut(),
|
exit = fadeOut(),
|
||||||
) {
|
) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_compose),
|
painter = painterRes(R.drawable.ic_compose),
|
||||||
contentDescription = stringRes(id = R.string.new_short),
|
contentDescription = stringRes(id = R.string.new_short),
|
||||||
modifier = Modifier.size(26.dp),
|
modifier = Modifier.size(26.dp),
|
||||||
tint = Color.White,
|
tint = Color.White,
|
||||||
|
|||||||
+2
-2
@@ -76,7 +76,6 @@ import androidx.compose.ui.layout.onGloballyPositioned
|
|||||||
import androidx.compose.ui.platform.LocalAutofill
|
import androidx.compose.ui.platform.LocalAutofill
|
||||||
import androidx.compose.ui.platform.LocalAutofillTree
|
import androidx.compose.ui.platform.LocalAutofillTree
|
||||||
import androidx.compose.ui.platform.LocalContext
|
import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.painterResource
|
|
||||||
import androidx.compose.ui.text.input.ImeAction
|
import androidx.compose.ui.text.input.ImeAction
|
||||||
import androidx.compose.ui.text.input.KeyboardType
|
import androidx.compose.ui.text.input.KeyboardType
|
||||||
import androidx.compose.ui.text.input.PasswordVisualTransformation
|
import androidx.compose.ui.text.input.PasswordVisualTransformation
|
||||||
@@ -94,6 +93,7 @@ import com.vitorpamplona.amethyst.service.PackageUtils
|
|||||||
import com.vitorpamplona.amethyst.ui.MainActivity
|
import com.vitorpamplona.amethyst.ui.MainActivity
|
||||||
import com.vitorpamplona.amethyst.ui.components.LoadingAnimation
|
import com.vitorpamplona.amethyst.ui.components.LoadingAnimation
|
||||||
import com.vitorpamplona.amethyst.ui.components.getActivity
|
import com.vitorpamplona.amethyst.ui.components.getActivity
|
||||||
|
import com.vitorpamplona.amethyst.ui.painterRes
|
||||||
import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel
|
import com.vitorpamplona.amethyst.ui.screen.AccountStateViewModel
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.SimpleQrCodeScanner
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.qrcode.SimpleQrCodeScanner
|
||||||
import com.vitorpamplona.amethyst.ui.stringRes
|
import com.vitorpamplona.amethyst.ui.stringRes
|
||||||
@@ -592,7 +592,7 @@ fun KeyTextField(
|
|||||||
}
|
}
|
||||||
IconButton(onClick = { dialogOpen = true }) {
|
IconButton(onClick = { dialogOpen = true }) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_qrcode),
|
painter = painterRes(R.drawable.ic_qrcode),
|
||||||
contentDescription =
|
contentDescription =
|
||||||
stringRes(
|
stringRes(
|
||||||
R.string.login_with_qr_code,
|
R.string.login_with_qr_code,
|
||||||
|
|||||||
Reference in New Issue
Block a user