نسخة كاملة من مستودع سيرو عند ecfe7568 لتكون أساس تطبيق «انطلق». نُسخ المتعقَّب في git فقط (12,509 ملفاً / 302 م.ب) بـ git archive، لا `cp -r` — فاستُثنيت تلقائياً مخلفات البناء (build · node_modules · .dart_tool · .gradle · Pods ≈ 10.7 غ.ب) وكل ما يستثنيه .gitignore. هذا الكوميت **بلا أي تعديل عمداً** حتى يكون كل ما يليه فرقاً مقروءاً مقابل سيرو الأصلي. سيرو نفسه لم يُمسّ. ⚠️ لا يبني بعد: `.env` و`lib/env/env.g.dart` غير متعقَّبين في سيرو (وهذا صحيح — أسرار لكل مستأجر). كل تطبيق فلاتر هنا يحتاج .env خاصاً بانطلق ثم توليد env.g.dart عبر build_runner. لا تُنسخ أسرار سيرو. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
65 lines
2.2 KiB
Dart
65 lines
2.2 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
|
|
class FinanceDesignSystem {
|
|
// --- Colors ---
|
|
static Color get primaryDark => Get.isDarkMode ? const Color(0xFFE0E0E0) : const Color(0xFF0A0E21);
|
|
static Color get accentBlue => const Color(0xFF3D5AFE);
|
|
static Color get successGreen => const Color(0xFF00C853);
|
|
static Color get dangerRed => const Color(0xFFD50000);
|
|
static Color get backgroundColor => Get.isDarkMode ? const Color(0xFF0A0E21) : const Color(0xFFF6F8FA);
|
|
static Color get cardColor => Get.isDarkMode ? const Color(0xFF1E1E2E) : const Color(0xFFFFFFFF);
|
|
static Color get textSecondary => Get.isDarkMode ? Colors.white70 : const Color(0xFF757575);
|
|
static Color get textMuted => Get.isDarkMode ? Colors.white38 : const Color(0xFFBDBDBD);
|
|
static Color get borderColor => Get.isDarkMode ? Colors.white10 : Colors.grey.withOpacity(0.1);
|
|
|
|
// --- Shadows ---
|
|
static BoxShadow get softShadow => BoxShadow(
|
|
color: Colors.black.withOpacity(Get.isDarkMode ? 0.3 : 0.05),
|
|
blurRadius: 10,
|
|
offset: const Offset(0, 4),
|
|
);
|
|
|
|
// --- Gradients ---
|
|
static LinearGradient get balanceGradient => LinearGradient(
|
|
colors: Get.isDarkMode
|
|
? [const Color(0xFF1E1E2E), const Color(0xFF2A2A3E)]
|
|
: [const Color(0xFF0A0E21), const Color(0xFF1A237E)],
|
|
begin: Alignment.topLeft,
|
|
end: Alignment.bottomRight,
|
|
);
|
|
|
|
static const LinearGradient dangerGradient = LinearGradient(
|
|
colors: [Color(0xFFD50000), Color(0xFFFF5252)],
|
|
begin: Alignment.topLeft,
|
|
end: Alignment.bottomRight,
|
|
);
|
|
|
|
// --- Radius ---
|
|
static const double mainRadius = 16.0;
|
|
static const double cardRadius = 20.0;
|
|
static const double buttonRadius = 12.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: 18,
|
|
fontWeight: FontWeight.bold,
|
|
color: primaryDark,
|
|
);
|
|
|
|
static TextStyle get subHeadingStyle => TextStyle(
|
|
fontSize: 14,
|
|
color: textSecondary,
|
|
);
|
|
}
|