style: 统一全站深色视觉

This commit is contained in:
Zhou Weidong committed 2026-10-22 22:01:36 +08:00
1 parent 86aa7e0f4f
commit 37e35f4b47
24 files changed
+134 -130

No files matched your search

+14 -10
View File
@@ -8,12 +8,16 @@ import 'app_dimens.dart';
/// 深色视觉主题(默认且唯一)。
abstract final class AppTheme {
/// 页面背景:深色扁平,靠容器层次区分。
/// 页面背景:顶部暖黑、底部纯黑,避免旧深蓝渐变。
static const LinearGradient pageGradient = LinearGradient(
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
colors: [AppColors.surfaceTop, AppColors.ink],
stops: [0, 0.24],
colors: [
AppColors.mineGradientTop,
AppColors.mineGradientMiddle,
AppColors.mineGradientBottom,
],
stops: [0, 0.4, 0.75],
);
/// 卡片阴影关闭,改用底色与分割线。
@@ -76,7 +80,7 @@ abstract final class AppTheme {
),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
foregroundColor: AppColors.secondary,
foregroundColor: AppColors.primary,
shape: RoundedRectangleBorder(borderRadius: _buttonRadius),
),
),
@@ -107,12 +111,12 @@ abstract final class AppTheme {
),
outlinedButtonTheme: OutlinedButtonThemeData(
style: ButtonStyle(
foregroundColor: const WidgetStatePropertyAll(AppColors.blue),
foregroundColor: const WidgetStatePropertyAll(AppColors.textPrimary),
minimumSize: const WidgetStatePropertyAll(
Size(0, AppDimens.buttonHeight),
),
side: const WidgetStatePropertyAll(
BorderSide(color: AppColors.border),
BorderSide(color: AppColors.mineOutline),
),
shape: WidgetStatePropertyAll(
RoundedRectangleBorder(borderRadius: _buttonRadius),
@@ -148,20 +152,20 @@ abstract final class AppTheme {
),
),
appBarTheme: const AppBarTheme(
backgroundColor: AppColors.card,
foregroundColor: AppColors.onSurface,
backgroundColor: AppColors.transparent,
foregroundColor: AppColors.textPrimary,
elevation: 0,
scrolledUnderElevation: 0,
surfaceTintColor: AppColors.transparent,
systemOverlayStyle: SystemUiOverlayStyle.light,
titleTextStyle: TextStyle(
color: AppColors.onSurface,
color: AppColors.textPrimary,
fontFamily: 'Outfit',
fontSize: AppDimens.pageTitle,
fontWeight: FontWeight.w800,
),
),
iconTheme: const IconThemeData(color: AppColors.onSurface),
iconTheme: const IconThemeData(color: AppColors.textPrimary),
dividerTheme: const DividerThemeData(
color: AppColors.border,
thickness: 1,