import 'package:flutter/material.dart'; class LightAppColors { LightAppColors._(); static const hint = Color.fromARGB(255, 88, 88, 88); static const inputBorder = Color.fromARGB(255, 14, 63, 102); static const primary = Color.fromARGB(255, 33, 150, 243); static const slectedTitle = Color.fromARGB(255, 153, 207, 249); static const slectedText = Color.fromARGB(255, 153, 207, 249); static const confirmButton = Color.fromARGB(255, 76, 175, 80); static const popupText = Color.fromARGB(255, 157, 157, 155); static const confirmPopup = Color.fromARGB(255, 23, 107, 173); static const nearbyPopup = Color.fromARGB(255, 233, 245, 254); static const nearbyPopuphint = Color.fromARGB(255, 112, 112, 110); static const productDetailDivider = Color.fromARGB(255, 112, 112, 110); static const fillOrder = Color.fromARGB(255, 200, 230, 201); static const fillOrderText = Color.fromARGB(255, 32, 74, 34); static const allReviewOpener = Color.fromARGB(255, 183, 28, 28); static const hintTitle = Color.fromARGB(255, 73, 69, 79); static const cardBackground = Color.fromARGB(255, 242, 242, 241); static const offerTimer = Color.fromARGB(255, 244, 67, 54); static const offerCardDetail = Color.fromARGB(255, 73, 69, 79); static const divider = Color.fromARGB(255, 189, 189, 188); static const textPrice = Color.fromARGB(255, 85, 84, 81); static const deliverySelectedButton = Color.fromARGB(255, 237, 247, 238); static const loadingBorder = Color.fromARGB(255, 239, 239, 239); static const profileField = Color.fromARGB(255, 252, 252, 252); static const trunOff_On = Color.fromARGB(255, 78, 70, 180); static const nearbyTuggleButton = Color.fromARGB(255, 22, 92, 150); static const selectedBGButton = Color.fromARGB(255, 14, 63, 102); static const selectedTextNearby = Colors.white; static const nearbyIconSelcted = Color.fromARGB(255, 233, 245, 254); // Active/Old toggle colors static const activeOfferBackground = Color.fromARGB(17, 77, 77, 77); static const oldOfferBackground = Color.fromARGB(17, 77, 77, 77); // Additional colors for comprehensive dark mode support static const buttonPrimary = Color.fromARGB(255, 30, 137, 221); static const borderPrimary = Color.fromARGB(255, 14, 63, 102); static const errorColor = Color.fromARGB(255, 244, 67, 54); static const checkboxActive = Color.fromARGB(255, 33, 150, 243); static const shadowColor = Color.fromARGB( 51, 0, 0, 0, ); // black with 0.2 opacity static const greyBorder = Color.fromARGB(255, 189, 189, 189); static const secondaryText = Color.fromARGB(255, 117, 117, 117); // Common colors for both themes static const scaffoldBackground = Colors.white; static const textPrimary = Colors.black; static const textSecondary = Color.fromARGB(255, 88, 88, 88); static const surface = Colors.white; } class DarkAppColors { DarkAppColors._(); static const hint = Color.fromARGB(255, 180, 180, 180); static const inputBorder = Color.fromARGB(255, 100, 149, 237); static const primary = Color.fromARGB(255, 100, 181, 246); static const slectedTitle = Color.fromARGB(255, 144, 202, 249); static const slectedText = Color.fromARGB(255, 144, 202, 249); static const confirmButton = Color.fromARGB(255, 102, 187, 106); static const popupText = Color.fromARGB(255, 180, 180, 180); static const confirmPopup = Color.fromARGB(255, 66, 165, 245); static const nearbyPopup = Color.fromARGB(255, 33, 47, 61); static const nearbyPopuphint = Color.fromARGB(255, 158, 158, 158); static const productDetailDivider = Color.fromARGB(255, 158, 158, 158); static const fillOrder = Color.fromARGB(255, 56, 142, 60); static const fillOrderText = Color.fromARGB(255, 200, 230, 201); static const allReviewOpener = Color.fromARGB(255, 244, 67, 54); static const hintTitle = Color.fromARGB(255, 189, 189, 189); static const cardBackground = Color.fromARGB(255, 42, 55, 66); static const offerTimer = Color.fromARGB(255, 244, 67, 54); static const offerCardDetail = Color.fromARGB(255, 189, 189, 189); static const divider = Color.fromARGB(255, 97, 97, 97); static const textPrice = Color.fromARGB(255, 189, 189, 189); static const deliverySelectedButton = Color.fromARGB(255, 46, 125, 50); static const loadingBorder = Color.fromARGB(255, 34, 48, 60); static const profileField = Color.fromARGB(255, 34, 48, 60); static const trunOff_On = Color.fromARGB(255, 121, 134, 203); static const nearbyTuggleButton = Color.fromARGB(255, 14, 63, 102); static const selectedBGButton = Color.fromARGB(255, 14, 63, 102); static const selectedTextNearby = Color.fromARGB(255, 100, 181, 251); static const nearbyIconSelcted = Color.fromARGB(255, 100, 181, 251); // Active/Old toggle colors - Different colors for dark mode static const activeOfferBackground = Color.fromARGB(255, 30, 42, 56); static const oldOfferBackground = Color.fromARGB(255, 45, 45, 45); // Additional colors for comprehensive dark mode support static const buttonPrimary = Color.fromARGB(255, 100, 181, 246); static const borderPrimary = Color.fromARGB(255, 100, 149, 237); static const errorColor = Color.fromARGB(255, 244, 67, 54); static const checkboxActive = Color.fromARGB(255, 100, 181, 246); static const shadowColor = Color.fromARGB(120, 22, 92, 150); // white with 0.3 opacity for dark theme static const greyBorder = Color.fromARGB(255, 97, 97, 97); static const secondaryText = Color.fromARGB(255, 189, 189, 189); // Dark theme specific colors static const scaffoldBackground = Color.fromARGB(255, 21, 32, 43); static const textPrimary = Colors.white; static const textSecondary = Color.fromARGB(255, 180, 180, 180); static const surface = Color.fromARGB(255, 21, 32, 43); } // App colors that dynamically switch based on theme class AppColors { static bool _isDarkMode = false; static void setDarkMode(bool isDark) { _isDarkMode = isDark; } static bool get isDarkMode => _isDarkMode; static Color get hint => _isDarkMode ? DarkAppColors.hint : LightAppColors.hint; static Color get inputBorder => _isDarkMode ? DarkAppColors.inputBorder : LightAppColors.inputBorder; static Color get primary => _isDarkMode ? DarkAppColors.primary : LightAppColors.primary; static Color get slectedTitle => _isDarkMode ? DarkAppColors.slectedTitle : LightAppColors.slectedTitle; static Color get slectedText => _isDarkMode ? DarkAppColors.slectedText : LightAppColors.slectedText; static Color get confirmButton => _isDarkMode ? DarkAppColors.confirmButton : LightAppColors.confirmButton; static Color get popupText => _isDarkMode ? DarkAppColors.popupText : LightAppColors.popupText; static Color get confirmPopup => _isDarkMode ? DarkAppColors.confirmPopup : LightAppColors.confirmPopup; static Color get nearbyPopup => _isDarkMode ? DarkAppColors.nearbyPopup : LightAppColors.nearbyPopup; static Color get nearbyPopuphint => _isDarkMode ? DarkAppColors.nearbyPopuphint : LightAppColors.nearbyPopuphint; static Color get productDetailDivider => _isDarkMode ? DarkAppColors.productDetailDivider : LightAppColors.productDetailDivider; static Color get fillOrder => _isDarkMode ? DarkAppColors.fillOrder : LightAppColors.fillOrder; static Color get fillOrderText => _isDarkMode ? DarkAppColors.fillOrderText : LightAppColors.fillOrderText; static Color get allReviewOpener => _isDarkMode ? DarkAppColors.allReviewOpener : LightAppColors.allReviewOpener; static Color get hintTitle => _isDarkMode ? DarkAppColors.hintTitle : LightAppColors.hintTitle; static Color get cardBackground => _isDarkMode ? DarkAppColors.cardBackground : LightAppColors.cardBackground; static Color get offerTimer => _isDarkMode ? DarkAppColors.offerTimer : LightAppColors.offerTimer; static Color get offerCardDetail => _isDarkMode ? DarkAppColors.offerCardDetail : LightAppColors.offerCardDetail; static Color get divider => _isDarkMode ? DarkAppColors.divider : LightAppColors.divider; static Color get textPrice => _isDarkMode ? DarkAppColors.textPrice : LightAppColors.textPrice; static Color get deliverySelectedButton => _isDarkMode ? DarkAppColors.deliverySelectedButton : LightAppColors.deliverySelectedButton; static Color get loadingBorder => _isDarkMode ? DarkAppColors.loadingBorder : LightAppColors.loadingBorder; static Color get profileField => _isDarkMode ? DarkAppColors.profileField : LightAppColors.profileField; static Color get trunOff_On => _isDarkMode ? DarkAppColors.trunOff_On : LightAppColors.trunOff_On; static Color get buttonPrimary => _isDarkMode ? DarkAppColors.buttonPrimary : LightAppColors.buttonPrimary; static Color get borderPrimary => _isDarkMode ? DarkAppColors.borderPrimary : LightAppColors.borderPrimary; static Color get errorColor => _isDarkMode ? DarkAppColors.errorColor : LightAppColors.errorColor; static Color get checkboxActive => _isDarkMode ? DarkAppColors.checkboxActive : LightAppColors.checkboxActive; static Color get shadowColor => _isDarkMode ? DarkAppColors.shadowColor : LightAppColors.shadowColor; static Color get greyBorder => _isDarkMode ? DarkAppColors.greyBorder : LightAppColors.greyBorder; static Color get secondaryText => _isDarkMode ? DarkAppColors.secondaryText : LightAppColors.secondaryText; static Color get scaffoldBackground => _isDarkMode ? DarkAppColors.scaffoldBackground : LightAppColors.scaffoldBackground; static Color get textPrimary => _isDarkMode ? DarkAppColors.textPrimary : LightAppColors.textPrimary; static Color get textSecondary => _isDarkMode ? DarkAppColors.textSecondary : LightAppColors.textSecondary; static Color get surface => _isDarkMode ? DarkAppColors.surface : LightAppColors.surface; static Color get nearbyToggleButton => _isDarkMode ? DarkAppColors.nearbyTuggleButton : LightAppColors.nearbyTuggleButton; static Color get selectedBGButton => _isDarkMode ? DarkAppColors.selectedBGButton : LightAppColors.selectedBGButton; static Color get selectedTextNearby => _isDarkMode ? DarkAppColors.selectedTextNearby : LightAppColors.selectedTextNearby; static Color get nearbyIconSelected => _isDarkMode ? DarkAppColors.nearbyIconSelcted : LightAppColors.nearbyIconSelcted; static Color get activeOfferBackground => _isDarkMode ? DarkAppColors.activeOfferBackground : LightAppColors.activeOfferBackground; static Color get oldOfferBackground => _isDarkMode ? DarkAppColors.oldOfferBackground : LightAppColors.oldOfferBackground; }