Merge branch 'dev' of https://github.com/Oloodi/krow-workforce into feature/session-persistence-424

This commit is contained in:
2026-02-19 12:55:47 +05:30
118 changed files with 8629 additions and 234 deletions

View File

@@ -21,8 +21,8 @@ class UiColors {
/// Foreground color on primary background (#F7FAFC)
static const Color primaryForeground = Color(0xFFF7FAFC);
/// Inverse primary color (#9FABF1)
static const Color primaryInverse = Color(0xFF9FABF1);
/// Inverse primary color (#0A39DF)
static const Color primaryInverse = Color.fromARGB(23, 10, 56, 223);
/// Secondary background color (#F1F3F5)
static const Color secondary = Color(0xFFF1F3F5);

View File

@@ -267,4 +267,7 @@ class UiIcons {
/// Chef hat icon for attire
static const IconData chefHat = _IconLib.chefHat;
/// Help circle icon for FAQs
static const IconData helpCircle = _IconLib.helpCircle;
}

View File

@@ -71,7 +71,9 @@ class UiTheme {
),
maximumSize: const Size(double.infinity, 54),
).copyWith(
side: WidgetStateProperty.resolveWith<BorderSide?>((Set<WidgetState> states) {
side: WidgetStateProperty.resolveWith<BorderSide?>((
Set<WidgetState> states,
) {
if (states.contains(WidgetState.disabled)) {
return const BorderSide(
color: UiColors.borderPrimary,
@@ -80,7 +82,9 @@ class UiTheme {
}
return null;
}),
overlayColor: WidgetStateProperty.resolveWith((Set<WidgetState> states) {
overlayColor: WidgetStateProperty.resolveWith((
Set<WidgetState> states,
) {
if (states.contains(WidgetState.hovered))
return UiColors.buttonPrimaryHover;
return null;
@@ -239,7 +243,9 @@ class UiTheme {
navigationBarTheme: NavigationBarThemeData(
backgroundColor: UiColors.white,
indicatorColor: UiColors.primaryInverse.withAlpha(51), // 20% of 255
labelTextStyle: WidgetStateProperty.resolveWith((Set<WidgetState> states) {
labelTextStyle: WidgetStateProperty.resolveWith((
Set<WidgetState> states,
) {
if (states.contains(WidgetState.selected)) {
return UiTypography.footnote2m.textPrimary;
}
@@ -249,13 +255,38 @@ class UiTheme {
// Switch Theme
switchTheme: SwitchThemeData(
trackColor: WidgetStateProperty.resolveWith<Color>((Set<WidgetState> states) {
trackColor: WidgetStateProperty.resolveWith<Color>((
Set<WidgetState> states,
) {
if (states.contains(WidgetState.selected)) {
return UiColors.switchActive;
return UiColors.primary.withAlpha(60);
}
return UiColors.switchInactive;
}),
thumbColor: const WidgetStatePropertyAll<Color>(UiColors.white),
thumbColor: WidgetStateProperty.resolveWith<Color>((
Set<WidgetState> states,
) {
if (states.contains(WidgetState.selected)) {
return UiColors.primary;
}
return UiColors.white;
}),
trackOutlineColor: WidgetStateProperty.resolveWith<Color?>((
Set<WidgetState> states,
) {
if (states.contains(WidgetState.selected)) {
return UiColors.primary;
}
return UiColors.transparent;
}),
trackOutlineWidth: WidgetStateProperty.resolveWith<double?>((
Set<WidgetState> states,
) {
if (states.contains(WidgetState.selected)) {
return 1.0;
}
return 0.0;
}),
),
// Checkbox Theme