feat: initialize new Flutter project with core feature structure and cross-platform configuration

This commit is contained in:
Ümit Tunç
2026-04-29 21:58:29 +03:00
parent 859460434d
commit 34c5b44ddf
149 changed files with 6882 additions and 0 deletions
+25
View File
@@ -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,
);
}
+48
View File
@@ -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),
),
),
);
}
}