65 lines
2.0 KiB
Dart
65 lines
2.0 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
class AppTheme {
|
|
static const ink = Color(0xFF152C3D);
|
|
static const muted = Color(0xFF5C7080);
|
|
static const teal = Color(0xFF007F78);
|
|
static const inputSurface = Color(0xFFEDF8F5);
|
|
static const inventorySurface = Color(0xFF152C3D);
|
|
|
|
static ThemeData get light {
|
|
final scheme = ColorScheme.fromSeed(
|
|
seedColor: teal,
|
|
primary: teal,
|
|
onPrimary: Colors.white,
|
|
surface: Colors.white,
|
|
onSurface: ink,
|
|
);
|
|
final border = OutlineInputBorder(
|
|
borderRadius: BorderRadius.circular(12),
|
|
borderSide: const BorderSide(color: Color(0xFFCCDEDA)),
|
|
);
|
|
return ThemeData(
|
|
useMaterial3: true,
|
|
colorScheme: scheme,
|
|
scaffoldBackgroundColor: const Color(0xFFF4F7F9),
|
|
appBarTheme: const AppBarTheme(
|
|
backgroundColor: Color(0xFFF4F7F9),
|
|
foregroundColor: ink,
|
|
surfaceTintColor: Colors.transparent,
|
|
centerTitle: false,
|
|
elevation: 0,
|
|
),
|
|
inputDecorationTheme: InputDecorationTheme(
|
|
filled: true,
|
|
fillColor: Colors.white,
|
|
labelStyle: const TextStyle(color: muted),
|
|
contentPadding: const EdgeInsets.symmetric(
|
|
horizontal: 16,
|
|
vertical: 17,
|
|
),
|
|
border: border,
|
|
enabledBorder: border,
|
|
focusedBorder: border.copyWith(
|
|
borderSide: const BorderSide(color: teal, width: 2),
|
|
),
|
|
errorBorder: border.copyWith(
|
|
borderSide: BorderSide(color: scheme.error),
|
|
),
|
|
focusedErrorBorder: border.copyWith(
|
|
borderSide: BorderSide(color: scheme.error, width: 2),
|
|
),
|
|
),
|
|
filledButtonTheme: FilledButtonThemeData(
|
|
style: FilledButton.styleFrom(
|
|
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 18),
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(12),
|
|
),
|
|
textStyle: const TextStyle(fontSize: 15, fontWeight: FontWeight.w600),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|