refactor(apps): 主题系统迁移至 ColorScheme + 扩展架构并支持 Dark Mode

This commit is contained in:
qzl
2026-03-27 19:07:39 +08:00
parent ecc1ec6ce4
commit ae29a8209b
146 changed files with 4301 additions and 3200 deletions
@@ -8,27 +8,29 @@ class AccountSectionCard extends StatelessWidget {
this.title,
this.description,
required this.child,
this.backgroundColor = AppColors.white,
this.borderColor = AppColors.borderSecondary,
this.backgroundColor,
this.borderColor,
this.contentPadding = const EdgeInsets.all(AppSpacing.lg),
});
final String? title;
final String? description;
final Widget child;
final Color backgroundColor;
final Color borderColor;
final Color? backgroundColor;
final Color? borderColor;
final EdgeInsetsGeometry contentPadding;
@override
Widget build(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
return Container(
width: double.infinity,
padding: contentPadding,
decoration: BoxDecoration(
color: backgroundColor,
color: backgroundColor ?? colorScheme.surface,
borderRadius: BorderRadius.circular(AppRadius.xl),
border: Border.all(color: borderColor),
border: Border.all(color: borderColor ?? colorScheme.outlineVariant),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
@@ -36,10 +38,10 @@ class AccountSectionCard extends StatelessWidget {
if (title != null) ...[
Text(
title!,
style: const TextStyle(
style: TextStyle(
fontSize: 15,
fontWeight: FontWeight.w700,
color: AppColors.slate900,
color: colorScheme.onSurface,
),
),
],
@@ -47,10 +49,10 @@ class AccountSectionCard extends StatelessWidget {
const SizedBox(height: AppSpacing.xs),
Text(
description!,
style: const TextStyle(
style: TextStyle(
fontSize: 13,
fontWeight: FontWeight.w500,
color: AppColors.slate500,
color: colorScheme.onSurfaceVariant,
),
),
],
@@ -25,8 +25,10 @@ class SettingsPageScaffold extends StatelessWidget {
@override
Widget build(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
return Scaffold(
backgroundColor: AppColors.surfaceSecondary,
backgroundColor: colorScheme.surfaceContainerLow,
resizeToAvoidBottomInset: resizeOnKeyboard,
body: SafeArea(
maintainBottomViewPadding: maintainBottomViewPadding,