first commit

This commit is contained in:
=
2026-09-21 16:33:51 -04:00
commit a899479dc9
204 changed files with 21132 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
import 'package:flutter/material.dart';
class AppColors {
// Color institucional exacto de Hidalyx (extraído del SVG oficial)
static const Color primary = Color(0xFF2251FF);
static const Color primaryDark = Color(0xFF143CD6);
static const Color primaryLight = Color(0xFF5A80FF);
static const Color primaryContainer = Color(0xFFEEF2FF);
// Acentos médicos complementarios
static const Color secondary = Color(0xFF0EA5E9);
static const Color teal = Color(0xFF00C9A7);
// Superficies y fondos
static const Color background = Color(0xFFF8FAFC);
static const Color surface = Color(0xFFFFFFFF);
static const Color cardBg = Color(0xFFFFFFFF);
// Bordes y divisores
static const Color border = Color(0xFFE2E8F0);
static const Color divider = Color(0xFFEDF2F7);
// Textos
static const Color textPrimary = Color(0xFF0F172A);
static const Color textSecondary = Color(0xFF64748B);
static const Color textMuted = Color(0xFF94A3B8);
// Estados
static const Color success = Color(0xFF10B981);
static const Color warning = Color(0xFFF59E0B);
static const Color error = Color(0xFFEF4444);
static const Color info = Color(0xFF2251FF);
}
+109
View File
@@ -0,0 +1,109 @@
import 'package:flutter/material.dart';
import 'app_colors.dart';
class AppTheme {
static const String fontFamily = 'Poppins';
static ThemeData get lightTheme {
return ThemeData(
useMaterial3: true,
fontFamily: fontFamily,
scaffoldBackgroundColor: AppColors.background,
colorScheme: ColorScheme.fromSeed(
seedColor: AppColors.primary,
primary: AppColors.primary,
secondary: AppColors.secondary,
surface: AppColors.surface,
error: AppColors.error,
brightness: Brightness.light,
),
appBarTheme: const AppBarTheme(
backgroundColor: AppColors.surface,
foregroundColor: AppColors.textPrimary,
elevation: 0,
centerTitle: false,
titleTextStyle: TextStyle(
fontFamily: fontFamily,
fontSize: 18,
fontWeight: FontWeight.w600,
color: AppColors.textPrimary,
),
),
cardTheme: CardThemeData(
color: AppColors.cardBg,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
side: const BorderSide(color: AppColors.border),
),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: AppColors.primary,
foregroundColor: Colors.white,
elevation: 0,
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 14),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
textStyle: const TextStyle(
fontFamily: fontFamily,
fontSize: 14,
fontWeight: FontWeight.w600,
),
),
),
outlinedButtonTheme: OutlinedButtonThemeData(
style: OutlinedButton.styleFrom(
foregroundColor: AppColors.primary,
side: const BorderSide(color: AppColors.primary, width: 1.5),
padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 14),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
textStyle: const TextStyle(
fontFamily: fontFamily,
fontSize: 14,
fontWeight: FontWeight.w600,
),
),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: Colors.white,
contentPadding: const EdgeInsets.symmetric(horizontal: 16, vertical: 14),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: AppColors.border),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: AppColors.border),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: AppColors.primary, width: 2),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: AppColors.error),
),
labelStyle: const TextStyle(
fontFamily: fontFamily,
fontSize: 14,
color: AppColors.textSecondary,
),
hintStyle: const TextStyle(
fontFamily: fontFamily,
fontSize: 14,
color: AppColors.textMuted,
),
),
dividerTheme: const DividerThemeData(
color: AppColors.divider,
thickness: 1,
space: 1,
),
);
}
}