登录流程已全部重构
This commit is contained in:
7
lib/widgets/ui_kit/utils/enums/ui_theme.dart
Normal file
7
lib/widgets/ui_kit/utils/enums/ui_theme.dart
Normal file
@@ -0,0 +1,7 @@
|
||||
// 主题风格
|
||||
enum UiThemeType {
|
||||
primary,
|
||||
success,
|
||||
warning,
|
||||
danger,
|
||||
}
|
||||
5
lib/widgets/ui_kit/utils/enums/ui_variant.dart
Normal file
5
lib/widgets/ui_kit/utils/enums/ui_variant.dart
Normal file
@@ -0,0 +1,5 @@
|
||||
//定义Variant
|
||||
enum UiVariant {
|
||||
solid,
|
||||
plain,
|
||||
}
|
||||
46
lib/widgets/ui_kit/utils/theme/ui_color.dart
Normal file
46
lib/widgets/ui_kit/utils/theme/ui_color.dart
Normal file
@@ -0,0 +1,46 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:food_health/config/theme/base/app_theme_ext.dart';
|
||||
|
||||
import '../enums/ui_theme.dart';
|
||||
import '../enums/ui_variant.dart';
|
||||
|
||||
class UiColorScheme {
|
||||
final Color background;
|
||||
final Color foreground;
|
||||
|
||||
UiColorScheme({
|
||||
required this.background,
|
||||
required this.foreground,
|
||||
});
|
||||
}
|
||||
|
||||
class UiColor {
|
||||
static UiColorScheme getColorScheme(
|
||||
BuildContext context, {
|
||||
UiThemeType type = UiThemeType.primary,
|
||||
UiVariant variant = UiVariant.solid,
|
||||
}) {
|
||||
final colorScheme = Theme.of(context).colorScheme;
|
||||
final themeExt = Theme.of(context).extension<AppThemeExtension>()!;
|
||||
|
||||
//主题色映射
|
||||
final baseColor = switch (type) {
|
||||
UiThemeType.primary => colorScheme.primary,
|
||||
UiThemeType.success => themeExt.success,
|
||||
UiThemeType.warning => themeExt.warning,
|
||||
UiThemeType.danger => themeExt.danger,
|
||||
};
|
||||
|
||||
// 风格区分
|
||||
return switch (variant) {
|
||||
UiVariant.solid => UiColorScheme(
|
||||
background: baseColor,
|
||||
foreground: Colors.white,
|
||||
),
|
||||
UiVariant.plain => UiColorScheme(
|
||||
background: baseColor.withValues(alpha: 0.3),
|
||||
foreground: baseColor,
|
||||
),
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user