Files
2026-10-27 15:00:16 +01:00

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),
),
),
);
}
}