2025-08-27 19:37:22 +07:00

66 lines
2.0 KiB
Dart

import 'package:flutter/material.dart';
import '../../presentation/components/assets/fonts.gen.dart';
part 'app_color.dart';
part 'app_style.dart';
part 'app_value.dart';
UnderlineInputBorder _inputBorder = UnderlineInputBorder(
borderSide: BorderSide(color: AppColor.borderDark, width: 1),
);
class ThemeApp {
static ThemeData get theme => ThemeData(
useMaterial3: true,
fontFamily: FontFamily.quicksand,
primaryColor: AppColor.primary,
scaffoldBackgroundColor: AppColor.white,
appBarTheme: AppBarTheme(
backgroundColor: AppColor.white,
foregroundColor: AppColor.textPrimary,
elevation: 0,
titleTextStyle: AppStyle.xl.copyWith(
color: AppColor.primary,
fontWeight: FontWeight.w600,
),
centerTitle: true,
iconTheme: IconThemeData(color: AppColor.primary),
scrolledUnderElevation: 0.0,
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: AppColor.primary,
foregroundColor: Colors.white,
elevation: 0,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(24)),
),
),
inputDecorationTheme: InputDecorationTheme(
border: _inputBorder,
focusedBorder: _inputBorder.copyWith(
borderSide: BorderSide(color: AppColor.primary, width: 2),
),
enabledBorder: _inputBorder,
disabledBorder: _inputBorder.copyWith(
borderSide: BorderSide(color: AppColor.border),
),
errorBorder: _inputBorder.copyWith(
borderSide: BorderSide(color: AppColor.error),
),
hintStyle: AppStyle.md.copyWith(
color: AppColor.textLight,
fontWeight: FontWeight.w500,
),
contentPadding: const EdgeInsets.symmetric(vertical: 12),
),
bottomNavigationBarTheme: BottomNavigationBarThemeData(
type: BottomNavigationBarType.fixed,
selectedItemColor: AppColor.primary,
unselectedItemColor: AppColor.textSecondary,
backgroundColor: AppColor.white,
elevation: 4,
),
);
}