feat(flutter): 应用克莱因蓝主题与印尼语适配

This commit is contained in:
Zhou Weidong committed 2026-10-17 15:58:17 +08:00
1 parent e1147cfcba
commit 10d448c8ba
31 files changed
+891 -521

No files matched your search

+16 -17
View File
@@ -12,7 +12,9 @@ import '../../core/data/repositories/watch_history_repository.dart';
import '../../core/data/services/auth_controller.dart';
import '../../core/data/services/watch_records_controller.dart';
import '../../core/formatting/error_text.dart';
import '../../core/formatting/localized_date_time.dart';
import '../../core/theme/app_colors.dart';
import '../../core/theme/app_theme.dart';
import '../../core/widgets/auth_gate.dart';
import '../../core/widgets/remote_image.dart';
import '../../l10n/app_localizations.dart';
@@ -27,15 +29,18 @@ class WatchRecordsPage extends StatelessWidget {
Widget build(BuildContext context) {
final signedIn = context.watch<AuthController>().isSignedIn;
final l10n = AppLocalizations.of(context)!;
return Scaffold(
key: const Key('watch-records-page'),
backgroundColor: const Color(0xFF0B0C10),
appBar: AppBar(
return Theme(
data: AppTheme.dark(),
child: Scaffold(
key: const Key('watch-records-page'),
backgroundColor: const Color(0xFF0B0C10),
foregroundColor: Colors.white,
title: Text(l10n.watchHistory),
appBar: AppBar(
backgroundColor: const Color(0xFF0B0C10),
foregroundColor: Colors.white,
title: Text(l10n.watchHistory),
),
body: signedIn ? const _WatchRecordsBody() : const AuthGatePanel(),
),
body: signedIn ? const _WatchRecordsBody() : const AuthGatePanel(),
);
}
}
@@ -276,7 +281,10 @@ class _RecordTile extends StatelessWidget {
if (record.progress.updatedAt != null)
Text(
l10n.updatedAtLabel(
_formatUpdatedAt(record.progress.updatedAt!),
formatLocalizedDateTime(
context,
record.progress.updatedAt!,
),
),
key: ValueKey('watch-record-updated-${record.dramaId}'),
style: const TextStyle(
@@ -375,12 +383,3 @@ String _clock(Duration value) {
final seconds = value.inSeconds.remainder(60);
return '$minutes:${seconds.toString().padLeft(2, '0')}';
}
String _formatUpdatedAt(DateTime value) {
final local = value.toLocal();
final month = local.month.toString().padLeft(2, '0');
final day = local.day.toString().padLeft(2, '0');
final hour = local.hour.toString().padLeft(2, '0');
final minute = local.minute.toString().padLeft(2, '0');
return '${local.year}-$month-$day $hour:$minute';
}