feat(flutter): 应用克莱因蓝主题与印尼语适配
This commit is contained in:
1 parent
e1147cfcba
commit
10d448c8ba
31 files changed
+891
-521
No files matched your search
@@ -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),
|
||||
|
||||
@@ -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;
|
||||
Reference in new issue
Block a user