🐛 Bug fixes

This commit is contained in:
LittleSheep 2025-01-29 20:42:41 +08:00
parent aa4c04d4ef
commit cf3b482fef
8 changed files with 81 additions and 19 deletions

View File

@ -594,7 +594,7 @@
"walletCreate": "创建钱包", "walletCreate": "创建钱包",
"walletCreateSubtitle": "创建于一个钱包来开始使用源点。", "walletCreateSubtitle": "创建于一个钱包来开始使用源点。",
"walletCreatePassword": "在下方设置你的付款密码", "walletCreatePassword": "在下方设置你的付款密码",
"walletCurrencyShort": "点", "walletCurrencyShort": "点",
"walletCurrency": { "walletCurrency": {
"one": "{} 源点", "one": "{} 源点",
"other": "{} 源点" "other": "{} 源点"

View File

@ -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": "{} 源點"
}
} }

View File

@ -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": "{} 源點"
}
} }

View File

@ -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,
)
], ],
), ),
), ),

View File

@ -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!)),
], ],
), ),

View File

@ -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;

View File

@ -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;

View File

@ -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,
}; };