- Implemented new navigation system with NavigationProvider and route management - Added adaptive theme system with ThemeProvider for better theme handling - Introduced glassmorphism design elements (app bars, scaffolds, cards) - Added advanced animations (spring animations, page transitions, staggered lists) - Implemented performance optimizations (memory manager, lazy loading) - Refactored Analysis screen into modular components - Added floating navigation bar with haptic feedback - Improved subscription cards with swipe actions - Enhanced skeleton loading with better animations - Added cached network image support - Improved overall app architecture and code organization 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
95 lines
3.5 KiB
Dart
95 lines
3.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
class AppColors {
|
|
// 메인 컬러 (Metronic Tailwind 스타일)
|
|
static const primaryColor = Color(0xFF3B82F6); // 메트로닉 블루
|
|
static const secondaryColor = Color(0xFF64748B); // 슬레이트 600
|
|
static const successColor = Color(0xFF10B981); // 그린
|
|
static const infoColor = Color(0xFF6366F1); // 인디고
|
|
static const warningColor = Color(0xFFF59E0B); // 앰버
|
|
static const dangerColor = Color(0xFFEF4444); // 레드
|
|
|
|
// 배경색
|
|
static const backgroundColor = Color(0xFFF1F5F9); // 슬레이트 100
|
|
static const surfaceColor = Color(0xFFFFFFFF); // 화이트
|
|
static const surfaceColorAlt = Color(0xFFF8FAFC); // 슬레이트 50
|
|
static const cardColor = Color(0xFFFFFFFF); // 화이트
|
|
|
|
// 텍스트 컬러
|
|
static const textPrimary = Color(0xFF1E293B); // 슬레이트 800
|
|
static const textSecondary = Color(0xFF64748B); // 슬레이트 600
|
|
static const textMuted = Color(0xFF94A3B8); // 슬레이트 400
|
|
static const textLight = Color(0xFFFFFFFF); // 화이트
|
|
|
|
// 보더 & 디바이더
|
|
static const borderColor = Color(0xFFE2E8F0); // 슬레이트 200
|
|
static const dividerColor = Color(0xFFE2E8F0); // 슬레이트 200
|
|
|
|
// 그라데이션 컬러 - 다양한 효과를 위한 조합
|
|
static const List<Color> blueGradient = [
|
|
Color(0xFF3B82F6),
|
|
Color(0xFF2563EB)
|
|
];
|
|
static const List<Color> tealGradient = [
|
|
Color(0xFF14B8A6),
|
|
Color(0xFF0D9488)
|
|
];
|
|
static const List<Color> purpleGradient = [
|
|
Color(0xFF8B5CF6),
|
|
Color(0xFF7C3AED)
|
|
];
|
|
static const List<Color> amberGradient = [
|
|
Color(0xFFF59E0B),
|
|
Color(0xFFD97706)
|
|
];
|
|
static const List<Color> roseGradient = [
|
|
Color(0xFFF43F5E),
|
|
Color(0xFFE11D48)
|
|
];
|
|
|
|
// Glassmorphism 효과를 위한 색상
|
|
static const glassSurface = Color(0x0FFFFFFF); // 매우 연한 흰색 (6% opacity)
|
|
static const glassBackground = Color(0x1AFFFFFF); // 연한 흰색 (10% opacity)
|
|
static const glassCard = Color(0x33FFFFFF); // 반투명 흰색 (20% opacity)
|
|
static const glassBorder = Color(0x4DFFFFFF); // 반투명 테두리 (30% opacity)
|
|
static const glassOverlay = Color(0x0D000000); // 연한 검정 오버레이 (5% opacity)
|
|
|
|
// 다크 모드용 Glassmorphism 색상
|
|
static const glassSurfaceDark = Color(0x0F000000); // 매우 연한 검정 (6% opacity)
|
|
static const glassBackgroundDark = Color(0x1A000000); // 연한 검정 (10% opacity)
|
|
static const glassCardDark = Color(0x33000000); // 반투명 검정 (20% opacity)
|
|
static const glassBorderDark = Color(0x4D000000); // 반투명 검정 테두리 (30% opacity)
|
|
|
|
// 백드롭 블러 효과를 위한 그라디언트
|
|
static const List<Color> glassGradient = [
|
|
Color(0x1AFFFFFF), // 10% white
|
|
Color(0x0FFFFFFF), // 6% white
|
|
];
|
|
|
|
static const List<Color> glassGradientDark = [
|
|
Color(0x1A000000), // 10% black
|
|
Color(0x0F000000), // 6% black
|
|
];
|
|
|
|
// 시간대별 배경 그라디언트
|
|
static const List<Color> morningGradient = [
|
|
Color(0xFFFED7AA), // 따뜻한 오렌지
|
|
Color(0xFFFBBF24), // 부드러운 노랑
|
|
];
|
|
|
|
static const List<Color> dayGradient = [
|
|
Color(0xFFDDEAFC), // 연한 하늘색
|
|
Color(0xFFBFDBFE), // 맑은 파랑
|
|
];
|
|
|
|
static const List<Color> eveningGradient = [
|
|
Color(0xFFFCA5A5), // 부드러운 핑크
|
|
Color(0xFFC084FC), // 연한 보라
|
|
];
|
|
|
|
static const List<Color> nightGradient = [
|
|
Color(0xFF4338CA), // 깊은 인디고
|
|
Color(0xFF1E1B4B), // 다크 네이비
|
|
];
|
|
}
|