💄 Colorful name for subscribed users
This commit is contained in:
parent
9fc9b87608
commit
14183a7316
@ -542,6 +542,7 @@
|
|||||||
"upgradeYourPlan": "Upgrade Your Plan",
|
"upgradeYourPlan": "Upgrade Your Plan",
|
||||||
"chooseYourPlan": "Choose Your Plan",
|
"chooseYourPlan": "Choose Your Plan",
|
||||||
"currentMembership": "Current: {}",
|
"currentMembership": "Current: {}",
|
||||||
|
"currentMembershipMember": "A member of Stellar Program · {}",
|
||||||
"membershipExpires": "Expires: {}",
|
"membershipExpires": "Expires: {}",
|
||||||
"membershipTierStellar": "Stellar",
|
"membershipTierStellar": "Stellar",
|
||||||
"membershipTierNova": "Nova",
|
"membershipTierNova": "Nova",
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -21,11 +21,23 @@ class AccountName extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
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(
|
return Row(
|
||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
spacing: 4,
|
spacing: 4,
|
||||||
children: [
|
children: [
|
||||||
Flexible(child: Text(account.nick, style: style)),
|
Flexible(child: Text(account.nick, style: nameStyle)),
|
||||||
if (account.profile.stellarMembership != null)
|
if (account.profile.stellarMembership != null)
|
||||||
StellarMembershipMark(membership: account.profile.stellarMembership!),
|
StellarMembershipMark(membership: account.profile.stellarMembership!),
|
||||||
if (account.profile.verification != null)
|
if (account.profile.verification != null)
|
||||||
@ -87,36 +99,23 @@ class StellarMembershipMark extends StatelessWidget {
|
|||||||
Color _getMembershipTierColor(String identifier) {
|
Color _getMembershipTierColor(String identifier) {
|
||||||
switch (identifier) {
|
switch (identifier) {
|
||||||
case 'solian.stellar.primary':
|
case 'solian.stellar.primary':
|
||||||
return Colors.amber;
|
|
||||||
case 'solian.stellar.nova':
|
|
||||||
return Colors.blue;
|
return Colors.blue;
|
||||||
|
case 'solian.stellar.nova':
|
||||||
|
return Colors.indigo;
|
||||||
case 'solian.stellar.supernova':
|
case 'solian.stellar.supernova':
|
||||||
return Colors.purple;
|
return Colors.amber;
|
||||||
default:
|
default:
|
||||||
return Colors.grey;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
if (!membership.isActive) return const SizedBox.shrink();
|
if (!membership.isActive) return const SizedBox.shrink();
|
||||||
|
|
||||||
final tierName = _getMembershipTierName(membership.identifier);
|
final tierName = _getMembershipTierName(membership.identifier);
|
||||||
final tierColor = _getMembershipTierColor(membership.identifier);
|
final tierColor = _getMembershipTierColor(membership.identifier);
|
||||||
final tierIcon = _getMembershipTierIcon(membership.identifier);
|
final tierIcon = Symbols.award_star;
|
||||||
|
|
||||||
return Tooltip(
|
return Tooltip(
|
||||||
richMessage: TextSpan(
|
richMessage: TextSpan(
|
||||||
@ -124,7 +123,7 @@ class StellarMembershipMark extends StatelessWidget {
|
|||||||
children: [
|
children: [
|
||||||
TextSpan(text: '\n'),
|
TextSpan(text: '\n'),
|
||||||
TextSpan(
|
TextSpan(
|
||||||
text: 'currentMembership'.tr(args: [tierName]),
|
text: 'currentMembershipMember'.tr(args: [tierName]),
|
||||||
style: TextStyle(fontWeight: FontWeight.normal),
|
style: TextStyle(fontWeight: FontWeight.normal),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user