first app design

This commit is contained in:
root
2026-05-24 02:35:37 -04:00
parent c842eed601
commit d04c8ce437
138 changed files with 9672 additions and 0 deletions
+177
View File
@@ -0,0 +1,177 @@
import 'package:flutter/material.dart';
const _blue = Color(0xFF1A56DB);
const _orange = Color(0xFFFF6B00);
class AppTheme {
static ThemeData get light => ThemeData(
useMaterial3: true,
colorScheme: const ColorScheme.light(
primary: _blue,
onPrimary: Colors.white,
secondary: _orange,
onSecondary: Colors.white,
surface: Color(0xFFF4F5F7),
surfaceContainerHigh: Color(0xFFFFFFFF),
surfaceContainerHighest: Color(0xFFEFF0F2),
onSurface: Color(0xFF111928),
onSurfaceVariant: Color(0xFF6B7280),
outline: Color(0xFFD1D5DB),
outlineVariant: Color(0xFFE5E7EB),
),
scaffoldBackgroundColor: const Color(0xFFF4F5F7),
appBarTheme: const AppBarTheme(
backgroundColor: Colors.white,
foregroundColor: Color(0xFF111928),
elevation: 0,
surfaceTintColor: Colors.transparent,
),
cardTheme: CardThemeData(
color: Colors.white,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
side: const BorderSide(color: Color(0xFFE5E7EB)),
),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: Colors.white,
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Color(0xFFD1D5DB)),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Color(0xFFD1D5DB)),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: _blue, width: 2),
),
contentPadding:
const EdgeInsets.symmetric(horizontal: 16, vertical: 14),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: _blue,
foregroundColor: Colors.white,
padding:
const EdgeInsets.symmetric(horizontal: 24, vertical: 14),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
textStyle: const TextStyle(
fontSize: 16, fontWeight: FontWeight.w600),
),
),
textButtonTheme:
TextButtonThemeData(style: TextButton.styleFrom(foregroundColor: _blue)),
chipTheme: ChipThemeData(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
),
navigationBarTheme: NavigationBarThemeData(
backgroundColor: Colors.white,
indicatorColor: _orange.withValues(alpha: 0.12),
iconTheme: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.selected)) {
return const IconThemeData(color: _orange);
}
return const IconThemeData(color: Color(0xFF9CA3AF));
}),
labelTextStyle: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.selected)) {
return const TextStyle(
color: _orange, fontWeight: FontWeight.w600, fontSize: 12);
}
return const TextStyle(color: Color(0xFF9CA3AF), fontSize: 12);
}),
),
);
static ThemeData get dark => ThemeData(
useMaterial3: true,
colorScheme: const ColorScheme.dark(
primary: _blue,
onPrimary: Colors.white,
secondary: _orange,
onSecondary: Colors.white,
surface: Color(0xFF1C1C28),
surfaceContainerHigh: Color(0xFF28293A),
surfaceContainerHighest: Color(0xFF32334A),
onSurface: Colors.white,
onSurfaceVariant: Color(0xFF9CA3AF),
outline: Color(0xFF4B4C63),
outlineVariant: Color(0xFF3A3B52),
),
scaffoldBackgroundColor: const Color(0xFF1C1C28),
appBarTheme: const AppBarTheme(
backgroundColor: Color(0xFF1C1C28),
foregroundColor: Colors.white,
elevation: 0,
surfaceTintColor: Colors.transparent,
),
cardTheme: CardThemeData(
color: const Color(0xFF28293A),
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
side: const BorderSide(color: Color(0xFF3A3B52)),
),
),
inputDecorationTheme: InputDecorationTheme(
filled: true,
fillColor: const Color(0xFF28293A),
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Color(0xFF3A3B52)),
),
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: Color(0xFF3A3B52)),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(10),
borderSide: const BorderSide(color: _blue, width: 2),
),
hintStyle: const TextStyle(color: Color(0xFF9CA3AF)),
contentPadding:
const EdgeInsets.symmetric(horizontal: 16, vertical: 14),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
backgroundColor: _blue,
foregroundColor: Colors.white,
padding:
const EdgeInsets.symmetric(horizontal: 24, vertical: 14),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10),
),
textStyle: const TextStyle(
fontSize: 16, fontWeight: FontWeight.w600),
),
),
textButtonTheme:
TextButtonThemeData(style: TextButton.styleFrom(foregroundColor: _blue)),
chipTheme: ChipThemeData(
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
),
navigationBarTheme: NavigationBarThemeData(
backgroundColor: const Color(0xFF1E1F2E),
indicatorColor: _orange.withValues(alpha: 0.18),
iconTheme: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.selected)) {
return const IconThemeData(color: _orange);
}
return const IconThemeData(color: Color(0xFF9CA3AF));
}),
labelTextStyle: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.selected)) {
return const TextStyle(
color: _orange, fontWeight: FontWeight.w600, fontSize: 12);
}
return const TextStyle(color: Color(0xFF9CA3AF), fontSize: 12);
}),
),
);
}