💄 Colorful name for subscribed users
This commit is contained in:
parent
9fc9b87608
commit
14183a7316
@ -542,6 +542,7 @@
|
||||
"upgradeYourPlan": "Upgrade Your Plan",
|
||||
"chooseYourPlan": "Choose Your Plan",
|
||||
"currentMembership": "Current: {}",
|
||||
"currentMembershipMember": "A member of Stellar Program · {}",
|
||||
"membershipExpires": "Expires: {}",
|
||||
"membershipTierStellar": "Stellar",
|
||||
"membershipTierNova": "Nova",
|
||||
|
@ -345,7 +345,7 @@
|
||||
"accountSettingsHelpContent": "此页面允许您管理您的帐户安全性、隐私和其他设置。如果您需要帮助,请联系管理员。",
|
||||
"unauthorized": "未授权",
|
||||
"unauthorizedHint": "您未登录或会话已过期,请重新登录。",
|
||||
"publisherBelongsTo": "属于",
|
||||
"publisherBelongsTo": "属于 {}",
|
||||
"postContent": "内容",
|
||||
"postSettings": "设置",
|
||||
"postPublisherUnselected": "未指定发布者",
|
||||
@ -473,7 +473,7 @@
|
||||
"description": "描述",
|
||||
"pinCode": "PIN 码",
|
||||
"biometric": "生物识别",
|
||||
"enterPinToConfirm": "请输入您的6位数字 PIN 以确认付款",
|
||||
"enterPinToConfirm": "请输入您的 6 位数字 PIN 以确认付款",
|
||||
"clearPin": "清除 PIN 码",
|
||||
"useBiometricToConfirm": "使用生物特征认证来确认付款",
|
||||
"touchSensorToAuthenticate": "触摸传感器进行身份验证",
|
||||
@ -494,6 +494,7 @@
|
||||
"upgradeYourPlan": "升级您的计划",
|
||||
"chooseYourPlan": "选择你的方案",
|
||||
"currentMembership": "当前:{}",
|
||||
"currentMembershipMember": "恒星计划「{}」级会员",
|
||||
"membershipExpires": "过期于:{}",
|
||||
"membershipTierStellar": "恒星",
|
||||
"membershipTierNova": "新星",
|
||||
@ -503,14 +504,6 @@
|
||||
"membershipPriceNova": "每月 2400 源点,至少需要 6 级",
|
||||
"membershipPriceSupernova": "每月 3600 源点,至少需要 9 级",
|
||||
"membershipFeatureBasic": "基础功能",
|
||||
"membershipFeaturePrioritySupport": "优先支持",
|
||||
"membershipFeatureAdFree": "无广告",
|
||||
"membershipFeatureAllPrimary": "所有主要功能",
|
||||
"membershipFeatureAdvancedCustomization": "高级自定义",
|
||||
"membershipFeatureEarlyAccess": "抢先体验",
|
||||
"membershipFeatureAllNova": "所有「新星」功能",
|
||||
"membershipFeatureExclusiveContent": "限定内容",
|
||||
"membershipFeatureVipSupport": "VIP 支持",
|
||||
"membershipCurrentBadge": "当前",
|
||||
"restorePurchase": "恢复购买",
|
||||
"restorePurchaseDescription": "输入您付款的提供商和订单 ID 以恢复您的购买。",
|
||||
|
@ -21,11 +21,23 @@ class AccountName extends StatelessWidget {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
var nameStyle = (style ?? TextStyle());
|
||||
if (account.profile.stellarMembership != null) {
|
||||
nameStyle = nameStyle.copyWith(
|
||||
color: (switch (account.profile.stellarMembership!.identifier) {
|
||||
'solian.stellar.primary' => Colors.blueAccent,
|
||||
'solian.stellar.nova' => Colors.indigoAccent,
|
||||
'solian.stellar.supernova' => Colors.amberAccent,
|
||||
_ => null,
|
||||
}),
|
||||
);
|
||||
}
|
||||
|
||||
return Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
spacing: 4,
|
||||
children: [
|
||||
Flexible(child: Text(account.nick, style: style)),
|
||||
Flexible(child: Text(account.nick, style: nameStyle)),
|
||||
if (account.profile.stellarMembership != null)
|
||||
StellarMembershipMark(membership: account.profile.stellarMembership!),
|
||||
if (account.profile.verification != null)
|
||||
@ -87,36 +99,23 @@ class StellarMembershipMark extends StatelessWidget {
|
||||
Color _getMembershipTierColor(String identifier) {
|
||||
switch (identifier) {
|
||||
case 'solian.stellar.primary':
|
||||
return Colors.amber;
|
||||
case 'solian.stellar.nova':
|
||||
return Colors.blue;
|
||||
case 'solian.stellar.nova':
|
||||
return Colors.indigo;
|
||||
case 'solian.stellar.supernova':
|
||||
return Colors.purple;
|
||||
return Colors.amber;
|
||||
default:
|
||||
return Colors.grey;
|
||||
}
|
||||
}
|
||||
|
||||
IconData _getMembershipTierIcon(String identifier) {
|
||||
switch (identifier) {
|
||||
case 'solian.stellar.primary':
|
||||
return Symbols.star;
|
||||
case 'solian.stellar.nova':
|
||||
return Symbols.auto_awesome;
|
||||
case 'solian.stellar.supernova':
|
||||
return Symbols.diamond;
|
||||
default:
|
||||
return Symbols.workspace_premium;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if (!membership.isActive) return const SizedBox.shrink();
|
||||
|
||||
final tierName = _getMembershipTierName(membership.identifier);
|
||||
final tierColor = _getMembershipTierColor(membership.identifier);
|
||||
final tierIcon = _getMembershipTierIcon(membership.identifier);
|
||||
final tierIcon = Symbols.award_star;
|
||||
|
||||
return Tooltip(
|
||||
richMessage: TextSpan(
|
||||
@ -124,7 +123,7 @@ class StellarMembershipMark extends StatelessWidget {
|
||||
children: [
|
||||
TextSpan(text: '\n'),
|
||||
TextSpan(
|
||||
text: 'currentMembership'.tr(args: [tierName]),
|
||||
text: 'currentMembershipMember'.tr(args: [tierName]),
|
||||
style: TextStyle(fontWeight: FontWeight.normal),
|
||||
),
|
||||
],
|
||||
|
Loading…
x
Reference in New Issue
Block a user