amazonssimulation/lib/theme/app_theme.dart
2025-05-17 23:31:54 +03:00

100 lines
3.4 KiB
Dart

import 'package:flutter/material.dart';
class AppColors {
static const Color primaryBlue = Color(0xFF007BFF); // A standard blue
static const Color amazonsOrange = Color(0xFFF58220); // Orange for "AMAZONS"
static const Color networkDarkGrey = Color(
0xFF333333,
); // Dark grey for "NETWORK"
static const Color textPrimary = Color(0xFF212121);
static const Color textSecondary = Color(0xFF757575);
static const Color hintText = Color(0xFFBDBDBD);
static const Color screenBackground = Color(
0xFFF5F5F5,
); // Light grey background
static const Color cardBackground = Colors.white;
static const Color successGreen = Color(0xFF28A745); // Green for Reconnect
}
class AppTheme {
static ThemeData get lightTheme {
return ThemeData(
primaryColor: AppColors.primaryBlue,
scaffoldBackgroundColor: AppColors.screenBackground,
cardColor: AppColors.cardBackground,
hintColor: AppColors.hintText,
fontFamily: 'Roboto', // You can choose any font
textTheme: const TextTheme(
displayLarge: TextStyle(
fontSize: 24,
fontWeight: FontWeight.bold,
color: AppColors.textPrimary,
), // "Sign in here"
titleLarge: TextStyle(
fontSize: 20,
fontWeight: FontWeight.w600,
color: AppColors.textPrimary,
), // "Customer Service"
bodyLarge: TextStyle(
fontSize: 16,
color: AppColors.textPrimary,
), // General body text
bodyMedium: TextStyle(
fontSize: 14,
color: AppColors.textSecondary,
), // Subtitles, smaller text
labelLarge: TextStyle(
fontSize: 16,
fontWeight: FontWeight.w500,
color: Colors.white,
), // Button text
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: AppColors.primaryBlue,
foregroundColor: Colors.white,
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
textStyle: const TextStyle(fontSize: 16, fontWeight: FontWeight.bold),
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: Colors.white,
hintStyle: const TextStyle(color: AppColors.hintText),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: BorderSide(color: Colors.grey.shade300),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: BorderSide(color: Colors.grey.shade300),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(8),
borderSide: const BorderSide(color: AppColors.primaryBlue, width: 2),
),
contentPadding: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 12,
),
),
colorScheme: ColorScheme.fromSeed(
seedColor: AppColors.primaryBlue,
secondary: AppColors.amazonsOrange,
background: AppColors.screenBackground,
surface: AppColors.cardBackground,
error: Colors.red,
onPrimary: Colors.white,
onSecondary: AppColors.networkDarkGrey,
onBackground: AppColors.textPrimary,
onSurface: AppColors.textPrimary,
),
);
}
}