base project

This commit is contained in:
efrilm
2025-08-27 12:43:25 +07:00
parent 1573a38857
commit 13d07caa74
108 changed files with 3560 additions and 349 deletions
+66
View File
@@ -0,0 +1,66 @@
part of 'theme.dart';
class AppColor {
// Primary Colors (Merah)
static const Color primary = Color(0xFFD90000); // #d90000
static const Color primaryLight = Color(0xFFFF4D4D); // merah terang
static const Color primaryDark = Color(0xFF990000); // merah gelap
// Secondary Colors (biar tetap harmonis → hijau dipertahankan)
static const Color secondary = Color(0xFF4CAF50);
static const Color secondaryLight = Color(0xFF81C784);
static const Color secondaryDark = Color(0xFF388E3C);
// Background Colors
static const Color background = Color(0xFFF8F9FA);
static const Color backgroundLight = Color(0xFFFFFFFF);
static const Color backgroundDark = Color(0xFF1A1A1A);
static const Color surface = Color(0xFFFFFFFF);
static const Color surfaceDark = Color(0xFF2D2D2D);
// Text Colors
static const Color textPrimary = Color(0xFF212121);
static const Color textSecondary = Color(0xFF757575);
static const Color textLight = Color(0xFFBDBDBD);
static const Color textWhite = Color(0xFFFFFFFF);
// Status Colors
static const Color success = Color(0xFF4CAF50);
static const Color error = Color(0xFFE53E3E);
static const Color warning = Color(0xFFFF9800);
static const Color info = Color(0xFF2196F3);
// Border Colors
static const Color border = Color(0xFFE0E0E0);
static const Color borderLight = Color(0xFFF0F0F0);
static const Color borderDark = Color(0xFFBDBDBD);
// Basic Color
static const Color white = Color(0xFFFFFFFF);
static const Color black = Color(0xFF000000);
// Gradient Colors
static const List<Color> primaryGradient = [
Color(0xFFD90000), // primary
Color(0xFF990000), // dark red
];
static const List<Color> successGradient = [
Color(0xFF4CAF50),
Color(0xFF81C784),
];
static const List<Color> backgroundGradient = [
Color(0xFFF5F5F5),
Color(0xFFE8E8E8),
];
// Opacity Variations
static Color primaryWithOpacity(double opacity) =>
primary.withOpacity(opacity);
static Color successWithOpacity(double opacity) =>
success.withOpacity(opacity);
static Color errorWithOpacity(double opacity) => error.withOpacity(opacity);
static Color warningWithOpacity(double opacity) =>
warning.withOpacity(opacity);
}
+27
View File
@@ -0,0 +1,27 @@
part of 'theme.dart';
class AppStyle {
static TextStyle xs = TextStyle(color: AppColor.textPrimary, fontSize: 11);
static TextStyle sm = TextStyle(color: AppColor.textPrimary, fontSize: 12);
static TextStyle md = TextStyle(color: AppColor.textPrimary, fontSize: 14);
static TextStyle lg = TextStyle(color: AppColor.textPrimary, fontSize: 16);
static TextStyle xl = TextStyle(color: AppColor.textPrimary, fontSize: 18);
static TextStyle xxl = TextStyle(color: AppColor.textPrimary, fontSize: 20);
static TextStyle h6 = TextStyle(color: AppColor.textPrimary, fontSize: 22);
static TextStyle h5 = TextStyle(color: AppColor.textPrimary, fontSize: 24);
static TextStyle h4 = TextStyle(color: AppColor.textPrimary, fontSize: 26);
static TextStyle h3 = TextStyle(color: AppColor.textPrimary, fontSize: 28);
static TextStyle h2 = TextStyle(color: AppColor.textPrimary, fontSize: 30);
static TextStyle h1 = TextStyle(color: AppColor.textPrimary, fontSize: 32);
}
+3
View File
@@ -0,0 +1,3 @@
part of 'theme.dart';
class AppValue {}
+11
View File
@@ -0,0 +1,11 @@
import 'package:flutter/material.dart';
part 'app_color.dart';
part 'app_style.dart';
part 'app_value.dart';
class ThemeApp {
static ThemeData get theme => ThemeData(
useMaterial3: true,
);
}