focus-flow/apps/focus_flow_flutter/lib/theme/focus_flow_theme.dart

45 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
import 'focus_flow_tokens.dart';
abstract final class FocusFlowTheme {
static ThemeData dark() {
final scheme = ColorScheme.fromSeed(
seedColor: FocusFlowTokens.accentMagenta,
brightness: Brightness.dark,
);
return ThemeData(
colorScheme: scheme,
scaffoldBackgroundColor: FocusFlowTokens.appBackground,
canvasColor: FocusFlowTokens.appBackground,
dialogTheme: const DialogThemeData(
backgroundColor: FocusFlowTokens.elevatedPanel,
),
fontFamily: 'Roboto',
textTheme: const TextTheme(
headlineLarge: TextStyle(
color: FocusFlowTokens.textPrimary,
fontSize: FocusFlowTokens.pageTitleSize,
fontWeight: FontWeight.w800,
),
titleLarge: TextStyle(
color: FocusFlowTokens.textPrimary,
fontSize: FocusFlowTokens.cardTitleSize,
fontWeight: FontWeight.w800,
),
titleMedium: TextStyle(
color: FocusFlowTokens.textPrimary,
fontSize: 18,
fontWeight: FontWeight.w700,
),
bodyLarge: TextStyle(
color: FocusFlowTokens.textPrimary,
fontSize: 17,
fontWeight: FontWeight.w500,
),
bodyMedium: TextStyle(color: FocusFlowTokens.textMuted, fontSize: 15),
),
useMaterial3: true,
);
}
}