mirror of
https://github.com/LiveFastEatTrashRaccoon/RaccoonForLemmy.git
synced 2025-02-02 02:46:49 +01:00
feat: custom font scale factor for content classes (#541)
This commit is contained in:
parent
4d36ee8a7b
commit
3f935ae66c
@ -0,0 +1,15 @@
|
||||
package com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository
|
||||
|
||||
data class ContentFontScales(
|
||||
val title: Float = 1f,
|
||||
val body: Float = 1f,
|
||||
val comment: Float = 1f,
|
||||
val ancillary: Float = 1f,
|
||||
)
|
||||
|
||||
sealed interface ContentFontClass {
|
||||
data object Title : ContentFontClass
|
||||
data object Body : ContentFontClass
|
||||
data object Comment : ContentFontClass
|
||||
data object AncillaryText : ContentFontClass
|
||||
}
|
@ -13,7 +13,7 @@ internal class DefaultThemeRepository : ThemeRepository {
|
||||
override val uiTheme = MutableStateFlow<UiTheme?>(null)
|
||||
override val uiFontFamily = MutableStateFlow(UiFontFamily.Poppins)
|
||||
override val uiFontScale = MutableStateFlow(1f)
|
||||
override val contentFontScale = MutableStateFlow(1f)
|
||||
override val contentFontScale = MutableStateFlow(ContentFontScales())
|
||||
override val contentFontFamily = MutableStateFlow(UiFontFamily.Poppins)
|
||||
override val navItemTitles = MutableStateFlow(false)
|
||||
override val dynamicColors = MutableStateFlow(false)
|
||||
@ -38,7 +38,7 @@ internal class DefaultThemeRepository : ThemeRepository {
|
||||
uiFontScale.value = value
|
||||
}
|
||||
|
||||
override fun changeContentFontScale(value: Float) {
|
||||
override fun changeContentFontScale(value: ContentFontScales) {
|
||||
contentFontScale.value = value
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ interface ThemeRepository {
|
||||
val uiTheme: StateFlow<UiTheme?>
|
||||
val uiFontFamily: StateFlow<UiFontFamily>
|
||||
val uiFontScale: StateFlow<Float>
|
||||
val contentFontScale: StateFlow<Float>
|
||||
val contentFontScale: StateFlow<ContentFontScales>
|
||||
val contentFontFamily: StateFlow<UiFontFamily>
|
||||
val navItemTitles: StateFlow<Boolean>
|
||||
val dynamicColors: StateFlow<Boolean>
|
||||
@ -33,7 +33,7 @@ interface ThemeRepository {
|
||||
|
||||
fun changeUiFontScale(value: Float)
|
||||
|
||||
fun changeContentFontScale(value: Float)
|
||||
fun changeContentFontScale(value: ContentFontScales)
|
||||
|
||||
fun changeContentFontFamily(value: UiFontFamily)
|
||||
|
||||
|
@ -14,17 +14,12 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepos
|
||||
|
||||
@Composable
|
||||
fun AppTheme(
|
||||
theme: UiTheme?,
|
||||
contentFontScale: Float,
|
||||
useDynamicColors: Boolean,
|
||||
barTheme: UiBarTheme = UiBarTheme.Solid,
|
||||
content: @Composable () -> Unit,
|
||||
) {
|
||||
val repository = remember {
|
||||
val res = getThemeRepository()
|
||||
res.changeUiTheme(theme)
|
||||
res.changeContentFontScale(contentFontScale)
|
||||
res
|
||||
getThemeRepository()
|
||||
}
|
||||
|
||||
val themeState by repository.uiTheme.collectAsState()
|
||||
@ -47,7 +42,7 @@ fun AppTheme(
|
||||
|
||||
val barColorProvider = remember { getBarColorProvider() }
|
||||
barColorProvider.setBarColorAccordingToTheme(
|
||||
theme = theme ?: defaultTheme,
|
||||
theme = themeState ?: defaultTheme,
|
||||
barTheme = barTheme,
|
||||
)
|
||||
|
||||
|
@ -8,16 +8,26 @@ import androidx.compose.runtime.remember
|
||||
import androidx.compose.ui.platform.LocalDensity
|
||||
import androidx.compose.ui.unit.Density
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
|
||||
@Composable
|
||||
fun CustomizedContent(content: @Composable () -> Unit) {
|
||||
fun CustomizedContent(
|
||||
contentClass: ContentFontClass,
|
||||
content: @Composable () -> Unit,
|
||||
) {
|
||||
val themeRepository = remember { getThemeRepository() }
|
||||
val fontScale by themeRepository.contentFontScale.collectAsState()
|
||||
val scaleFactor = when (contentClass) {
|
||||
ContentFontClass.Title -> fontScale.title
|
||||
ContentFontClass.Body -> fontScale.body
|
||||
ContentFontClass.Comment -> fontScale.comment
|
||||
ContentFontClass.AncillaryText -> fontScale.ancillary
|
||||
}
|
||||
|
||||
CompositionLocalProvider(
|
||||
LocalDensity provides Density(
|
||||
density = LocalDensity.current.density,
|
||||
fontScale = fontScale,
|
||||
fontScale = scaleFactor,
|
||||
),
|
||||
) {
|
||||
content()
|
||||
|
@ -25,6 +25,7 @@ import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.toSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.VoteFormat
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
@ -125,7 +126,7 @@ fun CommentCard(
|
||||
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.75f),
|
||||
)
|
||||
} else {
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
CompositionLocalProvider(
|
||||
LocalDensity provides Density(
|
||||
density = LocalDensity.current.density,
|
||||
|
@ -32,10 +32,12 @@ import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback
|
||||
@ -148,40 +150,44 @@ fun CommunityAndCreatorInfo(
|
||||
modifier = Modifier.padding(vertical = Spacing.xxxs),
|
||||
) {
|
||||
if (community != null) {
|
||||
Text(
|
||||
modifier = Modifier
|
||||
.onClick(
|
||||
onClick = rememberCallback {
|
||||
onOpenCommunity?.invoke(community)
|
||||
},
|
||||
onDoubleClick = onDoubleClick ?: {},
|
||||
onLongClick = onLongClick ?: {},
|
||||
),
|
||||
text = communityName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = if (creator == null) ancillaryColor else fullColor,
|
||||
)
|
||||
CustomizedContent(ContentFontClass.AncillaryText) {
|
||||
Text(
|
||||
modifier = Modifier
|
||||
.onClick(
|
||||
onClick = rememberCallback {
|
||||
onOpenCommunity?.invoke(community)
|
||||
},
|
||||
onDoubleClick = onDoubleClick ?: {},
|
||||
onLongClick = onLongClick ?: {},
|
||||
),
|
||||
text = communityName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = if (creator == null) ancillaryColor else fullColor,
|
||||
)
|
||||
}
|
||||
}
|
||||
if (creator != null) {
|
||||
val translationAmount = 3.dp.toLocalPixel()
|
||||
Text(
|
||||
modifier = Modifier
|
||||
.graphicsLayer {
|
||||
if (communityName.isNotEmpty()) {
|
||||
translationY = -translationAmount
|
||||
CustomizedContent(ContentFontClass.AncillaryText) {
|
||||
Text(
|
||||
modifier = Modifier
|
||||
.graphicsLayer {
|
||||
if (communityName.isNotEmpty()) {
|
||||
translationY = -translationAmount
|
||||
}
|
||||
}
|
||||
}
|
||||
.onClick(
|
||||
onClick = rememberCallback {
|
||||
onOpenCreator?.invoke(creator)
|
||||
},
|
||||
onDoubleClick = onDoubleClick ?: {},
|
||||
onLongClick = onLongClick ?: {},
|
||||
),
|
||||
text = creatorName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
.onClick(
|
||||
onClick = rememberCallback {
|
||||
onOpenCreator?.invoke(creator)
|
||||
},
|
||||
onDoubleClick = onDoubleClick ?: {},
|
||||
onLongClick = onLongClick ?: {},
|
||||
),
|
||||
text = creatorName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isOp) {
|
||||
|
@ -34,7 +34,6 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomDropDown
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback
|
||||
@ -85,106 +84,103 @@ fun CommunityItem(
|
||||
title = community.readableName(preferNicknames),
|
||||
)
|
||||
}
|
||||
|
||||
CustomizedContent {
|
||||
Column(
|
||||
modifier = Modifier.weight(1f)
|
||||
) {
|
||||
val translationAmount = 3.dp.toLocalPixel()
|
||||
Text(
|
||||
text = buildString {
|
||||
append(title)
|
||||
},
|
||||
style = MaterialTheme.typography.bodyLarge,
|
||||
color = fullColor,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
)
|
||||
Text(
|
||||
modifier = Modifier.graphicsLayer {
|
||||
translationY = -translationAmount
|
||||
},
|
||||
text = buildString {
|
||||
append("!")
|
||||
append(communityName)
|
||||
},
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
}
|
||||
if (showSubscribers) {
|
||||
Row(
|
||||
modifier = Modifier.padding(start = Spacing.xxs),
|
||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Text(
|
||||
text = community.subscribers.toString(),
|
||||
style = MaterialTheme.typography.bodyMedium,
|
||||
color = MaterialTheme.colorScheme.onBackground,
|
||||
)
|
||||
Icon(
|
||||
imageVector = Icons.Default.Group,
|
||||
contentDescription = "",
|
||||
tint = MaterialTheme.colorScheme.onBackground,
|
||||
)
|
||||
}
|
||||
}
|
||||
Column(
|
||||
modifier = Modifier.weight(1f)
|
||||
) {
|
||||
val translationAmount = 3.dp.toLocalPixel()
|
||||
Text(
|
||||
text = buildString {
|
||||
append(title)
|
||||
},
|
||||
style = MaterialTheme.typography.bodyLarge,
|
||||
color = fullColor,
|
||||
maxLines = 1,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
)
|
||||
Text(
|
||||
modifier = Modifier.graphicsLayer {
|
||||
translationY = -translationAmount
|
||||
},
|
||||
text = buildString {
|
||||
append("!")
|
||||
append(communityName)
|
||||
},
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
}
|
||||
|
||||
if (showFavorite) {
|
||||
if (community.favorite) {
|
||||
if (showSubscribers) {
|
||||
Row(
|
||||
modifier = Modifier.padding(start = Spacing.xxs),
|
||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Text(
|
||||
text = community.subscribers.toString(),
|
||||
style = MaterialTheme.typography.bodyMedium,
|
||||
color = MaterialTheme.colorScheme.onBackground,
|
||||
)
|
||||
Icon(
|
||||
modifier = Modifier.size(IconSize.s),
|
||||
imageVector = Icons.Default.Star,
|
||||
imageVector = Icons.Default.Group,
|
||||
contentDescription = "",
|
||||
tint = MaterialTheme.colorScheme.onBackground,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (options.isNotEmpty()) {
|
||||
Box {
|
||||
Icon(
|
||||
modifier = Modifier.size(IconSize.m)
|
||||
.padding(Spacing.xs)
|
||||
.onGloballyPositioned {
|
||||
optionsOffset = it.positionInParent()
|
||||
}
|
||||
.onClick(
|
||||
if (showFavorite) {
|
||||
if (community.favorite) {
|
||||
Icon(
|
||||
modifier = Modifier.size(IconSize.s),
|
||||
imageVector = Icons.Default.Star,
|
||||
contentDescription = "",
|
||||
tint = MaterialTheme.colorScheme.onBackground,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (options.isNotEmpty()) {
|
||||
Box {
|
||||
Icon(
|
||||
modifier = Modifier.size(IconSize.m)
|
||||
.padding(Spacing.xs)
|
||||
.onGloballyPositioned {
|
||||
optionsOffset = it.positionInParent()
|
||||
}
|
||||
.onClick(
|
||||
onClick = rememberCallback {
|
||||
optionsMenuOpen = true
|
||||
},
|
||||
),
|
||||
imageVector = Icons.Default.MoreVert,
|
||||
contentDescription = null,
|
||||
tint = ancillaryColor,
|
||||
)
|
||||
|
||||
CustomDropDown(
|
||||
expanded = optionsMenuOpen,
|
||||
onDismiss = {
|
||||
optionsMenuOpen = false
|
||||
},
|
||||
offset = DpOffset(
|
||||
x = optionsOffset.x.toLocalDp(),
|
||||
y = optionsOffset.y.toLocalDp(),
|
||||
),
|
||||
) {
|
||||
options.forEach { option ->
|
||||
Text(
|
||||
modifier = Modifier.padding(
|
||||
horizontal = Spacing.m,
|
||||
vertical = Spacing.s,
|
||||
).onClick(
|
||||
onClick = rememberCallback {
|
||||
optionsMenuOpen = true
|
||||
optionsMenuOpen = false
|
||||
onOptionSelected?.invoke(option.id)
|
||||
},
|
||||
),
|
||||
imageVector = Icons.Default.MoreVert,
|
||||
contentDescription = null,
|
||||
tint = ancillaryColor,
|
||||
)
|
||||
|
||||
CustomDropDown(
|
||||
expanded = optionsMenuOpen,
|
||||
onDismiss = {
|
||||
optionsMenuOpen = false
|
||||
},
|
||||
offset = DpOffset(
|
||||
x = optionsOffset.x.toLocalDp(),
|
||||
y = optionsOffset.y.toLocalDp(),
|
||||
),
|
||||
) {
|
||||
options.forEach { option ->
|
||||
Text(
|
||||
modifier = Modifier.padding(
|
||||
horizontal = Spacing.m,
|
||||
vertical = Spacing.s,
|
||||
).onClick(
|
||||
onClick = rememberCallback {
|
||||
optionsMenuOpen = false
|
||||
onOptionSelected?.invoke(option.id)
|
||||
},
|
||||
),
|
||||
text = option.text,
|
||||
)
|
||||
}
|
||||
text = option.text,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ import androidx.compose.ui.draw.shadow
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.VoteFormat
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
@ -87,7 +88,7 @@ fun InboxCard(
|
||||
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.75f),
|
||||
)
|
||||
} else {
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
PostCardBody(
|
||||
modifier = Modifier.padding(
|
||||
horizontal = Spacing.xs,
|
||||
|
@ -37,10 +37,12 @@ import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.VoteFormat
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.formatToReadableValue
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomDropDown
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.FeedbackButton
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback
|
||||
@ -120,14 +122,16 @@ fun InboxReplySubtitle(
|
||||
contentScale = ContentScale.FillBounds,
|
||||
)
|
||||
}
|
||||
Text(
|
||||
modifier = Modifier.padding(vertical = Spacing.xs),
|
||||
text = creatorName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = ancillaryColor,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
maxLines = 1,
|
||||
)
|
||||
CustomizedContent(ContentFontClass.AncillaryText) {
|
||||
Text(
|
||||
modifier = Modifier.padding(vertical = Spacing.xs),
|
||||
text = creatorName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = ancillaryColor,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
maxLines = 1,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
if (communityName.isNotEmpty()) {
|
||||
@ -156,14 +160,16 @@ fun InboxReplySubtitle(
|
||||
contentScale = ContentScale.FillBounds,
|
||||
)
|
||||
}
|
||||
Text(
|
||||
modifier = Modifier.padding(vertical = Spacing.xs),
|
||||
text = communityName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
maxLines = 1,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
CustomizedContent(ContentFontClass.AncillaryText) {
|
||||
Text(
|
||||
modifier = Modifier.padding(vertical = Spacing.xs),
|
||||
text = communityName,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
overflow = TextOverflow.Ellipsis,
|
||||
maxLines = 1,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,6 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomDropDown
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.MultiCommunityModel
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick
|
||||
@ -72,21 +71,21 @@ fun MultiCommunityItem(
|
||||
)
|
||||
}
|
||||
|
||||
CustomizedContent {
|
||||
Column(
|
||||
modifier = Modifier.weight(1f)
|
||||
) {
|
||||
Text(
|
||||
modifier = Modifier.padding(vertical = Spacing.s),
|
||||
text = buildString {
|
||||
append(title)
|
||||
},
|
||||
color = fullColor,
|
||||
style = MaterialTheme.typography.bodyLarge,
|
||||
)
|
||||
}
|
||||
|
||||
Column(
|
||||
modifier = Modifier.weight(1f)
|
||||
) {
|
||||
Text(
|
||||
modifier = Modifier.padding(vertical = Spacing.s),
|
||||
text = buildString {
|
||||
append(title)
|
||||
},
|
||||
color = fullColor,
|
||||
style = MaterialTheme.typography.bodyLarge,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
if (options.isNotEmpty()) {
|
||||
Box {
|
||||
Icon(
|
||||
|
@ -31,6 +31,7 @@ import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.VoteFormat
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
@ -226,7 +227,7 @@ private fun CompactPost(
|
||||
verticalAlignment = Alignment.Top,
|
||||
horizontalArrangement = Arrangement.spacedBy(Spacing.xs)
|
||||
) {
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Title) {
|
||||
PostCardTitle(
|
||||
modifier = Modifier.weight(0.75f),
|
||||
text = post.title,
|
||||
@ -370,7 +371,7 @@ private fun ExtendedPost(
|
||||
optionsMenuOpen.value = true
|
||||
},
|
||||
)
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Title) {
|
||||
PostCardTitle(
|
||||
modifier = Modifier.padding(
|
||||
vertical = Spacing.xs,
|
||||
@ -437,7 +438,7 @@ private fun ExtendedPost(
|
||||
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.75f),
|
||||
)
|
||||
} else {
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
PostCardBody(
|
||||
modifier = Modifier.padding(
|
||||
top = Spacing.xxs,
|
||||
|
@ -30,7 +30,6 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomDropDown
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.PlaceholderImage
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.rememberCallback
|
||||
@ -78,13 +77,11 @@ fun UserItem(
|
||||
)
|
||||
}
|
||||
|
||||
CustomizedContent {
|
||||
Text(
|
||||
text = user.readableHandle,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = fullColor,
|
||||
)
|
||||
}
|
||||
Text(
|
||||
text = user.readableHandle,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = fullColor,
|
||||
)
|
||||
|
||||
if (options.isNotEmpty()) {
|
||||
Box {
|
||||
|
@ -179,7 +179,7 @@
|
||||
<string name="settings_content_font_larger">كبير جدا</string>
|
||||
<string name="settings_content_font_largest">دوبل إكسترا لارج</string>
|
||||
<string name="settings_content_font_normal">عادي</string>
|
||||
<string name="settings_content_font_scale">حجم نص المحتوى</string>
|
||||
<string name="settings_content_font_scale">حجم النص من المشاركات</string>
|
||||
<string name="settings_content_font_small">صغير</string>
|
||||
<string name="settings_content_font_smaller">صغيرة إضافية</string>
|
||||
<string name="settings_content_font_smallest">مزدوج إضافي صغير</string>
|
||||
@ -331,4 +331,7 @@
|
||||
<string name="settings_comment_bar_thickness">سمك شريط التعليق</string>
|
||||
<string name="settings_prefer_user_nicknames">استخدم أسماء العرض للمستخدمين والمجتمعات</string>
|
||||
<string name="message_video_nsfw">تم وضع علامة على هذا الفيديو على أنه NSFW</string>
|
||||
<string name="settings_title_font_scale">حجم نص العناوين</string>
|
||||
<string name="settings_comment_font_scale">حجم نص التعليقات</string>
|
||||
<string name="settings_ancillary_font_scale">حجم النصوص المساعدة</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Много голям</string>
|
||||
<string name="settings_content_font_largest">Двойна много голяма</string>
|
||||
<string name="settings_content_font_normal">Нормална</string>
|
||||
<string name="settings_content_font_scale">Размер на текста на съдържанието</string>
|
||||
<string name="settings_content_font_scale">Размер на текста на публикациите</string>
|
||||
<string name="settings_content_font_small">Малко</string>
|
||||
<string name="settings_content_font_smaller">Много Малък</string>
|
||||
<string name="settings_content_font_smallest">Двойно по - малко</string>
|
||||
@ -341,4 +341,7 @@
|
||||
<string name="settings_comment_bar_thickness">Дебелина на лентата за коментари</string>
|
||||
<string name="settings_prefer_user_nicknames">Използвайте показвани имена за потребители и общности</string>
|
||||
<string name="message_video_nsfw">Този видеоклип беше маркиран като NSFW</string>
|
||||
<string name="settings_title_font_scale">Размер на текста на заглавията</string>
|
||||
<string name="settings_comment_font_scale">Размер на текста на коментарите</string>
|
||||
<string name="settings_ancillary_font_scale">Размер на спомагателните текстове</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Extra velké</string>
|
||||
<string name="settings_content_font_largest">Dvojité extra velké</string>
|
||||
<string name="settings_content_font_normal">Normální</string>
|
||||
<string name="settings_content_font_scale">Velikost textu obsahu</string>
|
||||
<string name="settings_content_font_scale">Velikost textu příspěvků</string>
|
||||
<string name="settings_content_font_small">Malé</string>
|
||||
<string name="settings_content_font_smaller">Velmi malé</string>
|
||||
<string name="settings_content_font_smallest">Dvojité extra malé</string>
|
||||
@ -333,4 +333,7 @@
|
||||
<string name="settings_comment_bar_thickness">Komentář tloušťka tyče</string>
|
||||
<string name="settings_prefer_user_nicknames">Používejte zobrazovaná jména pro uživatele a komunity</string>
|
||||
<string name="message_video_nsfw">Toto video bylo označeno jako NSFW</string>
|
||||
<string name="settings_title_font_scale">Velikost textu titulků</string>
|
||||
<string name="settings_comment_font_scale">Velikost textu komentářů</string>
|
||||
<string name="settings_ancillary_font_scale">Velikost pomocných textů</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Ekstra stort</string>
|
||||
<string name="settings_content_font_largest">Dobbelt ekstra stor</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Indhold tekst størrelse</string>
|
||||
<string name="settings_content_font_scale">Tekststørrelse på indlæg</string>
|
||||
<string name="settings_content_font_small">Lille</string>
|
||||
<string name="settings_content_font_smaller">Ekstra lille</string>
|
||||
<string name="settings_content_font_smallest">Dobbelt ekstra lille</string>
|
||||
@ -333,4 +333,7 @@
|
||||
<string name="settings_comment_bar_thickness">Kommentarbjælketykkelse</string>
|
||||
<string name="settings_prefer_user_nicknames">Brug visningsnavne til brugere og fællesskaber</string>
|
||||
<string name="message_video_nsfw">Denne video blev markeret som NSFW</string>
|
||||
<string name="settings_title_font_scale">Tekststørrelse på titler</string>
|
||||
<string name="settings_comment_font_scale">Tekststørrelse af kommentarer</string>
|
||||
<string name="settings_ancillary_font_scale">Størrelse af hjælpetekster</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Extra groß</string>
|
||||
<string name="settings_content_font_largest">Doppelt extra groß</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Inhalt-Schriftgröße</string>
|
||||
<string name="settings_content_font_scale">Textgröße der Beiträge</string>
|
||||
<string name="settings_content_font_small">Klein</string>
|
||||
<string name="settings_content_font_smaller">Extra klein</string>
|
||||
<string name="settings_content_font_smallest">Doppelt extra klein</string>
|
||||
@ -341,4 +341,7 @@
|
||||
<string name="settings_comment_bar_thickness">Dicke der Kommentarleiste</string>
|
||||
<string name="settings_prefer_user_nicknames">Verwenden Sie Anzeigenamen für Benutzer und Communities</string>
|
||||
<string name="message_video_nsfw">Dieses Video wurde als NSFW markiert</string>
|
||||
<string name="settings_title_font_scale">Textgröße der Titel</string>
|
||||
<string name="settings_comment_font_scale">Textgröße von Kommentaren</string>
|
||||
<string name="settings_ancillary_font_scale">Größe der Zusatztexte</string>
|
||||
</resources>
|
||||
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Εξαιρετικά μεγάλο</string>
|
||||
<string name="settings_content_font_largest">Διπλά εξαιρετικά μεγάλο</string>
|
||||
<string name="settings_content_font_normal">Κανονικό</string>
|
||||
<string name="settings_content_font_scale">Μέγεθος κειμένου περιεχομένου</string>
|
||||
<string name="settings_content_font_scale">Μέγεθος κειμένου αναρτήσεων</string>
|
||||
<string name="settings_content_font_small">Μικρό</string>
|
||||
<string name="settings_content_font_smaller">Πολύ μικρό</string>
|
||||
<string name="settings_content_font_smallest">Διπλά πολύ μικρό</string>
|
||||
@ -344,4 +344,7 @@
|
||||
<string name="settings_comment_bar_thickness">Πάχος ράβδου σχολίων</string>
|
||||
<string name="settings_prefer_user_nicknames">Χρησιμοποιήστε εμφανιζόμενα ονόματα για χρήστες και κοινότητες</string>
|
||||
<string name="message_video_nsfw">Αυτό το βίντεο επισημάνθηκε ως NSFW</string>
|
||||
<string name="settings_title_font_scale">Μέγεθος κειμένου των τίτλων</string>
|
||||
<string name="settings_comment_font_scale">Μέγεθος κειμένου σχολίων</string>
|
||||
<string name="settings_ancillary_font_scale">Μέγεθος βοηθητικών κειμένων</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Pli granda</string>
|
||||
<string name="settings_content_font_largest">Duoble pli granda</string>
|
||||
<string name="settings_content_font_normal">Normala</string>
|
||||
<string name="settings_content_font_scale">Enhava tekstograndeco</string>
|
||||
<string name="settings_content_font_scale">Teksta grandeco de afiŝoj</string>
|
||||
<string name="settings_content_font_small">Malgranda</string>
|
||||
<string name="settings_content_font_smaller">Pli malgranda</string>
|
||||
<string name="settings_content_font_smallest">Duoble pli malgranda</string>
|
||||
@ -332,4 +332,7 @@
|
||||
<string name="settings_comment_bar_thickness">Komento trinkejo dikeco</string>
|
||||
<string name="settings_prefer_user_nicknames">Uzu vidnomojn por uzantoj kaj komunumoj</string>
|
||||
<string name="message_video_nsfw">Ĉi tiu video estis markita kiel NSFW</string>
|
||||
<string name="settings_title_font_scale">Tekstograndeco de titoloj</string>
|
||||
<string name="settings_comment_font_scale">Tekstograndeco de komentoj</string>
|
||||
<string name="settings_ancillary_font_scale">Grandeco de helpaj tekstoj</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Muy grande</string>
|
||||
<string name="settings_content_font_largest">Extra grande</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Tamaño de texto del contenido</string>
|
||||
<string name="settings_content_font_scale">Tamaño de texto publicaciones</string>
|
||||
<string name="settings_content_font_small">Pequeño</string>
|
||||
<string name="settings_content_font_smaller">Muy pequeño</string>
|
||||
<string name="settings_content_font_smallest">Extra pequeño</string>
|
||||
@ -334,4 +334,7 @@
|
||||
<string name="settings_comment_bar_thickness">Grosor de la barra de comentarios</string>
|
||||
<string name="settings_prefer_user_nicknames">Utilizar nombres para mostrar para usuarios y comunidades</string>
|
||||
<string name="message_video_nsfw">Este vídeo fue marcado como NSFW</string>
|
||||
<string name="settings_title_font_scale">Tamaño del texto de los títulos.</string>
|
||||
<string name="settings_comment_font_scale">Tamaño del texto de los comentarios.</string>
|
||||
<string name="settings_ancillary_font_scale">Tamaño de los textos auxiliares</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Eriti suur</string>
|
||||
<string name="settings_content_font_largest">Kahekordne ülisuur</string>
|
||||
<string name="settings_content_font_normal">Normaalne</string>
|
||||
<string name="settings_content_font_scale">Sisu teksti suurus</string>
|
||||
<string name="settings_content_font_scale">Postituste teksti suurus</string>
|
||||
<string name="settings_content_font_small">Väike</string>
|
||||
<string name="settings_content_font_smaller">Eriti väike</string>
|
||||
<string name="settings_content_font_smallest">Kahekordne üliväike</string>
|
||||
@ -333,4 +333,7 @@
|
||||
<string name="settings_comment_bar_thickness">Kommentaari riba paksus</string>
|
||||
<string name="settings_prefer_user_nicknames">Kasutage kasutajate ja kogukondade jaoks kuvatavaid nimesid</string>
|
||||
<string name="message_video_nsfw">See video märgiti kui NSFW</string>
|
||||
<string name="settings_title_font_scale">Pealkirjade teksti suurus</string>
|
||||
<string name="settings_comment_font_scale">Kommentaaride teksti suurus</string>
|
||||
<string name="settings_ancillary_font_scale">Abitekstide suurus</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Erittäin suuri</string>
|
||||
<string name="settings_content_font_largest">Kaksinkertainen erittäin suuri</string>
|
||||
<string name="settings_content_font_normal">Normaali</string>
|
||||
<string name="settings_content_font_scale">Sisällön tekstin koko</string>
|
||||
<string name="settings_content_font_scale">Viestien tekstikoko</string>
|
||||
<string name="settings_content_font_small">Pieni</string>
|
||||
<string name="settings_content_font_smaller">Erittäin pieni</string>
|
||||
<string name="settings_content_font_smallest">Kaksinkertainen erittäin pieni</string>
|
||||
@ -333,4 +333,7 @@
|
||||
<string name="settings_comment_bar_thickness">Kommenttipalkin paksuus</string>
|
||||
<string name="settings_prefer_user_nicknames">Käytä näyttönimiä käyttäjille ja yhteisöille</string>
|
||||
<string name="message_video_nsfw">Tämä video on merkitty NSFW:ksi</string>
|
||||
<string name="settings_title_font_scale">Otsikon tekstikoko</string>
|
||||
<string name="settings_comment_font_scale">Kommenttien tekstikoko</string>
|
||||
<string name="settings_ancillary_font_scale">Aputekstien koko</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Extra large</string>
|
||||
<string name="settings_content_font_largest">Double extra large</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Tailler du texte des contenus</string>
|
||||
<string name="settings_content_font_scale">Tailler du texte des publications</string>
|
||||
<string name="settings_content_font_small">Petit</string>
|
||||
<string name="settings_content_font_smaller">Extra petit</string>
|
||||
<string name="settings_content_font_smallest">Double extra petit</string>
|
||||
@ -338,4 +338,7 @@
|
||||
<string name="settings_comment_bar_thickness">Épaisseur de la barre de commentaires</string>
|
||||
<string name="settings_prefer_user_nicknames">Utiliser des noms d\'affichage pour les utilisateurs et les communautés</string>
|
||||
<string name="message_video_nsfw">Cette vidéo a été marquée comme NSFW</string>
|
||||
<string name="settings_title_font_scale">Taille du texte des titres</string>
|
||||
<string name="settings_comment_font_scale">Taille du texte des commentaires</string>
|
||||
<string name="settings_ancillary_font_scale">Taille des textes annexes</string>
|
||||
</resources>
|
@ -186,7 +186,7 @@
|
||||
<string name="settings_content_font_larger">An - mhór</string>
|
||||
<string name="settings_content_font_largest">An - mhór dúbailte</string>
|
||||
<string name="settings_content_font_normal">Gnáth</string>
|
||||
<string name="settings_content_font_scale">Méid an ábhair</string>
|
||||
<string name="settings_content_font_scale">Méid téacs na bpostálacha</string>
|
||||
<string name="settings_content_font_small">Beag</string>
|
||||
<string name="settings_content_font_smaller">An - bheag</string>
|
||||
<string name="settings_content_font_smallest">Dhá oiread beag breise</string>
|
||||
@ -342,4 +342,7 @@
|
||||
<string name="settings_comment_bar_thickness">Tiús barra tráchta</string>
|
||||
<string name="settings_prefer_user_nicknames">Úsáid ainmneacha taispeána le haghaidh úsáideoirí agus pobail</string>
|
||||
<string name="message_video_nsfw">Marcáladh an físeán seo mar NSFW</string>
|
||||
<string name="settings_title_font_scale">Méid téacs na dteideal</string>
|
||||
<string name="settings_comment_font_scale">Méid téacs na dtuairimí</string>
|
||||
<string name="settings_ancillary_font_scale">Méid na dtéacsanna coimhdeacha</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Jako velika</string>
|
||||
<string name="settings_content_font_largest">Dvostruko ekstra velika</string>
|
||||
<string name="settings_content_font_normal">Normalno</string>
|
||||
<string name="settings_content_font_scale">Veličina teksta sadržaja</string>
|
||||
<string name="settings_content_font_scale">Veličina teksta postova</string>
|
||||
<string name="settings_content_font_small">Mali</string>
|
||||
<string name="settings_content_font_smaller">jako malo</string>
|
||||
<string name="settings_content_font_smallest">Dvostruko, vrlo malo</string>
|
||||
@ -338,4 +338,7 @@
|
||||
<string name="settings_comment_bar_thickness">Debljina trake komentara</string>
|
||||
<string name="settings_prefer_user_nicknames">Koristite imena za prikaz za korisnike i zajednice</string>
|
||||
<string name="message_video_nsfw">Ovaj video je označen kao NSFW</string>
|
||||
<string name="settings_title_font_scale">Veličina teksta naslova</string>
|
||||
<string name="settings_comment_font_scale">Veličina teksta komentara</string>
|
||||
<string name="settings_ancillary_font_scale">Veličina pomoćnih tekstova</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Nagyon nagy</string>
|
||||
<string name="settings_content_font_largest">Dupla extra nagy</string>
|
||||
<string name="settings_content_font_normal">Átlagos</string>
|
||||
<string name="settings_content_font_scale">Tartalom szövegének mérete</string>
|
||||
<string name="settings_content_font_scale">Hozzászólások szövegmérete</string>
|
||||
<string name="settings_content_font_small">Kicsi</string>
|
||||
<string name="settings_content_font_smaller">Extra kicsi</string>
|
||||
<string name="settings_content_font_smallest">Dupla extra kicsi</string>
|
||||
@ -337,4 +337,7 @@
|
||||
<string name="settings_comment_bar_thickness">Megjegyzés sáv vastagsága</string>
|
||||
<string name="settings_prefer_user_nicknames">Használjon megjelenített neveket a felhasználók és közösségek számára</string>
|
||||
<string name="message_video_nsfw">Ez a videó NSFW-ként lett megjelölve</string>
|
||||
<string name="settings_title_font_scale">Címek szövegmérete</string>
|
||||
<string name="settings_comment_font_scale">Megjegyzések szövegmérete</string>
|
||||
<string name="settings_ancillary_font_scale">A segédszövegek mérete</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Più grande</string>
|
||||
<string name="settings_content_font_largest">Grandissimo</string>
|
||||
<string name="settings_content_font_normal">Normale</string>
|
||||
<string name="settings_content_font_scale">Dimensione testo contenuti</string>
|
||||
<string name="settings_content_font_scale">Dimensione testo post</string>
|
||||
<string name="settings_content_font_small">Piccolo</string>
|
||||
<string name="settings_content_font_smaller">Più piccolo</string>
|
||||
<string name="settings_content_font_smallest">Piccolissimo</string>
|
||||
@ -337,4 +337,7 @@
|
||||
<string name="settings_comment_bar_thickness">Spessore barra dei commenti</string>
|
||||
<string name="settings_prefer_user_nicknames">Utilizza nome visualizzato per utenti e comunità</string>
|
||||
<string name="message_video_nsfw">Questo video è stato contrassegnato come NSFW</string>
|
||||
<string name="settings_title_font_scale">Dimensione testo titoli</string>
|
||||
<string name="settings_comment_font_scale">Dimensione testo commenti</string>
|
||||
<string name="settings_ancillary_font_scale">Dimensione testi ancillari</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Εχτra large</string>
|
||||
<string name="settings_content_font_largest">Dvivietis ypač didelis</string>
|
||||
<string name="settings_content_font_normal">Normalus</string>
|
||||
<string name="settings_content_font_scale">Turinio teksto dydis</string>
|
||||
<string name="settings_content_font_scale">Įrašų teksto dydis</string>
|
||||
<string name="settings_content_font_small">Mažas</string>
|
||||
<string name="settings_content_font_smaller">Itin mažas</string>
|
||||
<string name="settings_content_font_smallest">Dvivietis itin mažas</string>
|
||||
@ -335,4 +335,7 @@
|
||||
<string name="settings_comment_bar_thickness">Komentarų juostos storis</string>
|
||||
<string name="settings_prefer_user_nicknames">Naudokite rodomus vardus naudotojams ir bendruomenėms</string>
|
||||
<string name="message_video_nsfw">Šis vaizdo įrašas buvo pažymėtas kaip NSFW</string>
|
||||
<string name="settings_title_font_scale">Antraštės teksto dydis</string>
|
||||
<string name="settings_comment_font_scale">Komentarų teksto dydis</string>
|
||||
<string name="settings_ancillary_font_scale">Pagalbinių tekstų dydis</string>
|
||||
</resources>
|
@ -182,7 +182,7 @@
|
||||
<string name="settings_content_font_larger">Ļoti liels</string>
|
||||
<string name="settings_content_font_largest">Divvietīgs, īpaši liels</string>
|
||||
<string name="settings_content_font_normal">Parasta</string>
|
||||
<string name="settings_content_font_scale">Satura teksta lielums</string>
|
||||
<string name="settings_content_font_scale">Ziņu teksta lielums</string>
|
||||
<string name="settings_content_font_small">Neliela</string>
|
||||
<string name="settings_content_font_smaller">Ekstra mazs</string>
|
||||
<string name="settings_content_font_smallest">Divvietīgs, īpaši mazs</string>
|
||||
@ -337,4 +337,7 @@
|
||||
<string name="settings_comment_bar_thickness">Komentāru joslas biezums</string>
|
||||
<string name="settings_prefer_user_nicknames">Izmantojiet parādāmos vārdus lietotājiem un kopienām</string>
|
||||
<string name="message_video_nsfw">Šis videoklips tika atzīmēts kā NSFW</string>
|
||||
<string name="settings_title_font_scale">Virsrakstu teksta lielums</string>
|
||||
<string name="settings_comment_font_scale">Komentāru teksta lielums</string>
|
||||
<string name="settings_ancillary_font_scale">Palīgtekstu lielums</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Iktar kbir</string>
|
||||
<string name="settings_content_font_largest">Kbir żejjed doppju</string>
|
||||
<string name="settings_content_font_normal">Normali</string>
|
||||
<string name="settings_content_font_scale">Daqs tat-test tal-kontenut</string>
|
||||
<string name="settings_content_font_scale">Daqs tat-test tal-postijiet</string>
|
||||
<string name="settings_content_font_small">Żgħir</string>
|
||||
<string name="settings_content_font_smaller">Iktar żgħir</string>
|
||||
<string name="settings_content_font_smallest">Żgħir żejjed doppju</string>
|
||||
@ -338,4 +338,7 @@
|
||||
<string name="settings_comment_bar_thickness">Ħxuna tal-bar tal-kumment</string>
|
||||
<string name="settings_prefer_user_nicknames">Uża ismijiet tal-wiri għall-utenti u l-komunitajiet</string>
|
||||
<string name="message_video_nsfw">Dan il-video kien immarkat bħala NSFW</string>
|
||||
<string name="settings_title_font_scale">Daqs tat-test tat-titoli</string>
|
||||
<string name="settings_comment_font_scale">Daqs tat-test tal-kummenti</string>
|
||||
<string name="settings_ancillary_font_scale">Daqs tat-testi anċillari</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Extra large</string>
|
||||
<string name="settings_content_font_largest">Dubbel extra groot</string>
|
||||
<string name="settings_content_font_normal">Normaal</string>
|
||||
<string name="settings_content_font_scale">Inhoud tekst grootte</string>
|
||||
<string name="settings_content_font_scale">Tekstgrootte van berichten</string>
|
||||
<string name="settings_content_font_small">Klein</string>
|
||||
<string name="settings_content_font_smaller">Extra klein</string>
|
||||
<string name="settings_content_font_smallest">Dubbel extra klein</string>
|
||||
@ -336,4 +336,7 @@
|
||||
<string name="settings_comment_bar_thickness">Opmerking staafdikte</string>
|
||||
<string name="settings_prefer_user_nicknames">Gebruik weergavenamen voor gebruikers en community\'s</string>
|
||||
<string name="message_video_nsfw">Deze video is gemarkeerd als NSFW</string>
|
||||
<string name="settings_title_font_scale">Tekstgrootte van titels</string>
|
||||
<string name="settings_comment_font_scale">Tekstgrootte van opmerkingen</string>
|
||||
<string name="settings_ancillary_font_scale">Grootte van ondersteunende teksten</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
<string name="settings_content_font_larger">Ekstra stor</string>
|
||||
<string name="settings_content_font_largest">Dobbel ekstra stor</string>
|
||||
<string name="settings_content_font_normal">Normale</string>
|
||||
<string name="settings_content_font_scale">Content text size</string>
|
||||
<string name="settings_content_font_scale">Tekststørrelse på innlegg</string>
|
||||
<string name="settings_content_font_small">Små</string>
|
||||
<string name="settings_content_font_smaller">Ekstra liten</string>
|
||||
<string name="settings_content_font_smallest">Dobbel ekstra liten</string>
|
||||
@ -335,4 +335,7 @@
|
||||
<string name="settings_comment_bar_thickness">Kommentarstavtykkelse</string>
|
||||
<string name="settings_prefer_user_nicknames">Bruk visningsnavn for brukere og fellesskap</string>
|
||||
<string name="message_video_nsfw">Denne videoen ble merket som NSFW</string>
|
||||
<string name="settings_title_font_scale">Tekststørrelse på titler</string>
|
||||
<string name="settings_comment_font_scale">Tekststørrelse på kommentarer</string>
|
||||
<string name="settings_ancillary_font_scale">Størrelse på hjelpetekster</string>
|
||||
</resources>
|
@ -182,7 +182,7 @@
|
||||
<string name="settings_content_font_larger">Bardzo duży</string>
|
||||
<string name="settings_content_font_largest">Podwójny bardzo duży</string>
|
||||
<string name="settings_content_font_normal">Normalny</string>
|
||||
<string name="settings_content_font_scale">Rozmiar tekstu treści</string>
|
||||
<string name="settings_content_font_scale">Rozmiar tekstu postów</string>
|
||||
<string name="settings_content_font_small">Mały</string>
|
||||
<string name="settings_content_font_smaller">Bardzo mały</string>
|
||||
<string name="settings_content_font_smallest">Podwójny bardzo mały</string>
|
||||
@ -336,4 +336,7 @@
|
||||
<string name="settings_comment_bar_thickness">Grubość paska komentarza</string>
|
||||
<string name="settings_prefer_user_nicknames">Używaj nazw wyświetlanych dla użytkowników i społeczności</string>
|
||||
<string name="message_video_nsfw">Ten film wideo został oznaczony jako NSFW</string>
|
||||
<string name="settings_title_font_scale">Rozmiar tekstu tytułów</string>
|
||||
<string name="settings_comment_font_scale">Rozmiar tekstu komentarzy</string>
|
||||
<string name="settings_ancillary_font_scale">Rozmiar tekstów pomocniczych</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Extragrande</string>
|
||||
<string name="settings_content_font_largest">Super extragrande</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Tamanho do texto de conteúdo</string>
|
||||
<string name="settings_content_font_scale">Tamanho do texto dos posts</string>
|
||||
<string name="settings_content_font_small">Pequeno</string>
|
||||
<string name="settings_content_font_smaller">Extra pequeno</string>
|
||||
<string name="settings_content_font_smallest">Super extrapequeno</string>
|
||||
@ -333,4 +333,7 @@
|
||||
<string name="settings_comment_bar_thickness">Espessura da barra de comentários</string>
|
||||
<string name="settings_prefer_user_nicknames">Usar nomes de exibição para usuários e comunidades</string>
|
||||
<string name="message_video_nsfw">Este vídeo foi marcado como NSFW</string>
|
||||
<string name="settings_title_font_scale">Tamanho do texto dos títulos</string>
|
||||
<string name="settings_comment_font_scale">Tamanho do texto dos comentários</string>
|
||||
<string name="settings_ancillary_font_scale">Tamanho dos textos auxiliares</string>
|
||||
</resources>
|
||||
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Extra grande</string>
|
||||
<string name="settings_content_font_largest">Duplo extra large</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Tamanho do texto dos conteúdos</string>
|
||||
<string name="settings_content_font_scale">Tamanho do texto das publicações</string>
|
||||
<string name="settings_content_font_small">Pequeno</string>
|
||||
<string name="settings_content_font_smaller">Extra pequeno</string>
|
||||
<string name="settings_content_font_smallest">Doblo extra pequeno</string>
|
||||
@ -335,4 +335,7 @@
|
||||
<string name="settings_comment_bar_thickness">Espessura da barra de comentários</string>
|
||||
<string name="settings_prefer_user_nicknames">Usar nomes de exibição para usuários e comunidades</string>
|
||||
<string name="message_video_nsfw">Este vídeo foi marcado como NSFW</string>
|
||||
<string name="settings_title_font_scale">Tamanho do texto dos títulos</string>
|
||||
<string name="settings_comment_font_scale">Tamanho do texto dos comentários</string>
|
||||
<string name="settings_ancillary_font_scale">Tamanho dos textos auxiliares</string>
|
||||
</resources>
|
@ -182,7 +182,7 @@
|
||||
<string name="settings_content_font_larger">Foarte mare</string>
|
||||
<string name="settings_content_font_largest">Dublu extra mare</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Dimensiunea textului conținuturilor</string>
|
||||
<string name="settings_content_font_scale">Dimensiunea textului postărilor</string>
|
||||
<string name="settings_content_font_small">Mic</string>
|
||||
<string name="settings_content_font_smaller">Extra mic</string>
|
||||
<string name="settings_content_font_smallest">Dublu extra mic</string>
|
||||
@ -334,4 +334,7 @@
|
||||
<string name="settings_comment_bar_thickness">Grosimea barei comentariilor</string>
|
||||
<string name="settings_prefer_user_nicknames">Utilizează nume afișate pentru utilizatori și comunități</string>
|
||||
<string name="message_video_nsfw">Acest videoclip a fost marcat ca NSFW</string>
|
||||
<string name="settings_title_font_scale">Dimensiunea textului titlurilor</string>
|
||||
<string name="settings_comment_font_scale">Dimensiunea textului comentariilor</string>
|
||||
<string name="settings_ancillary_font_scale">Dimensiunea textelor auxiliare</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Очень большой</string>
|
||||
<string name="settings_content_font_largest">Double Extra Large</string>
|
||||
<string name="settings_content_font_normal">Обычные</string>
|
||||
<string name="settings_content_font_scale">Размер текста содержимого</string>
|
||||
<string name="settings_content_font_scale">Размер текста постов</string>
|
||||
<string name="settings_content_font_small">Маленький</string>
|
||||
<string name="settings_content_font_smaller">Очень маленький</string>
|
||||
<string name="settings_content_font_smallest">Double Extra Small</string>
|
||||
@ -337,4 +337,7 @@
|
||||
<string name="settings_comment_bar_thickness">Толщина панели комментариев</string>
|
||||
<string name="settings_prefer_user_nicknames">Используйте отображаемые имена для пользователей и сообществ</string>
|
||||
<string name="message_video_nsfw">Это видео было отмечено как NSFW.</string>
|
||||
<string name="settings_title_font_scale">Размер текста заголовков</string>
|
||||
<string name="settings_comment_font_scale">Размер текста комментариев</string>
|
||||
<string name="settings_ancillary_font_scale">Размер вспомогательных текстов</string>
|
||||
</resources>
|
@ -182,7 +182,7 @@
|
||||
<string name="settings_content_font_larger">Extra stor</string>
|
||||
<string name="settings_content_font_largest">Dubbel extra stor</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Innehållstextstorlek</string>
|
||||
<string name="settings_content_font_scale">Textstorlek på inlägg</string>
|
||||
<string name="settings_content_font_small">Liten</string>
|
||||
<string name="settings_content_font_smaller">Extra liten</string>
|
||||
<string name="settings_content_font_smallest">Dubbel extra liten</string>
|
||||
@ -334,4 +334,7 @@
|
||||
<string name="settings_comment_bar_thickness">Kommentarstapelns tjocklek</string>
|
||||
<string name="settings_prefer_user_nicknames">Använd visningsnamn för användare och gemenskaper</string>
|
||||
<string name="message_video_nsfw">Den här videon markerades som NSFW</string>
|
||||
<string name="settings_title_font_scale">Textstorlek på titlar</string>
|
||||
<string name="settings_comment_font_scale">Textstorlek på kommentarer</string>
|
||||
<string name="settings_ancillary_font_scale">Storlek på tilläggstexter</string>
|
||||
</resources>
|
@ -183,7 +183,7 @@
|
||||
</string>
|
||||
<string name="settings_content_font_largest">Dvojité extra veľké</string>
|
||||
<string name="settings_content_font_normal">V norme</string>
|
||||
<string name="settings_content_font_scale">Veľkosť textu obsahu</string>
|
||||
<string name="settings_content_font_scale">Veľkosť textu príspevkov</string>
|
||||
<string name="settings_content_font_small">Malá</string>
|
||||
<string name="settings_content_font_smaller">Extra</string>
|
||||
<string name="settings_content_font_smallest">Dvojité extra malé</string>
|
||||
@ -335,4 +335,7 @@
|
||||
<string name="settings_comment_bar_thickness">Komentár hrúbka pruhu</string>
|
||||
<string name="settings_prefer_user_nicknames">Používať zobrazované mená pre používateľov a komunity</string>
|
||||
<string name="message_video_nsfw">Toto video bolo označené ako NSFW</string>
|
||||
<string name="settings_title_font_scale">Veľkosť textu titulkov</string>
|
||||
<string name="settings_comment_font_scale">Veľkosť textu komentárov</string>
|
||||
<string name="settings_ancillary_font_scale">Veľkosť pomocných textov</string>
|
||||
</resources>
|
@ -180,7 +180,7 @@
|
||||
<string name="settings_content_font_larger">Zelo velika</string>
|
||||
<string name="settings_content_font_largest">Dvojno, zelo veliko</string>
|
||||
<string name="settings_content_font_normal">Normalno</string>
|
||||
<string name="settings_content_font_scale">Velikost besedila vsebine</string>
|
||||
<string name="settings_content_font_scale">Velikost besedila objav</string>
|
||||
<string name="settings_content_font_small">Majhna</string>
|
||||
<string name="settings_content_font_smaller">Zelo majhen</string>
|
||||
<string name="settings_content_font_smallest">Dvojno, zelo majhno</string>
|
||||
@ -333,4 +333,7 @@
|
||||
<string name="settings_comment_bar_thickness">Debelina vrstice za komentarje</string>
|
||||
<string name="settings_prefer_user_nicknames">Uporabite prikazna imena za uporabnike in skupnosti</string>
|
||||
<string name="message_video_nsfw">Ta video je bil označen kot NSFW</string>
|
||||
<string name="settings_title_font_scale">Velikost besedila naslovov</string>
|
||||
<string name="settings_comment_font_scale">Velikost besedila komentarjev</string>
|
||||
<string name="settings_ancillary_font_scale">Velikost pomožnih besedil</string>
|
||||
</resources>
|
@ -182,7 +182,7 @@
|
||||
<string name="settings_content_font_larger">ekstra e madhe</string>
|
||||
<string name="settings_content_font_largest">Dyfish më i madh</string>
|
||||
<string name="settings_content_font_normal">Normale</string>
|
||||
<string name="settings_content_font_scale">Madhësia e tekstit të përmbajtjes</string>
|
||||
<string name="settings_content_font_scale">Madhësia e tekstit të postimeve</string>
|
||||
<string name="settings_content_font_small">Trupvogël</string>
|
||||
<string name="settings_content_font_smaller">Shumë e vogël</string>
|
||||
<string name="settings_content_font_smallest">Dyfish më i vogël</string>
|
||||
@ -339,4 +339,7 @@
|
||||
<string name="settings_comment_bar_thickness">Trashësia e shiritit të komenteve</string>
|
||||
<string name="settings_prefer_user_nicknames">Përdorni emra të shfaqur për përdoruesit dhe komunitetet</string>
|
||||
<string name="message_video_nsfw">Kjo video u shënua si NSFW</string>
|
||||
<string name="settings_title_font_scale">Madhësia e tekstit të titujve</string>
|
||||
<string name="settings_comment_font_scale">Madhësia e tekstit të komenteve</string>
|
||||
<string name="settings_ancillary_font_scale">Madhësia e teksteve ndihmëse</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">suli mute</string>
|
||||
<string name="settings_content_font_largest">suli mute mute</string>
|
||||
<string name="settings_content_font_normal">pona</string>
|
||||
<string name="settings_content_font_scale">suli sitelen</string>
|
||||
<string name="settings_content_font_scale">suli sitelen lipu</string>
|
||||
<string name="settings_content_font_small">lili</string>
|
||||
<string name="settings_content_font_smaller">lili mute</string>
|
||||
<string name="settings_content_font_smallest">lili mute mute</string>
|
||||
@ -332,4 +332,7 @@
|
||||
<string name="settings_comment_bar_thickness">suli pi linja pi toki lili</string>
|
||||
<string name="settings_prefer_user_nicknames">o lukin e nimi lili tan jan tan kulupu</string>
|
||||
<string name="message_video_nsfw">sitelen tawa ni li NSFW</string>
|
||||
<string name="settings_title_font_scale">suli sitelen pi toki suli</string>
|
||||
<string name="settings_comment_font_scale">suli sitelen pi toki lili</string>
|
||||
<string name="settings_ancillary_font_scale">suli sitelen pi nimi lili</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Ekstra Büyük</string>
|
||||
<string name="settings_content_font_largest">Double extra large</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">İçerik Yazı Boyutu</string>
|
||||
<string name="settings_content_font_scale">Gönderilerin metin boyutu</string>
|
||||
<string name="settings_content_font_small">Küçük</string>
|
||||
<string name="settings_content_font_smaller">Ekstra Küçük</string>
|
||||
<string name="settings_content_font_smallest">Double extra small</string>
|
||||
@ -336,4 +336,7 @@
|
||||
<string name="settings_comment_bar_thickness">Yorum çubuğu kalınlığı</string>
|
||||
<string name="settings_prefer_user_nicknames">Kullanıcılar ve topluluklar için görünen adları kullanın</string>
|
||||
<string name="message_video_nsfw">Bu video NSFW olarak işaretlendi</string>
|
||||
<string name="settings_title_font_scale">Başlıkların metin boyutu</string>
|
||||
<string name="settings_comment_font_scale">Yorumların metin boyutu</string>
|
||||
<string name="settings_ancillary_font_scale">Yardımcı metinlerin boyutu</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Дуже великий</string>
|
||||
<string name="settings_content_font_largest">Подвійний екстра-великий</string>
|
||||
<string name="settings_content_font_normal">Нормальний</string>
|
||||
<string name="settings_content_font_scale">Розмір тексту контенту</string>
|
||||
<string name="settings_content_font_scale">Розмір тексту дописів</string>
|
||||
<string name="settings_content_font_small">Маленький</string>
|
||||
<string name="settings_content_font_smaller">Дуже малий</string>
|
||||
<string name="settings_content_font_smallest">Подвійний екстра малий</string>
|
||||
@ -336,4 +336,7 @@
|
||||
<string name="settings_comment_bar_thickness">Товщина панелі коментарів</string>
|
||||
<string name="settings_prefer_user_nicknames">Використовуйте відображувані імена для користувачів і спільнот</string>
|
||||
<string name="message_video_nsfw">Це відео було позначено як NSFW</string>
|
||||
<string name="settings_title_font_scale">Розмір тексту заголовків</string>
|
||||
<string name="settings_comment_font_scale">Розмір тексту коментарів</string>
|
||||
<string name="settings_ancillary_font_scale">Розмір допоміжних текстів</string>
|
||||
</resources>
|
@ -181,7 +181,7 @@
|
||||
<string name="settings_content_font_larger">Extra large</string>
|
||||
<string name="settings_content_font_largest">Double extra large</string>
|
||||
<string name="settings_content_font_normal">Normal</string>
|
||||
<string name="settings_content_font_scale">Content text size</string>
|
||||
<string name="settings_content_font_scale">Post text size</string>
|
||||
<string name="settings_content_font_small">Small</string>
|
||||
<string name="settings_content_font_smaller">Extra small</string>
|
||||
<string name="settings_content_font_smallest">Double extra small</string>
|
||||
@ -331,4 +331,7 @@
|
||||
<string name="settings_comment_bar_thickness">Comment bar thickness</string>
|
||||
<string name="settings_prefer_user_nicknames">Use display names for users and communities</string>
|
||||
<string name="message_video_nsfw">This video was marked as NSFW</string>
|
||||
<string name="settings_title_font_scale">Title text size</string>
|
||||
<string name="settings_comment_font_scale">Comment text size</string>
|
||||
<string name="settings_ancillary_font_scale">Ancillary text size</string>
|
||||
</resources>
|
@ -7,6 +7,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.UiBarTheme
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.UiFontFamily
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.UiTheme
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.VoteFormat
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.ActionOnSwipe
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.ActionOnSwipeDirection
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.ActionOnSwipeTarget
|
||||
@ -31,7 +32,8 @@ sealed interface NotificationCenterEvent {
|
||||
|
||||
data class ChangeInboxType(val unreadOnly: Boolean) : NotificationCenterEvent
|
||||
data class ChangeTheme(val value: UiTheme?) : NotificationCenterEvent
|
||||
data class ChangeContentFontSize(val value: Float) : NotificationCenterEvent
|
||||
data class ChangeContentFontSize(val value: Float, val contentClass: ContentFontClass) :
|
||||
NotificationCenterEvent
|
||||
data class ChangeUiFontSize(val value: Float) : NotificationCenterEvent
|
||||
data class ChangeFontFamily(val value: UiFontFamily) : NotificationCenterEvent
|
||||
data class ChangeContentFontFamily(val value: UiFontFamily) : NotificationCenterEvent
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.github.diegoberaldin.raccoonforlemmy.core.persistence.data
|
||||
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.VoteFormat
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontScales
|
||||
import kotlin.time.Duration
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
||||
@ -9,7 +10,7 @@ data class SettingsModel(
|
||||
val theme: Int? = null,
|
||||
val uiFontFamily: Int = 0,
|
||||
val uiFontScale: Float = 1f,
|
||||
val contentFontScale: Float = 1f,
|
||||
val contentFontScale: ContentFontScales = ContentFontScales(),
|
||||
val contentFontFamily: Int = 0,
|
||||
val locale: String? = null,
|
||||
val defaultListingType: Int = 2,
|
||||
|
@ -2,6 +2,7 @@ package com.github.diegoberaldin.raccoonforlemmy.core.persistence.repository
|
||||
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toLong
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toVoteFormat
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontScales
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.persistence.DatabaseProvider
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.persistence.GetBy
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.persistence.data.ActionOnSwipe
|
||||
@ -19,7 +20,10 @@ private object KeyStoreKeys {
|
||||
const val UI_THEME = "uiTheme"
|
||||
const val UI_FONT_FAMILY = "uiFontFamily"
|
||||
const val UI_FONT_SCALE = "uiFontSize"
|
||||
const val CONTENT_FONT_SCALE = "contentFontSize"
|
||||
const val CONTENT_TITLE_FONT_SCALE = "titleFontSize"
|
||||
const val CONTENT_BODY_FONT_SCALE = "contentFontSize"
|
||||
const val CONTENT_COMMENT_FONT_SCALE = "commentFontSize"
|
||||
const val CONTENT_ANCILLARY_FONT_SCALE = "ancillaryFontSize"
|
||||
const val LOCALE = "locale"
|
||||
const val DEFAULT_LISTING_TYPE = "defaultListingType"
|
||||
const val DEFAULT_POST_SORT_TYPE = "defaultPostSortType"
|
||||
@ -69,7 +73,10 @@ internal class DefaultSettingsRepository(
|
||||
theme = settings.theme?.toLong(),
|
||||
uiFontScale = settings.uiFontScale.toDouble(),
|
||||
uiFontFamily = settings.uiFontFamily.toLong(),
|
||||
contentFontScale = settings.contentFontScale.toDouble(),
|
||||
titleFontScale = settings.contentFontScale.title.toDouble(),
|
||||
contentFontScale = settings.contentFontScale.body.toDouble(),
|
||||
commentFontScale = settings.contentFontScale.comment.toDouble(),
|
||||
ancillaryFontScale = settings.contentFontScale.ancillary.toDouble(),
|
||||
locale = settings.locale,
|
||||
defaultListingType = settings.defaultListingType.toLong(),
|
||||
defaultPostSortType = settings.defaultPostSortType.toLong(),
|
||||
@ -126,13 +133,19 @@ internal class DefaultSettingsRepository(
|
||||
withContext(Dispatchers.IO) {
|
||||
if (accountId == null) {
|
||||
// anonymous user, reading from keystore
|
||||
val contentFontScale = ContentFontScales(
|
||||
title = keyStore[KeyStoreKeys.CONTENT_TITLE_FONT_SCALE, 1f],
|
||||
body = keyStore[KeyStoreKeys.CONTENT_BODY_FONT_SCALE, 1f],
|
||||
comment = keyStore[KeyStoreKeys.CONTENT_COMMENT_FONT_SCALE, 1f],
|
||||
ancillary = keyStore[KeyStoreKeys.CONTENT_ANCILLARY_FONT_SCALE, 1f],
|
||||
)
|
||||
SettingsModel(
|
||||
theme = if (keyStore.containsKey(KeyStoreKeys.UI_THEME)) {
|
||||
keyStore[KeyStoreKeys.UI_THEME, 0]
|
||||
} else null,
|
||||
uiFontScale = keyStore[KeyStoreKeys.UI_FONT_SCALE, 1f],
|
||||
uiFontFamily = keyStore[KeyStoreKeys.UI_FONT_FAMILY, 0],
|
||||
contentFontScale = keyStore[KeyStoreKeys.CONTENT_FONT_SCALE, 1f],
|
||||
contentFontScale = contentFontScale,
|
||||
locale = keyStore[KeyStoreKeys.LOCALE, ""].takeIf { it.isNotEmpty() },
|
||||
defaultListingType = keyStore[KeyStoreKeys.DEFAULT_LISTING_TYPE, 2],
|
||||
defaultPostSortType = keyStore[KeyStoreKeys.DEFAULT_POST_SORT_TYPE, 1],
|
||||
@ -186,7 +199,19 @@ internal class DefaultSettingsRepository(
|
||||
}
|
||||
keyStore.save(KeyStoreKeys.UI_FONT_SCALE, settings.uiFontScale)
|
||||
keyStore.save(KeyStoreKeys.UI_FONT_FAMILY, settings.uiFontFamily)
|
||||
keyStore.save(KeyStoreKeys.CONTENT_FONT_SCALE, settings.contentFontScale)
|
||||
keyStore.save(
|
||||
KeyStoreKeys.CONTENT_TITLE_FONT_SCALE,
|
||||
settings.contentFontScale.title
|
||||
)
|
||||
keyStore.save(KeyStoreKeys.CONTENT_BODY_FONT_SCALE, settings.contentFontScale.body)
|
||||
keyStore.save(
|
||||
KeyStoreKeys.CONTENT_COMMENT_FONT_SCALE,
|
||||
settings.contentFontScale.comment
|
||||
)
|
||||
keyStore.save(
|
||||
KeyStoreKeys.CONTENT_ANCILLARY_FONT_SCALE,
|
||||
settings.contentFontScale.ancillary
|
||||
)
|
||||
if (!settings.locale.isNullOrEmpty()) {
|
||||
keyStore.save(KeyStoreKeys.LOCALE, settings.locale)
|
||||
} else {
|
||||
@ -260,7 +285,10 @@ internal class DefaultSettingsRepository(
|
||||
theme = settings.theme?.toLong(),
|
||||
uiFontScale = settings.uiFontScale.toDouble(),
|
||||
uiFontFamily = settings.uiFontFamily.toLong(),
|
||||
contentFontScale = settings.contentFontScale.toDouble(),
|
||||
titleFontScale = settings.contentFontScale.title.toDouble(),
|
||||
contentFontScale = settings.contentFontScale.body.toDouble(),
|
||||
commentFontScale = settings.contentFontScale.comment.toDouble(),
|
||||
ancillaryFontScale = settings.contentFontScale.ancillary.toDouble(),
|
||||
locale = settings.locale,
|
||||
defaultListingType = settings.defaultListingType.toLong(),
|
||||
defaultPostSortType = settings.defaultPostSortType.toLong(),
|
||||
@ -324,7 +352,12 @@ private fun GetBy.toModel() = SettingsModel(
|
||||
theme = theme?.toInt(),
|
||||
uiFontScale = uiFontScale.toFloat(),
|
||||
uiFontFamily = uiFontFamily.toInt(),
|
||||
contentFontScale = contentFontScale.toFloat(),
|
||||
contentFontScale = ContentFontScales(
|
||||
title = titleFontScale.toFloat(),
|
||||
body = contentFontScale.toFloat(),
|
||||
comment = commentFontScale.toFloat(),
|
||||
ancillary = ancillaryFontScale.toFloat(),
|
||||
),
|
||||
locale = locale,
|
||||
defaultListingType = defaultListingType.toInt(),
|
||||
defaultPostSortType = defaultPostSortType.toInt(),
|
||||
|
@ -3,7 +3,10 @@ CREATE TABLE SettingsEntity (
|
||||
theme INTEGER DEFAULT NULL,
|
||||
uiFontScale REAL NOT NULL DEFAULT 1,
|
||||
uiFontFamily INTEGER NOT NULL DEFAULT 0,
|
||||
titleFontScale REAL NOT NULL DEFAULT 1,
|
||||
contentFontScale REAL NOT NULL DEFAULT 1,
|
||||
commentFontScale REAL NOT NULL DEFAULT 1,
|
||||
ancillaryFontScale REAL NOT NULL DEFAULT 1,
|
||||
locale TEXT DEFAULT NULL,
|
||||
defaultListingType INTEGER NOT NULL DEFAULT 0,
|
||||
defaultPostSortType INTEGER NOT NULL DEFAULT 0,
|
||||
@ -56,7 +59,10 @@ INSERT OR IGNORE INTO SettingsEntity (
|
||||
theme,
|
||||
uiFontScale,
|
||||
uiFontFamily,
|
||||
titleFontScale,
|
||||
contentFontScale,
|
||||
commentFontScale,
|
||||
ancillaryFontScale,
|
||||
locale,
|
||||
defaultListingType,
|
||||
defaultPostSortType,
|
||||
@ -147,6 +153,9 @@ INSERT OR IGNORE INTO SettingsEntity (
|
||||
?,
|
||||
?,
|
||||
?,
|
||||
?,
|
||||
?,
|
||||
?,
|
||||
?
|
||||
);
|
||||
|
||||
@ -155,7 +164,10 @@ UPDATE SettingsEntity
|
||||
SET theme = ?,
|
||||
uiFontScale = ?,
|
||||
uiFontFamily = ?,
|
||||
titleFontScale = ?,
|
||||
contentFontScale = ?,
|
||||
commentFontScale = ?,
|
||||
ancillaryFontScale = ?,
|
||||
locale = ?,
|
||||
defaultListingType = ?,
|
||||
defaultPostSortType = ?,
|
||||
@ -206,7 +218,10 @@ SELECT
|
||||
theme,
|
||||
uiFontScale,
|
||||
uiFontFamily,
|
||||
titleFontScale,
|
||||
contentFontScale,
|
||||
commentFontScale,
|
||||
ancillaryFontScale,
|
||||
locale,
|
||||
defaultListingType,
|
||||
defaultPostSortType,
|
||||
|
@ -0,0 +1,8 @@
|
||||
ALTER TABLE SettingsEntity
|
||||
ADD COLUMN titleFontScale REAL NOT NULL DEFAULT 1;
|
||||
|
||||
ALTER TABLE SettingsEntity
|
||||
ADD COLUMN commentFontScale REAL NOT NULL DEFAULT 1;
|
||||
|
||||
ALTER TABLE SettingsEntity
|
||||
ADD COLUMN ancillaryFontScale REAL NOT NULL DEFAULT 1;
|
@ -3,9 +3,9 @@ package com.github.diegoberaldin.raccoonforlemmy.feature.settings.colors
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import cafe.adriel.voyager.core.model.ScreenModel
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.CommentBarTheme
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.FontScale
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.UiFontFamily
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.UiTheme
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontScales
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.architecture.MviModel
|
||||
|
||||
interface SettingsColorAndFontMviModel :
|
||||
@ -28,9 +28,9 @@ interface SettingsColorAndFontMviModel :
|
||||
val saveColor: Color? = null,
|
||||
val commentBarTheme: CommentBarTheme = CommentBarTheme.Blue,
|
||||
val commentBarThickness: Int = 1,
|
||||
val uiFontScale: FontScale = FontScale.Normal,
|
||||
val uiFontScale: Float = 1f,
|
||||
val uiFontFamily: UiFontFamily = UiFontFamily.Poppins,
|
||||
val contentFontScale: FontScale = FontScale.Normal,
|
||||
val contentFontScale: ContentFontScales = ContentFontScales(),
|
||||
val contentFontFamily: UiFontFamily = UiFontFamily.Poppins,
|
||||
)
|
||||
|
||||
|
@ -34,9 +34,11 @@ import cafe.adriel.voyager.koin.getScreenModel
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.FontScale
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.UiTheme
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.scaleFactor
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toFontScale
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toReadableName
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getColorSchemeProvider
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.architecture.bindToLifecycle
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.lemmyui.SettingsRow
|
||||
@ -245,7 +247,7 @@ class SettingsColorAndFontScreen : Screen {
|
||||
// font scale
|
||||
SettingsRow(
|
||||
title = LocalXmlStrings.current.settingsUiFontScale,
|
||||
value = uiState.uiFontScale.toReadableName(),
|
||||
value = uiState.uiFontScale.toFontScale().toReadableName(),
|
||||
onTap = rememberCallback {
|
||||
val sheet = FontScaleBottomSheet(
|
||||
values = listOf(
|
||||
@ -253,16 +255,41 @@ class SettingsColorAndFontScreen : Screen {
|
||||
FontScale.Normal,
|
||||
FontScale.Small,
|
||||
).map { it.scaleFactor },
|
||||
content = false,
|
||||
)
|
||||
navigationCoordinator.showBottomSheet(sheet)
|
||||
},
|
||||
)
|
||||
SettingsRow(
|
||||
title = LocalXmlStrings.current.settingsContentFontScale,
|
||||
value = uiState.contentFontScale.toReadableName(),
|
||||
title = LocalXmlStrings.current.settingsTitleFontScale,
|
||||
value = uiState.contentFontScale.title.toFontScale().toReadableName(),
|
||||
onTap = rememberCallback {
|
||||
val sheet = FontScaleBottomSheet(content = true)
|
||||
val sheet = FontScaleBottomSheet(contentClass = ContentFontClass.Title)
|
||||
navigationCoordinator.showBottomSheet(sheet)
|
||||
},
|
||||
)
|
||||
SettingsRow(
|
||||
title = LocalXmlStrings.current.settingsContentFontScale,
|
||||
value = uiState.contentFontScale.body.toFontScale().toReadableName(),
|
||||
onTap = rememberCallback {
|
||||
val sheet = FontScaleBottomSheet(contentClass = ContentFontClass.Body)
|
||||
navigationCoordinator.showBottomSheet(sheet)
|
||||
},
|
||||
)
|
||||
SettingsRow(
|
||||
title = LocalXmlStrings.current.settingsCommentFontScale,
|
||||
value = uiState.contentFontScale.comment.toFontScale().toReadableName(),
|
||||
onTap = rememberCallback {
|
||||
val sheet =
|
||||
FontScaleBottomSheet(contentClass = ContentFontClass.Comment)
|
||||
navigationCoordinator.showBottomSheet(sheet)
|
||||
},
|
||||
)
|
||||
SettingsRow(
|
||||
title = LocalXmlStrings.current.settingsAncillaryFontScale,
|
||||
value = uiState.contentFontScale.ancillary.toFontScale().toReadableName(),
|
||||
onTap = rememberCallback {
|
||||
val sheet =
|
||||
FontScaleBottomSheet(contentClass = ContentFontClass.AncillaryText)
|
||||
navigationCoordinator.showBottomSheet(sheet)
|
||||
},
|
||||
)
|
||||
|
@ -4,8 +4,8 @@ import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.toArgb
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.CommentBarTheme
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.UiFontFamily
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toFontScale
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toInt
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ThemeRepository
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.ColorSchemeProvider
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.architecture.DefaultMviModel
|
||||
@ -43,13 +43,13 @@ class SettingsColorAndFontViewModel(
|
||||
updateState { it.copy(uiFontFamily = value) }
|
||||
}.launchIn(this)
|
||||
themeRepository.contentFontScale.onEach { value ->
|
||||
updateState { it.copy(contentFontScale = value.toFontScale()) }
|
||||
updateState { it.copy(contentFontScale = value) }
|
||||
}.launchIn(this)
|
||||
themeRepository.contentFontFamily.onEach { value ->
|
||||
updateState { it.copy(contentFontFamily = value) }
|
||||
}.launchIn(this)
|
||||
themeRepository.uiFontScale.onEach { value ->
|
||||
updateState { it.copy(uiFontScale = value.toFontScale()) }
|
||||
updateState { it.copy(uiFontScale = value) }
|
||||
}.launchIn(this)
|
||||
themeRepository.dynamicColors.onEach { value ->
|
||||
updateState { it.copy(dynamicColors = value) }
|
||||
@ -86,7 +86,7 @@ class SettingsColorAndFontViewModel(
|
||||
}.launchIn(this)
|
||||
notificationCenter.subscribe(NotificationCenterEvent.ChangeContentFontSize::class)
|
||||
.onEach { evt ->
|
||||
changeContentFontScale(evt.value)
|
||||
changeContentFontScale(evt.value, evt.contentClass)
|
||||
}.launchIn(this)
|
||||
notificationCenter.subscribe(NotificationCenterEvent.ChangeContentFontFamily::class)
|
||||
.onEach { evt ->
|
||||
@ -152,11 +152,18 @@ class SettingsColorAndFontViewModel(
|
||||
}
|
||||
}
|
||||
|
||||
private fun changeContentFontScale(value: Float) {
|
||||
themeRepository.changeContentFontScale(value)
|
||||
private fun changeContentFontScale(value: Float, contentClass: ContentFontClass) {
|
||||
val contentFontScale = themeRepository.contentFontScale.value.let {
|
||||
when (contentClass) {
|
||||
ContentFontClass.Title -> it.copy(title = value)
|
||||
ContentFontClass.Body -> it.copy(body = value)
|
||||
ContentFontClass.Comment -> it.copy(comment = value)
|
||||
ContentFontClass.AncillaryText -> it.copy(ancillary = value)
|
||||
}
|
||||
}
|
||||
scope?.launch(Dispatchers.IO) {
|
||||
val settings = settingsRepository.currentSettings.value.copy(
|
||||
contentFontScale = value
|
||||
contentFontScale = contentFontScale
|
||||
)
|
||||
saveSettings(settings)
|
||||
}
|
||||
|
@ -74,9 +74,7 @@ fun App(onLoadingFinished: () -> Unit = {}) {
|
||||
UiTheme.Light
|
||||
}.toInt()
|
||||
val locale by derivedStateOf { settings.locale }
|
||||
val currentTheme by themeRepository.uiTheme.collectAsState()
|
||||
val useDynamicColors by themeRepository.dynamicColors.collectAsState()
|
||||
val fontScale by themeRepository.contentFontScale.collectAsState()
|
||||
val uiFontScale by themeRepository.uiFontScale.collectAsState()
|
||||
val navigationCoordinator = remember { getNavigationCoordinator() }
|
||||
val drawerState = rememberDrawerState(initialValue = DrawerValue.Closed)
|
||||
@ -227,8 +225,6 @@ fun App(onLoadingFinished: () -> Unit = {}) {
|
||||
else -> UiBarTheme.Solid
|
||||
}
|
||||
AppTheme(
|
||||
theme = currentTheme,
|
||||
contentFontScale = fontScale,
|
||||
useDynamicColors = useDynamicColors,
|
||||
barTheme = barTheme,
|
||||
) {
|
||||
|
@ -9,6 +9,7 @@ import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.lemmyui.PostCardBody
|
||||
@ -43,7 +44,7 @@ internal fun AccountSettingsFormattedInfo(
|
||||
style = MaterialTheme.typography.labelMedium,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
PostCardBody(
|
||||
text = value,
|
||||
onClick = rememberCallback {
|
||||
|
@ -10,6 +10,7 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.utils.compose.onClick
|
||||
@ -45,7 +46,7 @@ internal fun AccountSettingsTextualInfo(
|
||||
style = MaterialTheme.typography.labelMedium,
|
||||
color = ancillaryColor,
|
||||
)
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
Text(
|
||||
text = value,
|
||||
style = valueStyle,
|
||||
|
@ -30,6 +30,7 @@ import androidx.compose.ui.layout.onGloballyPositioned
|
||||
import androidx.compose.ui.layout.positionInParent
|
||||
import androidx.compose.ui.unit.DpOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
@ -114,7 +115,7 @@ internal fun MessageCard(
|
||||
)
|
||||
).fillMaxWidth().padding(Spacing.s)
|
||||
) {
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
Column {
|
||||
PostCardBody(
|
||||
text = content,
|
||||
|
@ -18,6 +18,7 @@ import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.FontScale
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.scaleFactor
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toFontScale
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.toReadableName
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomSheetHandle
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.l10n.LocalXmlStrings
|
||||
@ -40,7 +41,7 @@ private val defaultChoices: List<Float> = listOf(
|
||||
|
||||
class FontScaleBottomSheet(
|
||||
private val values: List<Float> = defaultChoices,
|
||||
private val content: Boolean,
|
||||
private val contentClass: ContentFontClass? = null,
|
||||
) : Screen {
|
||||
|
||||
@Composable
|
||||
@ -61,13 +62,20 @@ class FontScaleBottomSheet(
|
||||
horizontalAlignment = Alignment.CenterHorizontally
|
||||
) {
|
||||
BottomSheetHandle()
|
||||
val title = when (contentClass) {
|
||||
ContentFontClass.Title -> LocalXmlStrings.current.settingsTitleFontScale
|
||||
ContentFontClass.Body -> LocalXmlStrings.current.settingsContentFontScale
|
||||
ContentFontClass.Comment -> LocalXmlStrings.current.settingsCommentFontScale
|
||||
ContentFontClass.AncillaryText -> LocalXmlStrings.current.settingsAncillaryFontScale
|
||||
else -> LocalXmlStrings.current.settingsUiFontScale
|
||||
}
|
||||
Text(
|
||||
modifier = Modifier.padding(
|
||||
start = Spacing.s,
|
||||
top = Spacing.s,
|
||||
end = Spacing.s,
|
||||
),
|
||||
text = LocalXmlStrings.current.settingsContentFontScale,
|
||||
text = title,
|
||||
style = MaterialTheme.typography.titleLarge,
|
||||
color = MaterialTheme.colorScheme.onBackground,
|
||||
)
|
||||
@ -87,8 +95,11 @@ class FontScaleBottomSheet(
|
||||
.onClick(
|
||||
onClick = rememberCallback {
|
||||
notificationCenter.send(
|
||||
if (content) {
|
||||
NotificationCenterEvent.ChangeContentFontSize(value)
|
||||
if (contentClass != null) {
|
||||
NotificationCenterEvent.ChangeContentFontSize(
|
||||
value = value,
|
||||
contentClass = contentClass
|
||||
)
|
||||
} else {
|
||||
NotificationCenterEvent.ChangeUiFontSize(value)
|
||||
}
|
||||
|
@ -30,6 +30,7 @@ import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import cafe.adriel.voyager.core.screen.Screen
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.architecture.bindToLifecycle
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.BottomSheetHandle
|
||||
@ -203,7 +204,7 @@ class CommunityInfoScreen(
|
||||
}
|
||||
}
|
||||
item {
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
PostCardBody(
|
||||
modifier = Modifier.fillMaxWidth().padding(top = Spacing.m),
|
||||
text = uiState.community.description,
|
||||
|
@ -36,6 +36,7 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.ColorFilter
|
||||
import androidx.compose.ui.input.nestedscroll.nestedScroll
|
||||
import cafe.adriel.voyager.core.screen.Screen
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.architecture.bindToLifecycle
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomizedContent
|
||||
@ -174,7 +175,7 @@ class InstanceInfoScreen(
|
||||
verticalArrangement = Arrangement.spacedBy(Spacing.xs),
|
||||
) {
|
||||
item {
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Title) {
|
||||
Column(
|
||||
modifier = Modifier.padding(horizontal = Spacing.s),
|
||||
verticalArrangement = Arrangement.spacedBy(Spacing.s),
|
||||
|
@ -22,6 +22,7 @@ import androidx.compose.ui.layout.onGloballyPositioned
|
||||
import androidx.compose.ui.layout.positionInParent
|
||||
import androidx.compose.ui.unit.DpOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomDropDown
|
||||
@ -61,13 +62,11 @@ fun InstanceItem(
|
||||
title = name,
|
||||
)
|
||||
|
||||
CustomizedContent {
|
||||
Text(
|
||||
text = name,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = fullColor,
|
||||
)
|
||||
}
|
||||
Text(
|
||||
text = name,
|
||||
style = MaterialTheme.typography.bodySmall,
|
||||
color = fullColor,
|
||||
)
|
||||
|
||||
if (options.isNotEmpty()) {
|
||||
Box {
|
||||
|
@ -29,6 +29,7 @@ import androidx.compose.ui.layout.onGloballyPositioned
|
||||
import androidx.compose.ui.layout.positionInParent
|
||||
import androidx.compose.ui.unit.DpOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.commonui.components.CustomDropDown
|
||||
@ -124,7 +125,7 @@ internal fun ChatCard(
|
||||
color = ancillaryColor,
|
||||
)
|
||||
}
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
// last message text
|
||||
PostCardBody(
|
||||
maxLines = 2,
|
||||
|
@ -39,6 +39,7 @@ import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.DpOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
@ -95,7 +96,7 @@ internal fun InnerModlogItem(
|
||||
preferNicknames = preferNicknames,
|
||||
onOpenCreator = onOpenUser,
|
||||
)
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
if (reason != null) {
|
||||
PostCardBody(
|
||||
modifier = Modifier.padding(
|
||||
|
@ -40,6 +40,7 @@ import androidx.compose.ui.unit.Dp
|
||||
import androidx.compose.ui.unit.DpOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.data.PostLayout
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.CornerSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.IconSize
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
@ -97,7 +98,7 @@ internal fun InnerReportCard(
|
||||
onOpenCreator = onOpenCreator,
|
||||
preferNicknames = preferNicknames,
|
||||
)
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
PostCardBody(
|
||||
modifier = Modifier.padding(
|
||||
horizontal = Spacing.xs,
|
||||
|
@ -32,6 +32,7 @@ import androidx.compose.ui.text.style.TextAlign
|
||||
import cafe.adriel.voyager.core.screen.Screen
|
||||
import cafe.adriel.voyager.koin.getScreenModel
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.di.getThemeRepository
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.repository.ContentFontClass
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.Spacing
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.appearance.theme.toTypography
|
||||
import com.github.diegoberaldin.raccoonforlemmy.core.architecture.bindToLifecycle
|
||||
@ -162,7 +163,7 @@ class UserInfoScreen(
|
||||
style = MaterialTheme.typography.labelMedium,
|
||||
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.75f),
|
||||
)
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.Body) {
|
||||
PostCardBody(
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
text = biography,
|
||||
@ -226,7 +227,7 @@ class UserInfoScreen(
|
||||
style = MaterialTheme.typography.labelMedium,
|
||||
color = MaterialTheme.colorScheme.onBackground.copy(alpha = 0.75f),
|
||||
)
|
||||
CustomizedContent {
|
||||
CustomizedContent(ContentFontClass.AncillaryText) {
|
||||
SelectionContainer {
|
||||
Text(
|
||||
text = matrixUserId,
|
||||
|
Loading…
x
Reference in New Issue
Block a user