50fe9a9d36
App móvil para validar pases QR contra base-admin-web con login Cognito, escáner en tiempo real, feedback auditivo/háptico y README completo.
59 lines
2.1 KiB
Dart
59 lines
2.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
class AppTheme {
|
|
static const Color primary = Color(0xFF00D4AA);
|
|
static const Color primaryDark = Color(0xFF00A88A);
|
|
static const Color backgroundDark = Color(0xFF0A0E1A);
|
|
static const Color surfaceDark = Color(0xFF141B2D);
|
|
static const Color accent = Color(0xFF6C63FF);
|
|
static const Color success = Color(0xFF22C55E);
|
|
static const Color successDark = Color(0xFF16A34A);
|
|
static const Color warning = Color(0xFFFBBF24);
|
|
static const Color warningDark = Color(0xFFF59E0B);
|
|
|
|
static ThemeData get darkTheme {
|
|
return ThemeData(
|
|
useMaterial3: true,
|
|
brightness: Brightness.dark,
|
|
colorScheme: ColorScheme.dark(
|
|
primary: primary,
|
|
secondary: accent,
|
|
surface: surfaceDark,
|
|
onPrimary: Colors.white,
|
|
onSurface: Colors.white,
|
|
),
|
|
scaffoldBackgroundColor: backgroundDark,
|
|
inputDecorationTheme: InputDecorationTheme(
|
|
filled: true,
|
|
fillColor: Colors.white.withValues(alpha: 0.06),
|
|
border: OutlineInputBorder(
|
|
borderRadius: BorderRadius.circular(14),
|
|
borderSide: BorderSide.none,
|
|
),
|
|
enabledBorder: OutlineInputBorder(
|
|
borderRadius: BorderRadius.circular(14),
|
|
borderSide: BorderSide(color: Colors.white.withValues(alpha: 0.08)),
|
|
),
|
|
focusedBorder: OutlineInputBorder(
|
|
borderRadius: BorderRadius.circular(14),
|
|
borderSide: const BorderSide(color: primary, width: 1.5),
|
|
),
|
|
errorBorder: OutlineInputBorder(
|
|
borderRadius: BorderRadius.circular(14),
|
|
borderSide: const BorderSide(color: Color(0xFFFF6B6B)),
|
|
),
|
|
contentPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 18),
|
|
hintStyle: TextStyle(color: Colors.white.withValues(alpha: 0.4)),
|
|
),
|
|
elevatedButtonTheme: ElevatedButtonThemeData(
|
|
style: ElevatedButton.styleFrom(
|
|
elevation: 0,
|
|
padding: const EdgeInsets.symmetric(vertical: 18),
|
|
shape: RoundedRectangleBorder(
|
|
borderRadius: BorderRadius.circular(14),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
} |