import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'colors.dart'; /// كان هذا نظام ألوان **ثانياً منافساً** لـ [AppColor]: نيفي `#0A0E21` وأزرق /// `#3D5AFE` بدل نيفي العلامة `#1A2340` والـ Periwinkle `#8C9CF8`. النتيجة أن /// صفحات المحفظة والأرباح والتحديات كانت تبدو من تطبيق آخر. /// /// أُبقي الصنف باسمه حتى لا تتكسّر عشرات مواضع الاستدعاء، لكنه صار **واجهة /// رقيقة فوق ألوان العلامة**. الجديد يُكتب بـ `TripzUi` / `Theme.of(context)`. class FinanceDesignSystem { // --- Colors --- static Color get primaryDark => Get.isDarkMode ? const Color(0xFFF1F5F9) : AppColor.primaryColor; static Color get accentBlue => Get.isDarkMode ? AppColor.secondaryColorStatic : AppColor.primaryColor; static Color get successGreen => AppColor.greenColor; static Color get dangerRed => AppColor.redColor; static Color get backgroundColor => Get.isDarkMode ? const Color(0xFF0F1424) : const Color(0xFFF6F8FA); static Color get cardColor => Get.isDarkMode ? const Color(0xFF171D33) : const Color(0xFFFFFFFF); static Color get textSecondary => Get.isDarkMode ? const Color(0xFF94A3B8) : const Color(0xFF64748B); static Color get textMuted => Get.isDarkMode ? const Color(0xFF64748B) : const Color(0xFF94A3B8); static Color get borderColor => Get.isDarkMode ? const Color(0xFF262E4A) : const Color(0xFFE6EAF0); // --- Shadows --- static BoxShadow get softShadow => BoxShadow( color: Colors.black.withValues(alpha: Get.isDarkMode ? 0.35 : 0.05), blurRadius: 18, offset: const Offset(0, 6), ); // --- Gradients --- /// تدرّج العلامة: نيفي ← Periwinkle. يُستعمل في بطاقات الرصيد والرؤوس. static LinearGradient get balanceGradient => LinearGradient( colors: Get.isDarkMode ? [const Color(0xFF1E2745), const Color(0xFF2E3A63)] : [AppColor.primaryColor, const Color(0xFF3A4674)], begin: Alignment.topLeft, end: Alignment.bottomRight, ); static const LinearGradient dangerGradient = LinearGradient( colors: [AppColor.redColor, Color(0xFFF87171)], begin: Alignment.topLeft, end: Alignment.bottomRight, ); // --- Radius --- static const double mainRadius = 16.0; static const double cardRadius = 18.0; static const double buttonRadius = 14.0; // --- Spacing --- static const double horizontalPadding = 16.0; static const double verticalSectionPadding = 24.0; // --- Text Styles --- static TextStyle get balanceStyle => const TextStyle( fontSize: 32, fontWeight: FontWeight.bold, color: Colors.white, ); static TextStyle get headingStyle => TextStyle( fontSize: 17, fontWeight: FontWeight.bold, color: primaryDark, ); static TextStyle get subHeadingStyle => TextStyle( fontSize: 13, color: textSecondary, ); }