cyberhybridhub/lib/theme/app_theme.dart
2026-05-20 10:22:58 -05:00

60 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
abstract final class AppColors {
static const Color background = Color(0xFF070B14);
static const Color surface = Color(0xFF111827);
static const Color surfaceElevated = Color(0xFF1A2332);
static const Color accent = Color(0xFF22D3EE);
static const Color accentMuted = Color(0xFF0891B2);
static const Color textPrimary = Color(0xFFF8FAFC);
static const Color textSecondary = Color(0xFF94A3B8);
static const Color success = Color(0xFF34D399);
}
ThemeData buildAppTheme() {
const ColorScheme scheme = ColorScheme.dark(
primary: AppColors.accent,
onPrimary: AppColors.background,
secondary: AppColors.accentMuted,
surface: AppColors.surface,
onSurface: AppColors.textPrimary,
error: Color(0xFFF87171),
);
return ThemeData(
useMaterial3: true,
brightness: Brightness.dark,
colorScheme: scheme,
scaffoldBackgroundColor: AppColors.background,
textTheme: const TextTheme(
headlineLarge: TextStyle(
fontSize: 36,
fontWeight: FontWeight.w700,
height: 1.15,
letterSpacing: -0.5,
color: AppColors.textPrimary,
),
headlineMedium: TextStyle(
fontSize: 28,
fontWeight: FontWeight.w600,
color: AppColors.textPrimary,
),
titleLarge: TextStyle(
fontSize: 18,
fontWeight: FontWeight.w600,
color: AppColors.textPrimary,
),
bodyLarge: TextStyle(
fontSize: 16,
height: 1.5,
color: AppColors.textSecondary,
),
labelLarge: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w600,
color: AppColors.background,
),
),
);
}