Files
nj/app/lib/core/theme/app_shadows.dart
iven ee5ce9bc56 feat(app): 初始化 Flutter 前端项目 (Phase F0)
- Flutter 3.44.0 + Dart 3.12.0
- 设计系统: 7色Token×浅/深模式, NotoSansSC/Caveat字体, 圆角10/16/22/28/pill, 三级阴影
- ResponsiveScaffold: 手机底部TabBar / 平板侧边Rail / 桌面三栏
- go_router 路由表: 13个页面 (5个Tab + 8个全屏页面)
- 13个功能模块占位页面 (home/calendar/mood/search/profile/editor/auth/class/teacher/parent/achievement/stickers/templates)
- 依赖: flutter_bloc, go_router, freezed, isar, dio, perfect_freehand, fl_chart
- 中国镜像: PUB_HOSTED_URL + FLUTTER_STORAGE_BASE_URL
- flutter analyze: No issues found
2026-06-01 00:17:16 +08:00

50 lines
1.3 KiB
Dart

// 暖记阴影系统 — soft / medium / float
import 'package:flutter/material.dart';
class AppShadows {
AppShadows._();
/// 柔和阴影 — 卡片默认
static List<BoxShadow> soft(BuildContext context) {
final isDark = Theme.of(context).brightness == Brightness.dark;
return [
BoxShadow(
color: isDark
? Colors.black.withValues(alpha: 0.3)
: const Color(0xFF2D2420).withValues(alpha: 0.08),
offset: const Offset(0, 2),
blurRadius: 8,
),
];
}
/// 中等阴影 — 浮动元素、FAB
static List<BoxShadow> medium(BuildContext context) {
final isDark = Theme.of(context).brightness == Brightness.dark;
return [
BoxShadow(
color: isDark
? Colors.black.withValues(alpha: 0.4)
: const Color(0xFF2D2420).withValues(alpha: 0.12),
offset: const Offset(0, 4),
blurRadius: 16,
),
];
}
/// 浮动阴影 — 弹窗、底部面板
static List<BoxShadow> floating(BuildContext context) {
final isDark = Theme.of(context).brightness == Brightness.dark;
return [
BoxShadow(
color: isDark
? Colors.black.withValues(alpha: 0.5)
: const Color(0xFF2D2420).withValues(alpha: 0.16),
offset: const Offset(0, 8),
blurRadius: 24,
),
];
}
}