🐛 Bug fixes
This commit is contained in:
parent
aa4c04d4ef
commit
cf3b482fef
@ -594,7 +594,7 @@
|
|||||||
"walletCreate": "创建钱包",
|
"walletCreate": "创建钱包",
|
||||||
"walletCreateSubtitle": "创建于一个钱包来开始使用源点。",
|
"walletCreateSubtitle": "创建于一个钱包来开始使用源点。",
|
||||||
"walletCreatePassword": "在下方设置你的付款密码",
|
"walletCreatePassword": "在下方设置你的付款密码",
|
||||||
"walletCurrencyShort": "点",
|
"walletCurrencyShort": "源点",
|
||||||
"walletCurrency": {
|
"walletCurrency": {
|
||||||
"one": "{} 源点",
|
"one": "{} 源点",
|
||||||
"other": "{} 源点"
|
"other": "{} 源点"
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
"screenAbuseReport": "濫用檢舉",
|
"screenAbuseReport": "濫用檢舉",
|
||||||
"screenSettings": "設置",
|
"screenSettings": "設置",
|
||||||
"screenAccountSettings": "賬號設置",
|
"screenAccountSettings": "賬號設置",
|
||||||
|
"screenFactorSettings": "驗證因子",
|
||||||
|
"screenAccountWallet": "錢包",
|
||||||
"screenNews": "新聞",
|
"screenNews": "新聞",
|
||||||
"screenAlbum": "相冊",
|
"screenAlbum": "相冊",
|
||||||
"screenChat": "聊天",
|
"screenChat": "聊天",
|
||||||
@ -113,6 +115,8 @@
|
|||||||
"accountSettingsSubtitle": "管理你的帳號並讓它更好的服務你。",
|
"accountSettingsSubtitle": "管理你的帳號並讓它更好的服務你。",
|
||||||
"accountProfileEdit": "編輯資料",
|
"accountProfileEdit": "編輯資料",
|
||||||
"accountProfileEditSubtitle": "使你的 Solarpass 賬户更像你。",
|
"accountProfileEditSubtitle": "使你的 Solarpass 賬户更像你。",
|
||||||
|
"accountWallet": "錢包",
|
||||||
|
"accountWalletSubtitle": "查看你的餘額和交易記錄。",
|
||||||
"factorSettings": "驗證因子",
|
"factorSettings": "驗證因子",
|
||||||
"factorSettingsSubtitle": "管理你的登陸驗證方式。",
|
"factorSettingsSubtitle": "管理你的登陸驗證方式。",
|
||||||
"accountProfileEditApplied": "個人資料修改已被應用。",
|
"accountProfileEditApplied": "個人資料修改已被應用。",
|
||||||
@ -193,6 +197,9 @@
|
|||||||
"other": "{} 條評論"
|
"other": "{} 條評論"
|
||||||
},
|
},
|
||||||
"settingsAppearance": "外觀",
|
"settingsAppearance": "外觀",
|
||||||
|
"settingsDisplayLanguage": "顯示語言",
|
||||||
|
"settingsDisplayLanguageDescription": "設置應用程序使用的語言",
|
||||||
|
"settingsDisplayLanguageSystem": "跟隨系統",
|
||||||
"settingsBackgroundImage": "背景圖片",
|
"settingsBackgroundImage": "背景圖片",
|
||||||
"settingsBackgroundImageDescription": "設置應用全局生效的的背景圖片。",
|
"settingsBackgroundImageDescription": "設置應用全局生效的的背景圖片。",
|
||||||
"settingsBackgroundImageClear": "清除現存背景圖",
|
"settingsBackgroundImageClear": "清除現存背景圖",
|
||||||
@ -581,5 +588,15 @@
|
|||||||
"newsToday": "快訊",
|
"newsToday": "快訊",
|
||||||
"totpPostSetup": "還有一件事",
|
"totpPostSetup": "還有一件事",
|
||||||
"totpPostSetupDescription": "使用 Google Authenticator, Microsoft Authenticator, 1Password, Authy, Bitwarden 或其他支持 TOTP 的驗證器掃描本 QR Code 來添加。",
|
"totpPostSetupDescription": "使用 Google Authenticator, Microsoft Authenticator, 1Password, Authy, Bitwarden 或其他支持 TOTP 的驗證器掃描本 QR Code 來添加。",
|
||||||
"totpNeverShare": "永遠不要分享這個 QR Code"
|
"totpNeverShare": "永遠不要分享這個 QR Code",
|
||||||
|
"needHelp": "需要幫助?",
|
||||||
|
"needHelpLaunch": "查看我們的山羊維基!",
|
||||||
|
"walletCreate": "創建錢包",
|
||||||
|
"walletCreateSubtitle": "創建於一個錢包來開始使用源點。",
|
||||||
|
"walletCreatePassword": "在下方設置你的付款密碼",
|
||||||
|
"walletCurrencyShort": "源點",
|
||||||
|
"walletCurrency": {
|
||||||
|
"one": "{} 源點",
|
||||||
|
"other": "{} 源點"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,6 +16,8 @@
|
|||||||
"screenAbuseReport": "濫用檢舉",
|
"screenAbuseReport": "濫用檢舉",
|
||||||
"screenSettings": "設置",
|
"screenSettings": "設置",
|
||||||
"screenAccountSettings": "賬號設置",
|
"screenAccountSettings": "賬號設置",
|
||||||
|
"screenFactorSettings": "驗證因子",
|
||||||
|
"screenAccountWallet": "錢包",
|
||||||
"screenNews": "新聞",
|
"screenNews": "新聞",
|
||||||
"screenAlbum": "相冊",
|
"screenAlbum": "相冊",
|
||||||
"screenChat": "聊天",
|
"screenChat": "聊天",
|
||||||
@ -113,6 +115,8 @@
|
|||||||
"accountSettingsSubtitle": "管理你的帳號並讓它更好的服務你。",
|
"accountSettingsSubtitle": "管理你的帳號並讓它更好的服務你。",
|
||||||
"accountProfileEdit": "編輯資料",
|
"accountProfileEdit": "編輯資料",
|
||||||
"accountProfileEditSubtitle": "使你的 Solarpass 賬戶更像你。",
|
"accountProfileEditSubtitle": "使你的 Solarpass 賬戶更像你。",
|
||||||
|
"accountWallet": "錢包",
|
||||||
|
"accountWalletSubtitle": "查看你的餘額和交易記錄。",
|
||||||
"factorSettings": "驗證因子",
|
"factorSettings": "驗證因子",
|
||||||
"factorSettingsSubtitle": "管理你的登陸驗證方式。",
|
"factorSettingsSubtitle": "管理你的登陸驗證方式。",
|
||||||
"accountProfileEditApplied": "個人資料修改已被應用。",
|
"accountProfileEditApplied": "個人資料修改已被應用。",
|
||||||
@ -193,6 +197,9 @@
|
|||||||
"other": "{} 條評論"
|
"other": "{} 條評論"
|
||||||
},
|
},
|
||||||
"settingsAppearance": "外觀",
|
"settingsAppearance": "外觀",
|
||||||
|
"settingsDisplayLanguage": "顯示語言",
|
||||||
|
"settingsDisplayLanguageDescription": "設置應用程序使用的語言",
|
||||||
|
"settingsDisplayLanguageSystem": "跟隨系統",
|
||||||
"settingsBackgroundImage": "背景圖片",
|
"settingsBackgroundImage": "背景圖片",
|
||||||
"settingsBackgroundImageDescription": "設置應用全局生效的的背景圖片。",
|
"settingsBackgroundImageDescription": "設置應用全局生效的的背景圖片。",
|
||||||
"settingsBackgroundImageClear": "清除現存背景圖",
|
"settingsBackgroundImageClear": "清除現存背景圖",
|
||||||
@ -581,5 +588,15 @@
|
|||||||
"newsToday": "快訊",
|
"newsToday": "快訊",
|
||||||
"totpPostSetup": "還有一件事",
|
"totpPostSetup": "還有一件事",
|
||||||
"totpPostSetupDescription": "使用 Google Authenticator, Microsoft Authenticator, 1Password, Authy, Bitwarden 或其他支持 TOTP 的驗證器掃描本 QR Code 來添加。",
|
"totpPostSetupDescription": "使用 Google Authenticator, Microsoft Authenticator, 1Password, Authy, Bitwarden 或其他支持 TOTP 的驗證器掃描本 QR Code 來添加。",
|
||||||
"totpNeverShare": "永遠不要分享這個 QR Code"
|
"totpNeverShare": "永遠不要分享這個 QR Code",
|
||||||
|
"needHelp": "需要幫助?",
|
||||||
|
"needHelpLaunch": "查看我們的山羊維基!",
|
||||||
|
"walletCreate": "創建錢包",
|
||||||
|
"walletCreateSubtitle": "創建於一個錢包來開始使用源點。",
|
||||||
|
"walletCreatePassword": "在下方設置你的付款密碼",
|
||||||
|
"walletCurrencyShort": "源點",
|
||||||
|
"walletCurrency": {
|
||||||
|
"one": "{} 源點",
|
||||||
|
"other": "{} 源點"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -302,20 +302,18 @@ class _HomeDashTodayNewsState extends State<_HomeDashTodayNews> {
|
|||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: Theme.of(context).textTheme.bodyMedium,
|
style: Theme.of(context).textTheme.bodyMedium,
|
||||||
),
|
),
|
||||||
Builder(
|
Builder(builder: (context) {
|
||||||
builder: (context) {
|
final date = _article!.publishedAt ?? _article!.createdAt;
|
||||||
final date = _article!.publishedAt ?? _article!.createdAt;
|
return Row(
|
||||||
return Row(
|
crossAxisAlignment: CrossAxisAlignment.center,
|
||||||
crossAxisAlignment: CrossAxisAlignment.center,
|
spacing: 2,
|
||||||
spacing: 2,
|
children: [
|
||||||
children: [
|
Text(DateFormat().format(date)).textStyle(Theme.of(context).textTheme.bodySmall!),
|
||||||
Text(DateFormat().format(date)).textStyle(Theme.of(context).textTheme.bodySmall!),
|
Text(' · ').textStyle(Theme.of(context).textTheme.bodySmall!).bold(),
|
||||||
Text(' · ').textStyle(Theme.of(context).textTheme.bodySmall!).bold(),
|
Text(RelativeTime(context).format(date)).textStyle(Theme.of(context).textTheme.bodySmall!),
|
||||||
Text(RelativeTime(context).format(date)).textStyle(Theme.of(context).textTheme.bodySmall!),
|
],
|
||||||
],
|
).opacity(0.75);
|
||||||
).opacity(0.75);
|
}),
|
||||||
}
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
).padding(horizontal: 16),
|
).padding(horizontal: 16),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
@ -515,6 +513,11 @@ class _HomeDashCheckInWidgetState extends State<_HomeDashCheckInWidget> {
|
|||||||
'+${_todayRecord!.resultExperience} EXP',
|
'+${_todayRecord!.resultExperience} EXP',
|
||||||
style: Theme.of(context).textTheme.bodyLarge,
|
style: Theme.of(context).textTheme.bodyLarge,
|
||||||
),
|
),
|
||||||
|
if (_todayRecord!.resultCoin >= 0)
|
||||||
|
Text(
|
||||||
|
'+${_todayRecord!.resultCoin} ${'walletCurrencyShort'.tr()}',
|
||||||
|
style: Theme.of(context).textTheme.bodyLarge,
|
||||||
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -86,7 +86,7 @@ class _WalletScreenState extends State<WalletScreen> {
|
|||||||
Text('walletCurrency'.plural(double.parse(_wallet!.balance))),
|
Text('walletCurrency'.plural(double.parse(_wallet!.balance))),
|
||||||
],
|
],
|
||||||
).padding(horizontal: 20, vertical: 24),
|
).padding(horizontal: 20, vertical: 24),
|
||||||
),
|
).padding(horizontal: 8, top: 16, bottom: 4),
|
||||||
if (_wallet != null) Expanded(child: _WalletTransactionList(myself: _wallet!)),
|
if (_wallet != null) Expanded(child: _WalletTransactionList(myself: _wallet!)),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -16,6 +16,7 @@ class SnCheckInRecord with _$SnCheckInRecord {
|
|||||||
required DateTime? deletedAt,
|
required DateTime? deletedAt,
|
||||||
required int resultTier,
|
required int resultTier,
|
||||||
required int resultExperience,
|
required int resultExperience,
|
||||||
|
required double resultCoin,
|
||||||
required List<int> resultModifiers,
|
required List<int> resultModifiers,
|
||||||
required int accountId,
|
required int accountId,
|
||||||
}) = _SnCheckInRecord;
|
}) = _SnCheckInRecord;
|
||||||
|
@ -26,6 +26,7 @@ mixin _$SnCheckInRecord {
|
|||||||
DateTime? get deletedAt => throw _privateConstructorUsedError;
|
DateTime? get deletedAt => throw _privateConstructorUsedError;
|
||||||
int get resultTier => throw _privateConstructorUsedError;
|
int get resultTier => throw _privateConstructorUsedError;
|
||||||
int get resultExperience => throw _privateConstructorUsedError;
|
int get resultExperience => throw _privateConstructorUsedError;
|
||||||
|
double get resultCoin => throw _privateConstructorUsedError;
|
||||||
List<int> get resultModifiers => throw _privateConstructorUsedError;
|
List<int> get resultModifiers => throw _privateConstructorUsedError;
|
||||||
int get accountId => throw _privateConstructorUsedError;
|
int get accountId => throw _privateConstructorUsedError;
|
||||||
|
|
||||||
@ -52,6 +53,7 @@ abstract class $SnCheckInRecordCopyWith<$Res> {
|
|||||||
DateTime? deletedAt,
|
DateTime? deletedAt,
|
||||||
int resultTier,
|
int resultTier,
|
||||||
int resultExperience,
|
int resultExperience,
|
||||||
|
double resultCoin,
|
||||||
List<int> resultModifiers,
|
List<int> resultModifiers,
|
||||||
int accountId});
|
int accountId});
|
||||||
}
|
}
|
||||||
@ -77,6 +79,7 @@ class _$SnCheckInRecordCopyWithImpl<$Res, $Val extends SnCheckInRecord>
|
|||||||
Object? deletedAt = freezed,
|
Object? deletedAt = freezed,
|
||||||
Object? resultTier = null,
|
Object? resultTier = null,
|
||||||
Object? resultExperience = null,
|
Object? resultExperience = null,
|
||||||
|
Object? resultCoin = null,
|
||||||
Object? resultModifiers = null,
|
Object? resultModifiers = null,
|
||||||
Object? accountId = null,
|
Object? accountId = null,
|
||||||
}) {
|
}) {
|
||||||
@ -105,6 +108,10 @@ class _$SnCheckInRecordCopyWithImpl<$Res, $Val extends SnCheckInRecord>
|
|||||||
? _value.resultExperience
|
? _value.resultExperience
|
||||||
: resultExperience // ignore: cast_nullable_to_non_nullable
|
: resultExperience // ignore: cast_nullable_to_non_nullable
|
||||||
as int,
|
as int,
|
||||||
|
resultCoin: null == resultCoin
|
||||||
|
? _value.resultCoin
|
||||||
|
: resultCoin // ignore: cast_nullable_to_non_nullable
|
||||||
|
as double,
|
||||||
resultModifiers: null == resultModifiers
|
resultModifiers: null == resultModifiers
|
||||||
? _value.resultModifiers
|
? _value.resultModifiers
|
||||||
: resultModifiers // ignore: cast_nullable_to_non_nullable
|
: resultModifiers // ignore: cast_nullable_to_non_nullable
|
||||||
@ -132,6 +139,7 @@ abstract class _$$SnCheckInRecordImplCopyWith<$Res>
|
|||||||
DateTime? deletedAt,
|
DateTime? deletedAt,
|
||||||
int resultTier,
|
int resultTier,
|
||||||
int resultExperience,
|
int resultExperience,
|
||||||
|
double resultCoin,
|
||||||
List<int> resultModifiers,
|
List<int> resultModifiers,
|
||||||
int accountId});
|
int accountId});
|
||||||
}
|
}
|
||||||
@ -155,6 +163,7 @@ class __$$SnCheckInRecordImplCopyWithImpl<$Res>
|
|||||||
Object? deletedAt = freezed,
|
Object? deletedAt = freezed,
|
||||||
Object? resultTier = null,
|
Object? resultTier = null,
|
||||||
Object? resultExperience = null,
|
Object? resultExperience = null,
|
||||||
|
Object? resultCoin = null,
|
||||||
Object? resultModifiers = null,
|
Object? resultModifiers = null,
|
||||||
Object? accountId = null,
|
Object? accountId = null,
|
||||||
}) {
|
}) {
|
||||||
@ -183,6 +192,10 @@ class __$$SnCheckInRecordImplCopyWithImpl<$Res>
|
|||||||
? _value.resultExperience
|
? _value.resultExperience
|
||||||
: resultExperience // ignore: cast_nullable_to_non_nullable
|
: resultExperience // ignore: cast_nullable_to_non_nullable
|
||||||
as int,
|
as int,
|
||||||
|
resultCoin: null == resultCoin
|
||||||
|
? _value.resultCoin
|
||||||
|
: resultCoin // ignore: cast_nullable_to_non_nullable
|
||||||
|
as double,
|
||||||
resultModifiers: null == resultModifiers
|
resultModifiers: null == resultModifiers
|
||||||
? _value._resultModifiers
|
? _value._resultModifiers
|
||||||
: resultModifiers // ignore: cast_nullable_to_non_nullable
|
: resultModifiers // ignore: cast_nullable_to_non_nullable
|
||||||
@ -205,6 +218,7 @@ class _$SnCheckInRecordImpl extends _SnCheckInRecord {
|
|||||||
required this.deletedAt,
|
required this.deletedAt,
|
||||||
required this.resultTier,
|
required this.resultTier,
|
||||||
required this.resultExperience,
|
required this.resultExperience,
|
||||||
|
required this.resultCoin,
|
||||||
required final List<int> resultModifiers,
|
required final List<int> resultModifiers,
|
||||||
required this.accountId})
|
required this.accountId})
|
||||||
: _resultModifiers = resultModifiers,
|
: _resultModifiers = resultModifiers,
|
||||||
@ -225,6 +239,8 @@ class _$SnCheckInRecordImpl extends _SnCheckInRecord {
|
|||||||
final int resultTier;
|
final int resultTier;
|
||||||
@override
|
@override
|
||||||
final int resultExperience;
|
final int resultExperience;
|
||||||
|
@override
|
||||||
|
final double resultCoin;
|
||||||
final List<int> _resultModifiers;
|
final List<int> _resultModifiers;
|
||||||
@override
|
@override
|
||||||
List<int> get resultModifiers {
|
List<int> get resultModifiers {
|
||||||
@ -238,7 +254,7 @@ class _$SnCheckInRecordImpl extends _SnCheckInRecord {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
String toString() {
|
String toString() {
|
||||||
return 'SnCheckInRecord(id: $id, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, resultTier: $resultTier, resultExperience: $resultExperience, resultModifiers: $resultModifiers, accountId: $accountId)';
|
return 'SnCheckInRecord(id: $id, createdAt: $createdAt, updatedAt: $updatedAt, deletedAt: $deletedAt, resultTier: $resultTier, resultExperience: $resultExperience, resultCoin: $resultCoin, resultModifiers: $resultModifiers, accountId: $accountId)';
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -257,6 +273,8 @@ class _$SnCheckInRecordImpl extends _SnCheckInRecord {
|
|||||||
other.resultTier == resultTier) &&
|
other.resultTier == resultTier) &&
|
||||||
(identical(other.resultExperience, resultExperience) ||
|
(identical(other.resultExperience, resultExperience) ||
|
||||||
other.resultExperience == resultExperience) &&
|
other.resultExperience == resultExperience) &&
|
||||||
|
(identical(other.resultCoin, resultCoin) ||
|
||||||
|
other.resultCoin == resultCoin) &&
|
||||||
const DeepCollectionEquality()
|
const DeepCollectionEquality()
|
||||||
.equals(other._resultModifiers, _resultModifiers) &&
|
.equals(other._resultModifiers, _resultModifiers) &&
|
||||||
(identical(other.accountId, accountId) ||
|
(identical(other.accountId, accountId) ||
|
||||||
@ -273,6 +291,7 @@ class _$SnCheckInRecordImpl extends _SnCheckInRecord {
|
|||||||
deletedAt,
|
deletedAt,
|
||||||
resultTier,
|
resultTier,
|
||||||
resultExperience,
|
resultExperience,
|
||||||
|
resultCoin,
|
||||||
const DeepCollectionEquality().hash(_resultModifiers),
|
const DeepCollectionEquality().hash(_resultModifiers),
|
||||||
accountId);
|
accountId);
|
||||||
|
|
||||||
@ -301,6 +320,7 @@ abstract class _SnCheckInRecord extends SnCheckInRecord {
|
|||||||
required final DateTime? deletedAt,
|
required final DateTime? deletedAt,
|
||||||
required final int resultTier,
|
required final int resultTier,
|
||||||
required final int resultExperience,
|
required final int resultExperience,
|
||||||
|
required final double resultCoin,
|
||||||
required final List<int> resultModifiers,
|
required final List<int> resultModifiers,
|
||||||
required final int accountId}) = _$SnCheckInRecordImpl;
|
required final int accountId}) = _$SnCheckInRecordImpl;
|
||||||
const _SnCheckInRecord._() : super._();
|
const _SnCheckInRecord._() : super._();
|
||||||
@ -321,6 +341,8 @@ abstract class _SnCheckInRecord extends SnCheckInRecord {
|
|||||||
@override
|
@override
|
||||||
int get resultExperience;
|
int get resultExperience;
|
||||||
@override
|
@override
|
||||||
|
double get resultCoin;
|
||||||
|
@override
|
||||||
List<int> get resultModifiers;
|
List<int> get resultModifiers;
|
||||||
@override
|
@override
|
||||||
int get accountId;
|
int get accountId;
|
||||||
|
@ -17,6 +17,7 @@ _$SnCheckInRecordImpl _$$SnCheckInRecordImplFromJson(
|
|||||||
: DateTime.parse(json['deleted_at'] as String),
|
: DateTime.parse(json['deleted_at'] as String),
|
||||||
resultTier: (json['result_tier'] as num).toInt(),
|
resultTier: (json['result_tier'] as num).toInt(),
|
||||||
resultExperience: (json['result_experience'] as num).toInt(),
|
resultExperience: (json['result_experience'] as num).toInt(),
|
||||||
|
resultCoin: (json['result_coin'] as num).toDouble(),
|
||||||
resultModifiers: (json['result_modifiers'] as List<dynamic>)
|
resultModifiers: (json['result_modifiers'] as List<dynamic>)
|
||||||
.map((e) => (e as num).toInt())
|
.map((e) => (e as num).toInt())
|
||||||
.toList(),
|
.toList(),
|
||||||
@ -32,6 +33,7 @@ Map<String, dynamic> _$$SnCheckInRecordImplToJson(
|
|||||||
'deleted_at': instance.deletedAt?.toIso8601String(),
|
'deleted_at': instance.deletedAt?.toIso8601String(),
|
||||||
'result_tier': instance.resultTier,
|
'result_tier': instance.resultTier,
|
||||||
'result_experience': instance.resultExperience,
|
'result_experience': instance.resultExperience,
|
||||||
|
'result_coin': instance.resultCoin,
|
||||||
'result_modifiers': instance.resultModifiers,
|
'result_modifiers': instance.resultModifiers,
|
||||||
'account_id': instance.accountId,
|
'account_id': instance.accountId,
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user