feat(theme): shift Android palette from indigo to deep violet to match web identity
This commit is contained in:
+17
-17
@@ -3,21 +3,21 @@ import 'package:google_fonts/google_fonts.dart';
|
|||||||
|
|
||||||
// ── Colour constants ──────────────────────────────────────────────────────────
|
// ── Colour constants ──────────────────────────────────────────────────────────
|
||||||
|
|
||||||
const _darkBackground = Color(0xFF111113);
|
const _darkBackground = Color(0xFF0F0F14);
|
||||||
const _darkSurface = Color(0xFF18181C);
|
const _darkSurface = Color(0xFF16161F);
|
||||||
const _darkSurfaceVar = Color(0xFF1E1E24);
|
const _darkSurfaceVar = Color(0xFF1A1A24);
|
||||||
const _darkPrimary = Color(0xFF6366F1);
|
const _darkPrimary = Color(0xFF7C3AED);
|
||||||
const _darkOnSurface = Color(0xFFE8E8F0);
|
const _darkOnSurface = Color(0xFFE4E4F0);
|
||||||
const _darkOnSurfaceVar = Color(0xFF8888A8);
|
const _darkOnSurfaceVar = Color(0xFF8888A8);
|
||||||
const _darkOutline = Color(0xFF2E2E3A);
|
const _darkOutline = Color(0xFF2A2A3A);
|
||||||
|
|
||||||
const _lightBackground = Color(0xFFF4F4F8);
|
const _lightBackground = Color(0xFFF5F5FB);
|
||||||
const _lightSurface = Color(0xFFFFFFFF);
|
const _lightSurface = Color(0xFFFFFFFF);
|
||||||
const _lightSurfaceVar = Color(0xFFF0F0F5);
|
const _lightSurfaceVar = Color(0xFFF0F0F8);
|
||||||
const _lightPrimary = Color(0xFF4F46E5);
|
const _lightPrimary = Color(0xFF7C3AED);
|
||||||
const _lightOnSurface = Color(0xFF18181C);
|
const _lightOnSurface = Color(0xFF1A1A1A);
|
||||||
const _lightOnSurfaceVar = Color(0xFF6B6B88);
|
const _lightOnSurfaceVar = Color(0xFF666666);
|
||||||
const _lightOutline = Color(0xFFD4D4E4);
|
const _lightOutline = Color(0xFFDDDDE8);
|
||||||
|
|
||||||
// ── Typography ─────────────────────────────────────────────────────────────────
|
// ── Typography ─────────────────────────────────────────────────────────────────
|
||||||
|
|
||||||
@@ -41,7 +41,7 @@ ThemeData fabledDarkTheme() {
|
|||||||
brightness: Brightness.dark,
|
brightness: Brightness.dark,
|
||||||
primary: _darkPrimary,
|
primary: _darkPrimary,
|
||||||
onPrimary: Colors.white,
|
onPrimary: Colors.white,
|
||||||
primaryContainer: const Color(0xFF3730A3),
|
primaryContainer: const Color(0xFF5B21B6),
|
||||||
onPrimaryContainer: _darkOnSurface,
|
onPrimaryContainer: _darkOnSurface,
|
||||||
secondary: _darkPrimary,
|
secondary: _darkPrimary,
|
||||||
onSecondary: Colors.white,
|
onSecondary: Colors.white,
|
||||||
@@ -118,7 +118,7 @@ ThemeData fabledLightTheme() {
|
|||||||
brightness: Brightness.light,
|
brightness: Brightness.light,
|
||||||
primary: _lightPrimary,
|
primary: _lightPrimary,
|
||||||
onPrimary: Colors.white,
|
onPrimary: Colors.white,
|
||||||
primaryContainer: const Color(0xFFE0E0FF),
|
primaryContainer: const Color(0xFFEDE5FF),
|
||||||
onPrimaryContainer: _lightOnSurface,
|
onPrimaryContainer: _lightOnSurface,
|
||||||
secondary: _lightPrimary,
|
secondary: _lightPrimary,
|
||||||
onSecondary: Colors.white,
|
onSecondary: Colors.white,
|
||||||
@@ -218,15 +218,15 @@ class GradientButton extends StatelessWidget {
|
|||||||
: const LinearGradient(
|
: const LinearGradient(
|
||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [Color(0xFF6366F1), Color(0xFF4F46E5)],
|
colors: [Color(0xFF7C3AED), Color(0xFF5B21B6)],
|
||||||
),
|
),
|
||||||
color: disabled ? const Color(0xFF6366F1) : null,
|
color: disabled ? const Color(0xFF7C3AED) : null,
|
||||||
borderRadius: BorderRadius.circular(12),
|
borderRadius: BorderRadius.circular(12),
|
||||||
boxShadow: disabled
|
boxShadow: disabled
|
||||||
? null
|
? null
|
||||||
: [
|
: [
|
||||||
BoxShadow(
|
BoxShadow(
|
||||||
color: const Color(0xFF6366F1).withValues(alpha: 0.35),
|
color: const Color(0xFF7C3AED).withValues(alpha: 0.45),
|
||||||
blurRadius: 8,
|
blurRadius: 8,
|
||||||
offset: const Offset(0, 3),
|
offset: const Offset(0, 3),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -462,7 +462,7 @@ class _GradientSendButton extends StatelessWidget {
|
|||||||
: const LinearGradient(
|
: const LinearGradient(
|
||||||
begin: Alignment.topLeft,
|
begin: Alignment.topLeft,
|
||||||
end: Alignment.bottomRight,
|
end: Alignment.bottomRight,
|
||||||
colors: [Color(0xFF6366F1), Color(0xFF4F46E5)],
|
colors: [Color(0xFF7C3AED), Color(0xFF5B21B6)],
|
||||||
),
|
),
|
||||||
color: disabled ? scheme.onSurface.withValues(alpha: 0.12) : null,
|
color: disabled ? scheme.onSurface.withValues(alpha: 0.12) : null,
|
||||||
borderRadius: BorderRadius.circular(10),
|
borderRadius: BorderRadius.circular(10),
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class _EventFormSheetState extends ConsumerState<EventFormSheet> {
|
|||||||
'#EF4444',
|
'#EF4444',
|
||||||
'#F59E0B',
|
'#F59E0B',
|
||||||
'#10B981',
|
'#10B981',
|
||||||
'#6366F1',
|
'#7C3AED',
|
||||||
'#8B5CF6',
|
'#8B5CF6',
|
||||||
'#EC4899',
|
'#EC4899',
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -55,11 +55,11 @@ class _ProjectTasksScreenState extends ConsumerState<ProjectTasksScreen> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Color _parseColor(String? hex) {
|
Color _parseColor(String? hex) {
|
||||||
if (hex == null || hex.isEmpty) return const Color(0xFF6366F1);
|
if (hex == null || hex.isEmpty) return const Color(0xFF7C3AED);
|
||||||
try {
|
try {
|
||||||
return Color(int.parse(hex.replaceFirst('#', '0xFF')));
|
return Color(int.parse(hex.replaceFirst('#', '0xFF')));
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
return const Color(0xFF6366F1);
|
return const Color(0xFF7C3AED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user