100 lines
3.4 KiB
Dart
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,
|
|
),
|
|
);
|
|
}
|
|
}
|