2025-08-12 15:18:38 +07:00
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
|
2025-08-12 17:13:02 +07:00
|
|
|
import '../../presentation/components/assets/fonts.gen.dart';
|
|
|
|
|
|
2025-08-12 15:18:38 +07:00
|
|
|
part 'app_color.dart';
|
|
|
|
|
part 'app_style.dart';
|
|
|
|
|
part 'app_value.dart';
|
|
|
|
|
|
|
|
|
|
class ThemeApp {
|
|
|
|
|
static ThemeData get theme => ThemeData(
|
2025-08-12 17:13:02 +07:00
|
|
|
useMaterial3: true,
|
|
|
|
|
scaffoldBackgroundColor: AppColor.background,
|
|
|
|
|
fontFamily: FontFamily.quicksand,
|
|
|
|
|
inputDecorationTheme: InputDecorationTheme(
|
|
|
|
|
hintStyle: AppStyle.md.copyWith(color: AppColor.textSecondary),
|
|
|
|
|
contentPadding: const EdgeInsets.symmetric(horizontal: AppValue.padding),
|
|
|
|
|
border: OutlineInputBorder(
|
|
|
|
|
borderRadius: BorderRadius.circular(AppValue.radius),
|
|
|
|
|
borderSide: const BorderSide(color: AppColor.border),
|
|
|
|
|
),
|
|
|
|
|
enabledBorder: OutlineInputBorder(
|
|
|
|
|
borderRadius: BorderRadius.circular(AppValue.radius),
|
|
|
|
|
borderSide: const BorderSide(color: AppColor.border),
|
|
|
|
|
),
|
|
|
|
|
focusedBorder: OutlineInputBorder(
|
|
|
|
|
borderRadius: BorderRadius.circular(AppValue.radius),
|
|
|
|
|
borderSide: const BorderSide(color: AppColor.primary, width: 2),
|
|
|
|
|
),
|
|
|
|
|
errorBorder: OutlineInputBorder(
|
|
|
|
|
borderRadius: BorderRadius.circular(AppValue.radius),
|
|
|
|
|
borderSide: const BorderSide(color: AppColor.error),
|
|
|
|
|
),
|
|
|
|
|
filled: true,
|
|
|
|
|
fillColor: AppColor.backgroundLight,
|
|
|
|
|
),
|
|
|
|
|
elevatedButtonTheme: ElevatedButtonThemeData(
|
|
|
|
|
style: ElevatedButton.styleFrom(
|
|
|
|
|
backgroundColor: Colors.transparent,
|
|
|
|
|
shadowColor: Colors.transparent,
|
|
|
|
|
shape: RoundedRectangleBorder(
|
|
|
|
|
borderRadius: BorderRadius.circular(AppValue.radius),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
),
|
2025-08-12 17:36:41 +07:00
|
|
|
bottomNavigationBarTheme: BottomNavigationBarThemeData(
|
2025-08-12 21:27:13 +07:00
|
|
|
backgroundColor: AppColor.white,
|
2025-08-12 17:36:41 +07:00
|
|
|
selectedItemColor: AppColor.primary,
|
|
|
|
|
unselectedItemColor: AppColor.textSecondary,
|
|
|
|
|
selectedLabelStyle: AppStyle.md.copyWith(
|
|
|
|
|
color: AppColor.primary,
|
|
|
|
|
fontWeight: FontWeight.w600,
|
|
|
|
|
),
|
|
|
|
|
unselectedLabelStyle: AppStyle.md.copyWith(
|
|
|
|
|
color: AppColor.textSecondary,
|
|
|
|
|
fontWeight: FontWeight.w500,
|
|
|
|
|
),
|
|
|
|
|
),
|
2025-08-12 20:44:27 +07:00
|
|
|
appBarTheme: AppBarTheme(
|
|
|
|
|
backgroundColor: AppColor.white,
|
|
|
|
|
elevation: 1,
|
|
|
|
|
titleTextStyle: AppStyle.lg.copyWith(
|
|
|
|
|
fontWeight: FontWeight.w600,
|
|
|
|
|
color: AppColor.primary,
|
|
|
|
|
),
|
|
|
|
|
),
|
2025-08-12 17:13:02 +07:00
|
|
|
);
|
2025-08-12 15:18:38 +07:00
|
|
|
}
|