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
@@ -115,6 +115,8 @@ class HomeComposerStack extends StatelessWidget {
}
Widget _buildTextInputContent(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
if (isTranscribing) {
return _buildTranscribingIndicator(context);
}
@@ -126,10 +128,10 @@ class HomeComposerStack extends StatelessWidget {
focusNode: messageFocusNode,
minLines: 1,
maxLines: 1,
style: const TextStyle(
style: TextStyle(
fontSize: AppSpacing.lg,
height: 1,
color: AppColors.slate900,
color: colorScheme.onSurface,
),
textAlignVertical: TextAlignVertical.center,
decoration: InputDecoration(
@@ -137,7 +139,7 @@ class HomeComposerStack extends StatelessWidget {
hintStyle: TextStyle(
fontSize: AppSpacing.lg,
height: 1,
color: AppColors.slate400,
color: colorScheme.onSurfaceVariant,
),
border: InputBorder.none,
enabledBorder: InputBorder.none,
@@ -156,29 +158,31 @@ class HomeComposerStack extends StatelessWidget {
}
Widget _buildTranscribingIndicator(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
return Row(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
SizedBox(
width: 18,
height: 18,
child: const AppLoadingIndicator(
child: AppLoadingIndicator(
variant: AppLoadingVariant.inline,
size: 18,
strokeWidth: 2,
color: AppColors.blue600,
trackColor: AppColors.blue100,
color: colorScheme.primary,
trackColor: colorScheme.primaryContainer,
),
),
const SizedBox(width: AppSpacing.sm),
_buildWaveDots(),
_buildWaveDots(context),
const SizedBox(width: AppSpacing.sm),
Expanded(
child: Text(
context.l10n.homeTranscribing,
style: const TextStyle(
style: TextStyle(
fontSize: 14,
color: AppColors.blue600,
color: colorScheme.primary,
fontWeight: FontWeight.w600,
),
overflow: TextOverflow.ellipsis,
@@ -188,7 +192,9 @@ class HomeComposerStack extends StatelessWidget {
);
}
Widget _buildWaveDots() {
Widget _buildWaveDots(BuildContext context) {
final colorScheme = Theme.of(context).colorScheme;
return Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: List.generate(3, (index) {
@@ -197,7 +203,7 @@ class HomeComposerStack extends StatelessWidget {
width: 3,
height: 6 + index * 2,
decoration: BoxDecoration(
color: AppColors.blue500,
color: colorScheme.primary,
borderRadius: BorderRadius.circular(2),
),
);