feat:增加大佬铭牌
This commit is contained in:
@@ -13,11 +13,11 @@ android {
|
||||
applicationId = "com.memory.app"
|
||||
minSdk = 26
|
||||
targetSdk = 35
|
||||
versionCode = 33
|
||||
versionName = "1.4.9"
|
||||
versionCode = 34
|
||||
versionName = "1.5.0"
|
||||
|
||||
buildConfigField("String", "API_BASE_URL", "\"https://x.amos.us.kg/api/\"")
|
||||
buildConfigField("int", "VERSION_CODE", "33")
|
||||
buildConfigField("int", "VERSION_CODE", "34")
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
|
||||
@@ -134,9 +134,13 @@ fun PostCard(
|
||||
)
|
||||
// 超管/认证徽章
|
||||
Spacer(modifier = Modifier.width(4.dp))
|
||||
val isGaLao = post.user?.username == "zhanghansen"
|
||||
if (isSuperAdmin) {
|
||||
// 超管专属徽章 - 彩虹渐变盾牌
|
||||
RainbowShieldBadge(size = 18.dp)
|
||||
} else if (isGaLao) {
|
||||
// 尬佬专属徽章 - 小丑
|
||||
ClownBadge(size = 18.dp)
|
||||
} else {
|
||||
Icon(
|
||||
imageVector = Icons.Filled.Verified,
|
||||
@@ -509,6 +513,7 @@ fun UserInfoDialog(
|
||||
userInfo != null -> {
|
||||
val info = userInfo!!
|
||||
val isSuperAdmin = info.user.isSuperAdmin
|
||||
val isGaLao = info.user.username == "zhanghansen"
|
||||
|
||||
Column(modifier = Modifier.fillMaxWidth()) {
|
||||
// 关闭按钮
|
||||
@@ -580,7 +585,7 @@ fun UserInfoDialog(
|
||||
fontSize = 18.sp,
|
||||
color = MaterialTheme.colorScheme.onSurface
|
||||
)
|
||||
if (!isSuperAdmin) {
|
||||
if (!isSuperAdmin && !isGaLao) {
|
||||
Spacer(modifier = Modifier.width(6.dp))
|
||||
Icon(
|
||||
imageVector = Icons.Filled.Verified,
|
||||
@@ -600,7 +605,20 @@ fun UserInfoDialog(
|
||||
) {
|
||||
RainbowShieldBadge(size = 18.dp)
|
||||
Spacer(modifier = Modifier.width(4.dp))
|
||||
RainbowShimmerText(text = "超级管理员", fontSize = 12.sp)
|
||||
RainbowShimmerText(text = "九五至尊", fontSize = 12.sp)
|
||||
}
|
||||
}
|
||||
|
||||
// 尬佬标识单独一行
|
||||
if (isGaLao) {
|
||||
Spacer(modifier = Modifier.height(6.dp))
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
horizontalArrangement = Arrangement.Center
|
||||
) {
|
||||
ClownBadge(size = 18.dp)
|
||||
Spacer(modifier = Modifier.width(4.dp))
|
||||
GaLaoPulseText(text = "尬佬", fontSize = 12.sp)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -867,6 +885,78 @@ fun RainbowShimmerText(
|
||||
)
|
||||
}
|
||||
|
||||
// 小丑徽章 - 用于 zhanghansen 用户
|
||||
@Composable
|
||||
fun ClownBadge(
|
||||
size: androidx.compose.ui.unit.Dp = 18.dp,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
Text(
|
||||
text = "🤡",
|
||||
fontSize = (size.value * 0.9f).sp,
|
||||
modifier = modifier
|
||||
)
|
||||
}
|
||||
|
||||
// 尬佬脉冲文字组件 - 橙色到金黄色渐变 + 呼吸脉冲效果
|
||||
@Composable
|
||||
fun GaLaoPulseText(
|
||||
text: String,
|
||||
fontSize: androidx.compose.ui.unit.TextUnit = 12.sp,
|
||||
modifier: Modifier = Modifier
|
||||
) {
|
||||
// 橙色到金黄色渐变
|
||||
val gaLaoColors = listOf(
|
||||
Color(0xFFFF9500), // 橙色
|
||||
Color(0xFFFFCC00), // 金黄色
|
||||
Color(0xFFFF9500), // 橙色 (循环)
|
||||
)
|
||||
|
||||
// 呼吸脉冲动画 - 比彩虹低调
|
||||
val infiniteTransition = rememberInfiniteTransition(label = "gaLaoPulse")
|
||||
val pulseAlpha by infiniteTransition.animateFloat(
|
||||
initialValue = 0.7f,
|
||||
targetValue = 1f,
|
||||
animationSpec = infiniteRepeatable(
|
||||
animation = tween(durationMillis = 1500, easing = LinearEasing),
|
||||
repeatMode = androidx.compose.animation.core.RepeatMode.Reverse
|
||||
),
|
||||
label = "pulseAlpha"
|
||||
)
|
||||
|
||||
val pulseScale by infiniteTransition.animateFloat(
|
||||
initialValue = 1f,
|
||||
targetValue = 1.05f,
|
||||
animationSpec = infiniteRepeatable(
|
||||
animation = tween(durationMillis = 1500, easing = LinearEasing),
|
||||
repeatMode = androidx.compose.animation.core.RepeatMode.Reverse
|
||||
),
|
||||
label = "pulseScale"
|
||||
)
|
||||
|
||||
// 渐变画刷
|
||||
val gradientBrush = Brush.linearGradient(
|
||||
colors = gaLaoColors,
|
||||
start = Offset(0f, 0f),
|
||||
end = Offset(100f, 0f)
|
||||
)
|
||||
|
||||
Text(
|
||||
text = text,
|
||||
fontSize = fontSize,
|
||||
fontWeight = FontWeight.Bold,
|
||||
style = LocalTextStyle.current.copy(
|
||||
brush = gradientBrush
|
||||
),
|
||||
modifier = modifier
|
||||
.graphicsLayer(
|
||||
alpha = pulseAlpha,
|
||||
scaleX = pulseScale,
|
||||
scaleY = pulseScale
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
@Composable
|
||||
fun EditPostDialog(
|
||||
post: Post,
|
||||
|
||||
Reference in New Issue
Block a user