chore(deploy): add backend ECR deployment flow #1

Merged
qzl merged 24 commits from dev into main 2026-04-29 18:07:11 +08:00
4 changed files with 20 additions and 9 deletions
Showing only changes of commit dd48d1d59d - Show all commits
+2
View File
@@ -69,6 +69,8 @@ class AppTheme {
warning: Color(0xFFF57C00),
warningContainer: Color(0xFFFFF3E0),
onWarningContainer: Color(0xFF8A4B00),
incomeGreenBg: Color(0xFFE8F5E9),
incomeGreenText: Color(0xFF2E7D32),
),
],
);
@@ -50,7 +50,9 @@ class _FeedbackScreenState extends State<FeedbackScreen> {
final colors = Theme.of(context).colorScheme;
final l10n = AppLocalizations.of(context)!;
return Scaffold(
return GestureDetector(
onTap: () => FocusScope.of(context).unfocus(),
child: Scaffold(
backgroundColor: colors.surfaceContainerLow,
appBar: AppBar(
title: Text(l10n.feedbackTitle),
@@ -155,6 +157,7 @@ class _FeedbackScreenState extends State<FeedbackScreen> {
),
],
),
),
);
}
@@ -21,6 +21,8 @@ class _FakeAuthRepository implements AuthRepository {
Future<AuthUser> loginWithEmailOtp({
required String email,
required String otp,
String? language,
String? timezone,
}) async {
return AuthUser(id: 'u1', email: email);
}
@@ -17,6 +17,7 @@ class _FakeNotificationRepository implements NotificationRepository {
Future<NotificationListResult> listNotifications({
int limit = 20,
String? cursor,
String locale = 'zh',
}) async {
return NotificationListResult(
items: items,
@@ -29,7 +30,10 @@ class _FakeNotificationRepository implements NotificationRepository {
Future<int> getUnreadCount() async => unreadCount;
@override
Future<NotificationItem> markRead({required String notificationId}) async {
Future<NotificationItem> markRead({
required String notificationId,
String locale = 'zh',
}) async {
if (failMarkRead) {
throw Exception('Mark read failed');
}