feat: integrate invite API and improve notification handling
- Add invite code display and binding functionality via API - Fix notification unread count sync on auth state change - Improve notification mark read with server state validation - Add auth state listener to trigger notification refresh - Add YaoCoinConverter for coin-to-yao type conversion - Remove YaoLegend from divination screens (UI cleanup) - Abbreviate relation labels in yao detail view - Add re-register notice to account delete screen - Update 'coins' terminology to 'points' in localization - Fix backend points consumption to only run in CHAT mode - Add HttpxAuthNoiseFilter to suppress auth endpoint logging - Fix notification static_schema import path - Add test coverage for notification bloc error handling - Update AGENTS.md page header rules and image handling - Delete deprecated run-dev.sh script
This commit is contained in:
@@ -146,6 +146,7 @@
|
||||
"settingsDeleteAccountSubtitle": "Permanently delete your account and personal data",
|
||||
"settingsDeleteAccountWarningTitle": "Please confirm before deleting",
|
||||
"settingsDeleteAccountWarningBody": "After deletion, related data including profile, history, and points will be permanently removed and cannot be restored.",
|
||||
"settingsDeleteAccountReRegisterNotice": "Important: if you delete and re-register with the same email, consumed points will not be reset or refunded.",
|
||||
"settingsDeleteAccountScopeProfile": "Profile and account information will be deleted",
|
||||
"settingsDeleteAccountScopeHistory": "Divination history records will be deleted",
|
||||
"settingsDeleteAccountScopePoints": "Points account and ledger records will be deleted",
|
||||
@@ -295,7 +296,7 @@
|
||||
"questionTypeSearch": "Search",
|
||||
"questionTypeOther": "Other",
|
||||
"toastPleaseInputQuestion": "Please enter your question",
|
||||
"toastCoinInsufficient": "Insufficient coins",
|
||||
"toastCoinInsufficient": "Insufficient points",
|
||||
"divinationCostDialogTitle": "Confirm divination",
|
||||
"divinationCostDialogBody": "This run costs {cost} credits. Available balance: {balance} credits. Continue?",
|
||||
"@divinationCostDialogBody": {
|
||||
|
||||
@@ -758,6 +758,12 @@ abstract class AppLocalizations {
|
||||
/// **'删除账号后,个人资料、历史记录、点数信息等相关数据将被永久删除,且不可恢复。'**
|
||||
String get settingsDeleteAccountWarningBody;
|
||||
|
||||
/// No description provided for @settingsDeleteAccountReRegisterNotice.
|
||||
///
|
||||
/// In zh, this message translates to:
|
||||
/// **'重要提示:同一邮箱删除后重新注册,已消耗积分不会重置或返还。'**
|
||||
String get settingsDeleteAccountReRegisterNotice;
|
||||
|
||||
/// No description provided for @settingsDeleteAccountScopeProfile.
|
||||
///
|
||||
/// In zh, this message translates to:
|
||||
@@ -1487,7 +1493,7 @@ abstract class AppLocalizations {
|
||||
/// No description provided for @toastCoinInsufficient.
|
||||
///
|
||||
/// In zh, this message translates to:
|
||||
/// **'铜钱不足,无法解卦'**
|
||||
/// **'积分不足,无法解卦'**
|
||||
String get toastCoinInsufficient;
|
||||
|
||||
/// No description provided for @divinationCostDialogTitle.
|
||||
|
||||
@@ -367,6 +367,10 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get settingsDeleteAccountWarningBody =>
|
||||
'After deletion, related data including profile, history, and points will be permanently removed and cannot be restored.';
|
||||
|
||||
@override
|
||||
String get settingsDeleteAccountReRegisterNotice =>
|
||||
'Important: if you delete and re-register with the same email, consumed points will not be reset or refunded.';
|
||||
|
||||
@override
|
||||
String get settingsDeleteAccountScopeProfile =>
|
||||
'Profile and account information will be deleted';
|
||||
@@ -770,7 +774,7 @@ class AppLocalizationsEn extends AppLocalizations {
|
||||
String get toastPleaseInputQuestion => 'Please enter your question';
|
||||
|
||||
@override
|
||||
String get toastCoinInsufficient => 'Insufficient coins';
|
||||
String get toastCoinInsufficient => 'Insufficient points';
|
||||
|
||||
@override
|
||||
String get divinationCostDialogTitle => 'Confirm divination';
|
||||
|
||||
@@ -359,6 +359,10 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
String get settingsDeleteAccountWarningBody =>
|
||||
'删除账号后,个人资料、历史记录、点数信息等相关数据将被永久删除,且不可恢复。';
|
||||
|
||||
@override
|
||||
String get settingsDeleteAccountReRegisterNotice =>
|
||||
'重要提示:同一邮箱删除后重新注册,已消耗积分不会重置或返还。';
|
||||
|
||||
@override
|
||||
String get settingsDeleteAccountScopeProfile => '个人资料和账号信息会被删除';
|
||||
|
||||
@@ -737,7 +741,7 @@ class AppLocalizationsZh extends AppLocalizations {
|
||||
String get toastPleaseInputQuestion => '请输入您想占卜的问题';
|
||||
|
||||
@override
|
||||
String get toastCoinInsufficient => '铜钱不足,无法解卦';
|
||||
String get toastCoinInsufficient => '积分不足,无法解卦';
|
||||
|
||||
@override
|
||||
String get divinationCostDialogTitle => '确认开始解卦';
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
"settingsDeleteAccountSubtitle": "永久删除账号及相关个人数据",
|
||||
"settingsDeleteAccountWarningTitle": "删除前请确认",
|
||||
"settingsDeleteAccountWarningBody": "删除账号后,个人资料、历史记录、点数信息等相关数据将被永久删除,且不可恢复。",
|
||||
"settingsDeleteAccountReRegisterNotice": "重要提示:同一邮箱删除后重新注册,已消耗积分不会重置或返还。",
|
||||
"settingsDeleteAccountScopeProfile": "个人资料和账号信息会被删除",
|
||||
"settingsDeleteAccountScopeHistory": "历史解卦记录会被删除",
|
||||
"settingsDeleteAccountScopePoints": "点数账户与流水记录会被删除",
|
||||
@@ -295,7 +296,7 @@
|
||||
"questionTypeSearch": "寻物",
|
||||
"questionTypeOther": "其他",
|
||||
"toastPleaseInputQuestion": "请输入您想占卜的问题",
|
||||
"toastCoinInsufficient": "铜钱不足,无法解卦",
|
||||
"toastCoinInsufficient": "积分不足,无法解卦",
|
||||
"divinationCostDialogTitle": "确认开始解卦",
|
||||
"divinationCostDialogBody": "本次解卦将消耗 {cost} 点数,当前可用 {balance} 点数。是否继续?",
|
||||
"@divinationCostDialogBody": {
|
||||
|
||||
Reference in New Issue
Block a user