feat: initialize new Flutter project with core feature structure and cross-platform configuration
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AppColors {
|
||||
static const Color background = Color(0xFF0A0E14);
|
||||
static const Color surface = Color(0xFF161B22);
|
||||
static const Color primary = Color(0xFF2D7DEB); // Electric Blue
|
||||
static const Color secondary = Color(0xFF0F9D58); // Emerald Green
|
||||
static const Color accent = Color(0xFFF4B400); // Yellow
|
||||
static const Color error = Color(0xFFDB4437); // Red
|
||||
|
||||
static const Color textPrimary = Colors.white;
|
||||
static const Color textSecondary = Color(0xFF8B949E);
|
||||
|
||||
static const LinearGradient primaryGradient = LinearGradient(
|
||||
colors: [primary, Color(0xFF1A5FBC)],
|
||||
begin: Alignment.topLeft,
|
||||
end: Alignment.bottomRight,
|
||||
);
|
||||
|
||||
static const LinearGradient backgroundGradient = LinearGradient(
|
||||
colors: [background, Color(0xFF10141B)],
|
||||
begin: Alignment.topCenter,
|
||||
end: Alignment.bottomCenter,
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'app_colors.dart';
|
||||
|
||||
class AppTheme {
|
||||
static ThemeData get darkTheme {
|
||||
return ThemeData(
|
||||
useMaterial3: true,
|
||||
brightness: Brightness.dark,
|
||||
scaffoldBackgroundColor: AppColors.background,
|
||||
colorScheme: ColorScheme.dark(
|
||||
primary: AppColors.primary,
|
||||
secondary: AppColors.secondary,
|
||||
surface: AppColors.surface,
|
||||
error: AppColors.error,
|
||||
),
|
||||
textTheme: GoogleFonts.outfitTextTheme(
|
||||
const TextTheme(
|
||||
displayLarge: TextStyle(color: AppColors.textPrimary, fontWeight: FontWeight.bold),
|
||||
displayMedium: TextStyle(color: AppColors.textPrimary, fontWeight: FontWeight.bold),
|
||||
titleLarge: TextStyle(color: AppColors.textPrimary, fontWeight: FontWeight.w600),
|
||||
bodyLarge: TextStyle(color: AppColors.textPrimary),
|
||||
bodyMedium: TextStyle(color: AppColors.textSecondary),
|
||||
),
|
||||
),
|
||||
cardTheme: CardThemeData(
|
||||
color: AppColors.surface,
|
||||
elevation: 0,
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
side: BorderSide(color: Colors.white.withOpacity(0.05)),
|
||||
),
|
||||
),
|
||||
|
||||
elevatedButtonTheme: ElevatedButtonThemeData(
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: AppColors.primary,
|
||||
foregroundColor: Colors.white,
|
||||
minimumSize: const Size(double.infinity, 56),
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.circular(16),
|
||||
),
|
||||
textStyle: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user