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

+2
View File
@@ -26,6 +26,7 @@ class MineLogic extends ChangeNotifier {
List<WatchProgress> recent = const [];
bool recentLoading = false;
String? recentError;
/// 续看位置读取失败:与"没有记录"区分开,失败要能重试(不能假装成从 0 开始)
bool positionFailed = false;
int section;
@@ -123,6 +124,7 @@ class MineLogic extends ChangeNotifier {
for (final (code, label) in [
('en', l10n.english),
('zh', l10n.simplifiedChinese),
('id', l10n.bahasaIndonesia),
])
ListTile(
title: Text(label),
+10 -9
View File
@@ -14,6 +14,7 @@ import '../../core/data/services/favorite_controller.dart';
import '../../core/formatting/error_text.dart';
import '../../core/widgets/remote_image.dart';
import '../../core/theme/app_colors.dart';
import '../../core/theme/app_theme.dart';
import '../../l10n/app_localizations.dart';
import 'mine_binding.dart';
import 'mine_logic.dart';
@@ -149,7 +150,7 @@ class _MyPageState extends State<MyPage> {
),
);
return Theme(
data: ThemeData.dark(useMaterial3: true),
data: AppTheme.dark(),
child: widget.embedded
? content
: Scaffold(backgroundColor: const Color(0xFF0B0C10), body: content),
@@ -162,7 +163,7 @@ class _MyPageState extends State<MyPage> {
padding: const EdgeInsets.symmetric(horizontal: 16),
child: Row(
children: [
const Icon(Icons.play_circle_fill_rounded, color: _orange, size: 27),
const Icon(Icons.play_circle_fill_rounded, color: _accent, size: 27),
const SizedBox(width: 7),
Text(
l10n.myListTab,
@@ -407,7 +408,7 @@ class _MyPageState extends State<MyPage> {
title: Text(l10n.earnRewards),
trailing: Text(
l10n.freeBonus,
style: const TextStyle(color: AppColors.blue, fontSize: 12),
style: const TextStyle(color: AppColors.blueSoft, fontSize: 12),
),
onTap: () => _mockSnack(l10n),
),
@@ -505,7 +506,7 @@ class _MyPageState extends State<MyPage> {
),
decoration: BoxDecoration(
color: logic.section == index
? AppColors.blue
? AppColors.bluePressed
: const Color(0xFF24262E),
borderRadius: BorderRadius.circular(20),
),
@@ -540,7 +541,7 @@ class _MyPageState extends State<MyPage> {
showCheckmark: false,
visualDensity: VisualDensity.compact,
backgroundColor: const Color(0xFF242328),
selectedColor: _orange,
selectedColor: _accent,
labelStyle: TextStyle(
color: logic.filter == index
? Colors.white
@@ -613,7 +614,7 @@ class _MyPageState extends State<MyPage> {
backgroundColor: Color(0xFF313137),
child: Icon(
Icons.play_arrow_rounded,
color: _orange,
color: _accent,
size: 20,
),
),
@@ -872,12 +873,12 @@ class _NavItem extends StatelessWidget {
Icon(
icon,
size: 21,
color: selected ? _orange : const Color(0xFFCAC4C7),
color: selected ? _accent : const Color(0xFFCAC4C7),
),
Text(
label,
style: TextStyle(
color: selected ? _orange : const Color(0xFFCAC4C7),
color: selected ? _accent : const Color(0xFFCAC4C7),
fontSize: 10,
fontWeight: FontWeight.w700,
),
@@ -893,4 +894,4 @@ String _clock(Duration duration) {
return '${(seconds ~/ 60).toString().padLeft(2, '0')}:${(seconds % 60).toString().padLeft(2, '0')}';
}
const _orange = AppColors.blue;
const _accent = AppColors.blueSoft;