Implementation
ThemeData theme() {
return ThemeData(
useMaterial3: true,
scaffoldBackgroundColor: kBackgroundLight,
fontFamily: GoogleFonts.notoSans().fontFamily,
primaryColor: kPrimaryColor,
colorScheme: const ColorScheme.light(
primary: kPrimaryColor,
surface: kSurfaceLight,
onPrimary: Colors.white,
onSurface: kTextPrimaryLight,
// Fix: Distinct background for inputs
surfaceContainerHighest: Color(0xFFF1F5F9), // Slate-100
onSurfaceVariant: Color(0xFF64748B), // Slate-500
// Fix: Project Icons Background
primaryContainer: Color(0xFFD6E3FF),
onPrimaryContainer: Color(0xFF001B3D),
),
appBarTheme: appBarTheme(),
inputDecorationTheme: inputDecorationTheme(
fillColor: kSurfaceLight,
borderColor: kBorderLight,
focusColor: kPrimaryColor,
),
textTheme: textTheme(),
dividerColor: kBorderLight,
extensions: <ThemeExtension<dynamic>>[
DiagramTheme(
canvasBg: const Color(0xFFF3F4F6),
panelBg: kSurfaceLight,
gridLine: Colors.black.withValues(alpha: 0.05),
nodeBg: kSurfaceLight,
nodeBorder: const Color(0xFF94A3B8),
textColor: kTextPrimaryLight,
accentColor: kPrimaryColor,
isDark: false,
),
],
);
}